Hack The Box Curling WriteUp

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

nmap

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
/secret.txt

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

4.Joomla后台上传shell,步骤如下图文分解:
进入Templates页面

点击右上角Options

启用预览功能并允许上传php后缀的图片格式

在Permissions页面赋予全部权限并保存

返回Templates页面,并编译一套模板的文件

编辑index页面,贴入webshell,执行预览就可以获得一个反弹

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 。
pspy

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

推荐阅读更多精彩内容

  • 1. 使用Hostname和IP地址来扫描系统 Nmap工具提供丰富的方法来扫描一个系统。在这个例子中,我将演示一...
    喵了个咪0阅读 667评论 0 2
  • Nmap扫描原理与用法 1Nmap介绍 Nmap扫描原理与用法PDF:下载地址 Nmap是一款开源免费的网络发现(...
    y0ungta1a阅读 4,195评论 0 50
  • Nmap是一款强大的网络扫描工具,可扫描网段内主机的port、服务、service,支持多种协议、多种扫描方式的工...
    董春磊阅读 4,023评论 0 2
  • A面——金蝉子 当年我问你大圣此去欲何,你说踏南天,碎凌霄。 逞志纵勇,目上无尘,凭的是一身变化神通。 后来我问你...
    君不故阅读 70评论 0 1
  • “天呐,这也太无敌了吧!”毫不夸张地说,看过第一眼,我就被它彻底迷住了,这点我很乐意承认。 哈哈,让我来告诉你吧,...
    青年乌鸦阅读 152评论 0 0