HTB-Pilgrimage
- 信息收集
- 80端口
- 立足
- emily -> root
信息收集
80端口
扫描目录发现存在.git
。
通过scrabble获取网站的git文件。
有如下这些文件。
在index.php中使用了magick来处理图像。
正好我们靠git弄了一个,查看一下版本。
这个版本似乎有些不得了的东西。
我们需要先下一个cargo,然后使用cargo run "/etc/passwd"
会生存一个image.png文件。
然后上传这个文件。
再把它下载下来。
使用 identify -verbose ~/Downloads/649d95d90cfa2.png
查看结果。如果存在/etc/passwd那么结果会有一大堆字符。
python3 -c "print(bytes.fromhex('')"
处理一下就变成这样了。
立足
这有一个数据库。
这开头是SQLite。
这使用010来操作。
将处理好的字符串复制后并在010中选择从Hex文本粘贴。
emily -> root
使用ps auxwww发现存在一个有趣的东西。
内容如下。
先说大致意思吧。
#!/bin/bashblacklist=("Executable script" "Microsoft executable") #黑名单/usr/bin/inotifywait -m -e create /var/www/pilgrimage.htb/shrunk/ | while read FILE; do
#inotifywait 监视/var/www/pilgrimage.htb/shrunk/如果存在create则将新建的文件名(绝对路径)给FILEfilename="/var/www/pilgrimage.htb/shrunk/$(/usr/bin/echo "$FILE" | /usr/bin/tail -n 1 | /usr/bin/sed -n -e 's/^.*CREATE //p')"#将绝对路径处理好给filenamebinout="$(/usr/local/bin/binwalk -e "$filename")"#使用binwalk来查看文件扩展for banned in "${blacklist[@]}"; doif [[ "$binout" == *"$banned"* ]]; then/usr/bin/rm "$filename"#如果文件扩展在黑名单内,就会执行rm删除文件。breakfidone
done
首先可能会想到修改文件名来尝试执行命令,不过我试了几次失败了。
但是这个脚本使用了/usr/bin/inotifywait
和/usr/local/bin/binwalk
。其中可以知道binwalk的版本。
使用如下
随后会在当前目录生成一个binwalk_exploit.png
。将其改名或直接wget到/var/www/pilgrimage.htb/shrunk
目录即可获得反弹。