☰
Lampiao靶机渗透实战:从Drupal漏洞到内核提权
2026/11/4 3:17:59 网站建设 项目流程

1. 项目概述

Lampiao是Vulnhub平台上发布的一款基于Linux的渗透测试靶机,模拟了一个存在多个漏洞的Web服务器环境。这个靶机系统以葡萄牙语命名(意为"油灯"),其设计灵感来源于巴西的LAMP(Linux+Apache+MySQL+PHP)服务器常见配置漏洞。

作为安全研究人员和CTF爱好者,我花了三天时间完整攻克了这个靶机。整个过程涉及信息收集、漏洞利用、权限提升等多个阶段,最终成功获取root权限。下面我将详细拆解整个渗透过程的关键技术点和实战心得。

2. 环境准备与信息收集

2.1 靶机环境配置

首先需要将下载的OVA文件导入VirtualBox或VMware:

  • 网络模式建议选择Host-only或NAT
  • 内存分配1GB即可流畅运行
  • 系统启动后会自动获取IP地址

注意:实际测试发现该靶机有时会占用80和3306端口,建议关闭宿主机的相关服务避免冲突

2.2 基础信息枚举

使用nmap进行基础扫描:

nmap -sV -p- 192.168.1.105

关键发现:

  • 开放端口:80(Apache)、1898(自定义端口)
  • Web服务器:Apache/2.4.7
  • 操作系统:Ubuntu 14.04

2.3 Web应用分析

访问1898端口发现Drupal 7 CMS:

  • 版本确认:通过CHANGELOG.txt确认是Drupal 7.54
  • 插件检测:使用droopescan扫描发现多个过时插件
  • 用户枚举:通过/user/1确认admin用户存在

3. 漏洞利用过程

3.1 Drupalgeddon2漏洞利用

Drupal 7.54存在著名的RCE漏洞(CVE-2018-7600):

python3 drupalgeddon2.py http://192.168.1.105:1898

成功获取www-data权限的shell后:

  1. 升级为交互式shell:python -c 'import pty; pty.spawn("/bin/bash")'
  2. 查看当前用户权限:id
  3. 建立持久连接:nc -lvnp 4444

3.2 横向移动技巧

在/var/www/html目录发现数据库凭据:

$db_url = 'mysql://drupaluser:Virgulino@localhost/drupal';

使用mysql客户端连接后获取:

  • 用户密码哈希值
  • 敏感配置信息
  • 自定义模块代码

3.3 内核提权路径

通过uname -a发现内核版本:Linux lampiao 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64

适用的提权方法:

  1. 脏牛漏洞(CVE-2016-5195)
  2. overlayfs漏洞(CVE-2015-8660)

最终采用dirtycow的可靠利用:

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

4. 技术要点深度解析

4.1 Drupal漏洞链分析

该靶机精心设计了漏洞链:

  1. 前端注入 → 2. 中间件RCE → 3. 数据库凭证泄露 → 4. 内核提权

每个环节都体现了真实环境中常见的配置错误:

  • 未及时打补丁的CMS
  • 默认凭证未修改
  • 敏感文件权限不当
  • 过期的内核版本

4.2 葡萄牙语环境下的特殊发现

靶机中有几个葡萄牙语线索:

  • /home/tiago目录下的笔记文件
  • MySQL中的葡语内容
  • Web页面的文化元素提示

这对非葡语使用者是个挑战,建议:

  • 使用Google翻译API实时翻译
  • 关注代码中的字符串而非自然语言
  • 记住常见命令的葡语变体

5. 防御建议与加固方案

5.1 针对已发现漏洞的修复

  1. Drupal方面:

    • 升级到最新安全版本
    • 删除不必要的插件
    • 限制文件上传类型
  2. 系统层面:

    • 更新内核到安全版本
    • 配置适当的sudo权限
    • 启用SELinux/AppArmor

5.2 安全监控建议

  1. 日志监控重点:

    • /var/log/apache2/error.log
    • /var/log/auth.log
    • MySQL的慢查询日志
  2. 入侵检测指标:

    • 异常的PHP文件创建
    • passwd文件修改
    • 非常规端口连接

6. 常见问题与解决记录

6.1 网络连接问题

症状:靶机无法获取IP地址 解决方法:

  1. 检查VirtualBox的DHCP服务
  2. 手动设置静态IP:
    ifconfig eth0 192.168.56.105 netmask 255.255.255.0 route add default gw 192.168.56.1

6.2 漏洞利用失败处理

Drupalgeddon2执行无响应时:

  1. 检查Python版本(需3.x)
  2. 验证网络连通性
  3. 尝试其他利用脚本:
    msfconsole use exploit/unix/webapp/drupal_drupalgeddon2 set RHOSTS 192.168.1.105 set RPORT 1898 exploit

7. 扩展学习资源

  1. 类似难度靶机推荐:

    • Vulnhub: Kioptrix系列
    • HackTheBox: Lame, Legacy
    • OverTheWire: Natas
  2. 技术深化方向:

    • Drupal安全白皮书
    • Linux内核漏洞利用开发
    • 葡萄牙语基础安全术语
  3. 工具进阶使用:

    • Metasploit模块开发
    • Nmap脚本编写
    • 自定义Shellcode制作

这个靶机最让我印象深刻的是它模拟了真实环境中常见的漏洞组合,从Web应用到系统内核形成了完整的攻击链。在实际渗透过程中,建议做好每个阶段的详细记录,这对后续的漏洞分析和防御方案制定都很有帮助。

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

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

立即咨询