1.Nmap端口扫描,Curling仅开放80、22端口。

2.Web服务信息搜集,这是一个由Joomla构建的cms,管理页面在默认的administrator路径下,需要用户名和密码。首先对网站路径进行Fuzz,可以找个一个隐藏的文本文件secret.txt,内容是一个哈希值“Q3VybGluZzIwMTgh”,通过www.cmd5.com可以在线破译明文:Curling2018!,这很可能是Joomla的登录密码。
gobuster -u http://10.10.10.150 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt,htm

3.Joomla登录尝试,利用常规的admin等账号登录均失败。返回web页面重新寻找线索,可以发现,一篇日志的署名为floris。利用该账户可以成功登录Joomla后台。

4.Joomla后台上传shell,步骤如下图文分解:






5.在反弹的shell中可以看到user.txt但权限不够不能cat。要想办法切换到floris账户。在该路径下还存在password_backup文件,将该文件取回。

6.根据文件格式看,这是一个十六进制格式的文件输出,可以用xxd -r还原为原始文件,之后是一连串的解压操作,bzip2 到 gunzip 再到 bzip2 最后是 tar,完整解压后能获得password.txt,包含密码:5d<wdCbdZu)|hChXll

7.利用刚获得的密码ssh登录目标,拿下user.txt。随后上传pspy,可以发现一个计划任务每分钟运行一次,利用curl读取/home/floris/admin-area/input中的指令执行,并将结果写入/home/floris/admin-area/report 。

因此,我们可以利用这个脚本读取root flag。编辑/home/floris/admin-area/input:
echo "file:///root/root.txt" > /home/floris/admin-area/input
大约等待一分钟可以获取flag。

网友评论