在内网中拿下DC的五种常用方法
字数 1422 2025-08-27 12:33:48
内网中拿下域控制器的五种常用方法
前言
本文总结了在内网渗透测试中获取域控制器(Domain Controller, DC)权限的五种常用技术手段,这些方法在实际渗透测试和红队行动中已被证明有效。
1. Netbios和LLMNR名称中毒
基本原理
- Netbios/LLMNR协议在名称解析时存在缺陷,可被用于中间人攻击
- 攻击者可以伪造响应,诱使客户端向攻击者发送NTLM认证信息
常用工具
-
Responder
- 由Laurent Gaffie维护
- 监听并响应LLMNR/mDNS/NBNS请求
- 抓取NTLMv1/NTLMv2身份验证数据包
-
Inveigh
- 基于Unix/Linux的Python版本Responder
- 可在原生Windows上运行
- 核心是.NET数据包嗅探器
破解方法
- 使用hate_crack等高级框架进行暴力破解
- 常用字典:uniqpass
- 常用hashcat规则集:best64
- 注意:复杂密码可能难以破解
2. 重放攻击
SMB重放攻击
工具:smbrelayx.py (Impacket工具集)
- 接收目标列表,对每个连接尝试重放凭证
- 可设置本地SMB服务器功能,伪造共享文件
- 防御方法:强制服务器进行SPN检查或检查签名
NTLM重放攻击
工具:ntlmrelayx.py
- 利用NTLM challenge-response协议的弱点
- 攻击流程:
- 客户端发送用户信息请求
- 服务器生成Challenge并发送给客户端
- 客户端用NTLM Hash加密Challenge生成Response
- 服务器验证Response
利用技巧:
- 创建非SMB签名主机的目标列表
- 优先攻击SQL服务器(常与DC共享本地管理员密码)
- 默认会运行secretsdumps,生成IP_samhashes文件
- 成功后可用wmiexec.py进行pass-the-hash攻击
3. MS17-010 (永恒之蓝)
检测方法
nmap -Pn -p445 --open --max-hostgroup 3 --script smb-vuln-ms17-010 <ip_netblock>
特点
- 内网环境下容易利用
- 通过445端口攻击
- 具体利用效果取决于目标环境
4. Kerberoasting
攻击原理
- 利用老版Windows客户端的Active Directory支持
- 攻击服务账户的Kerberos票据
- 当域账户配置为运行服务(如MSSQL)时,使用SPN将服务与登录账户关联
攻击步骤
- 获取服务票据
- 离线破解服务账户的密码
示例工具
./GetUserSPNs.py -dc-ip 192.168.168.10 sittingduck.info/notanadmin
5. mitm6攻击
基本原理
- 利用Windows默认配置接管默认DNS服务器
- 通过响应DHCPv6消息,为受害者提供链路本地IPv6地址
- 将攻击者主机设置为默认DNS服务器
组合攻击
- 通常与ntlmrelayx配合使用
- 欺骗DNS服务器,使受害者连接到ntlmrelayx
- 进行HTTP和SMB连接
使用参数
-6:使ntlmrelayx在IPv4和IPv6上监听-wh HOSTNAME:指定要欺骗的WPAD主机名-wa N:尝试提示WPAD文件本身认证(针对未打MS16-077补丁的系统)
防御建议
- 禁用Netbios和LLMNR协议
- 强制SMB签名
- 及时安装MS17-010等关键补丁
- 加强服务账户密码复杂度
- 更新WPAD相关补丁(MS16-077)
- 监控异常DNS和DHCPv6活动