打靶记录(三一)之VulnhubMOMENTUM2
主机发现
sudo nmap -sn 192.168.162.0/24 |
端口扫描
Web
每个目录都看一下,dashboard.html页面可以文件上传,并且调用了main.js文件,可以看一下上传逻辑源码
随便传张图片提示没有被上传,看main.js也分析不出什么东西,也许上传逻辑在ajax.php中而不在main.js。看了下WP,原来还有个ajax.php.bak的备份文件可以被目录爆破出来。下载.bak文件,大致的意思是我们要有管理员的cookie的话就可以上传php文件了否则只能上传txt,还需要有一个值为val1d(不是valid啊)的secure的表单字段,并且上传成功会返回1。试着上传一个php反弹shell。
Getshell
先用python生成大写字母的字典
import string |
用bp来爆破cookie的最后一个字母,然后添加secure表单字段和分割线
最后得到R是最后一个字母,然后可以自然地发现我们的文件上传到/owls目录下了,开启监听,触发shell,成功接收到shell
python3 -c "import pty;pty.spawn('/bin/bash')" |
提升交互性。
发现有一个叫athena的用户,在家目录中还有一个team-task但是用处不是很大。
进入athena的家目录,可以查看密码文件,把最后换成星号
密码myvulnerableapp*
提权
sudo -l可以以root权限执行那个py文件,第一想法是库劫持。导入了random库,那就劫持这个吧。
在/home/team-tasks目录创建一个random.py,来开启一个bash
import os |
发现shell的交互性还不是很好,编辑器里面各种错误。那就用echo
echo 'import os'>random.py |
然而发现这个目录是root所有的没有权限,那试着直接改源文件
find / -name "ramdom.py" 2>/dev/null |
但是发现源文件那边的目录也全是root权限,那没办法劫持了,只好回到脚本本身看看有没有利用的点,似乎是一个让我们输入seed来生成cookie的脚本,然后可把输入的seed当成命令来执行。尝试着运行脚本时输入/bin/bash,但是什么都没有发生。
当我把sedd换成
cd /tmp;echo "1">1.txt |
发现在/tmp目录确实有1.txt,说明命令是有存在的。那也许不行用直接生成bash的形式来提权,那就通过添加SUID的方式来
但是当我输入cp /bin/bash /tmp/bash ; chmod +s /tmp/bash时,提示目录不存在。。。
那就分两次输入:
1; cp /bin/bash /tmp/bash
1;chmod +s /tmp/bash
然后/tmp/bash -p ,提权成功
碎碎念
中等难度的靶机,上传那边还是挺有趣的,果然目录扫描如果不全的话就寄了。