前言
这是一个中等难度的靶机,Web方面fuzz力度不够大,偷瞄了别人的walkthrough才做出来,提权方面则要细心,发现作者留下的线索。
利用过程
nmap扫了下,只开放了两个端口,22和80。
1 | nmap -p- -T 4 192.168.189.134 |
进去80的网页看到是一张小丑的壁纸,用dirb扫了下目录,发现了joomla CMS。版本比较新,前台没用爆出来公开漏洞。
1 | dirb http://192.168.189.134/ /usr/share/wordlists/dirb/big.txt -x /usr/share/wordlists/dirb/extensions_common.txt |
进后台使用自带的字典爆破admin和joker的弱口令,没爆出来。一筹莫展,遂瞄了下别人的walkthrough,原来是用利用主页生成的字典,爆破joomla用户的弱口令,这个是真的没想到。
1 | python pydictor.py -plug scratch http://192.168.189.134/joomla |
将生成的字典导入到burpsuite爆破,很快就爆破出密码为Gotham。
在网上搜索到了joomla编辑模板处能改php代码和上传文件,于是插入php一句话成功Getshell。
http://192.168.189.134/joomla/administrator/index.php?option=com_templates&view=templates
在templates/beez3/
目录下找到了webshell。
反弹一个shell到本机,用privilege-escalation-awesome-scripts-suite没扫出来东西,查看了joomla的配置文件,发现了msyql的登录密码。
要想在mysql界面正常交互,要运行以下命令弹一个正常的shell。
1 | python3 -c "import pty;pty.spawn('/bin/bash')" |
显示所有数据库发现还有个batjoke
库,里面的taskforce
表记录着几个用户的密码,其中rob是靶机其中一个用户。
1 | show databases; |
拿密码去base64解码,结果为???AllIHaveAreNegativeThoughts???
,用此密码通过ssh成功登录到rob用户。
1 | ssh [email protected] |
在rob用户home目录获得了第一个flag和一串密文。
看着密文的样子,以我水ctf的经验,首先就猜到了是古典密码的凯撒加密。
接着base64解码最后一行的base64,结果为I33hope99my0death000makes44more8cents00than0my0life0
。
用解码的结果切换到了abner用户,获得了第二个flag,并发现history
有点东西,解压了一个叫.dear_penguins.zip
压缩包。
用find命令找到了压缩包的位置,解压需要密码,爆破了一番也没爆破出来,最后用abner的登录密码就正确了。
内容的最后一行同样是另一个用户penguin的登录密码,不过这回不需要解码。
去到home目录下的SomeoneWhoHidesBehindAMask目录,看见了第三flag,并且发现了两个属于root的文件。
把pspy传上靶机,发现root用户通过定时任务定时运行目录下的.trash_old。
在文件里插入反弹shell,等一会儿成功提权。