第三章 Metasploit环境搭建:Kali Linux安装与配置、Metasploit版本选择、数据库配置(PostgreSQL)、工作区管理

说实话,搞嵌入式安全这么多年,我见过太多人一上来就急着跑 exploit,结果环境没搭好,连个 shell 都拿不到。嗯,这一章咱们就把地基打牢。环境搭好了,后面才能玩得转。

3.1 Kali Linux 安装与配置

Kali Linux 是渗透测试的标配系统。我个人习惯用虚拟机安装,方便快照,搞坏了也不怕。

安装要点:

  • 镜像选择: 去官网下载最新版,别用第三方改版。我遇到过有人用精简版,结果缺了一堆工具,排查半天。
  • 磁盘分区: 建议给 Kali 至少 60GB 空间。嵌入式固件分析时,解压出来的文件系统动不动就几个 G。
  • 网络配置: 桥接模式最灵活,能直接访问目标设备。NAT 模式也行,但有些设备在隔离网段,桥接更省事。
我的小技巧: 装完系统第一件事,运行 sudo apt update && sudo apt full-upgrade -y。别偷懒,旧版本 Metasploit 可能连新模块都加载不了。

3.2 Metasploit 版本选择

Metasploit 主要有两个版本:开源版(Framework)和商业版(Pro)。做嵌入式渗透,开源版完全够用。

版本 特点 适用场景
Metasploit Framework 免费、命令行、社区支持 嵌入式设备漏洞利用、固件逆向
Metasploit Pro 付费、Web 界面、自动化 企业内网渗透、报告生成

为什么我推荐 Framework?说白了,嵌入式设备千奇百怪,Pro 的自动化扫描经常误判。手动调 payload 才是常态。

版本确认: 装好后运行 msfconsole --version,看到类似 "Framework Version: 6.3.xx" 就对了。如果版本太老,记得用 msfupdate 更新。

3.3 数据库配置(PostgreSQL)

Metasploit 依赖 PostgreSQL 来存储扫描结果、漏洞信息和工作区数据。不配数据库也能用,但功能大打折扣。

配置步骤:

  1. 启动服务: sudo systemctl start postgresql
  2. 设置开机自启: sudo systemctl enable postgresql
  3. 创建数据库用户: sudo -u postgres createuser msf_user -P(密码建议用 msf_pass,好记)
  4. 创建数据库: sudo -u postgres createdb -O msf_user msf_database
  5. 初始化 Metasploit 数据库: msfdb init
避坑指南: 我曾经因为 PostgreSQL 版本不兼容,导致 Metasploit 启动报错。解决办法是检查 Kali 自带的 PostgreSQL 版本,用 psql --version 查看。如果低于 13,建议手动升级。

配置完成后,进入 msfconsole,输入 db_status 检查连接状态。看到 [*] postgresql connected to msf_database 就说明成功了。

3.4 工作区管理

工作区(Workspace)是 Metasploit 用来隔离不同项目数据的机制。做嵌入式渗透时,我习惯每个设备型号建一个工作区,避免数据混乱。

常用命令:

  • workspace -a router_tplink:新建工作区
  • workspace router_tplink:切换到指定工作区
  • workspace -l:列出所有工作区
  • workspace -d router_tplink:删除工作区

我的经验: 工作区命名最好带上设备型号和固件版本,比如 tplink_wr841n_v12。这样几个月后回来看,还能一眼知道当时在搞什么。

你想想看,如果所有扫描结果都混在一起,找一条关键漏洞信息得翻半天。工作区就是帮你理清思路的。

3.5 知识体系总览

下面这张图是我自己画的,把本章的核心逻辑串起来了。你看一眼就能明白,环境搭建不是孤立步骤,而是一条完整的链路。

Metasploit 环境搭建核心链路 Kali Linux 基础操作系统 Metasploit Framework 或 Pro PostgreSQL 数据存储引擎 工作区 项目隔离 安装顺序:Kali → Metasploit → PostgreSQL → 工作区 💡 关键检查点 1. msfconsole 能正常启动 2. db_status 显示数据库已连接 3. workspace -l 能列出工作区

这张图从左到右,就是咱们搭建环境的完整流程。每一步都踩实了,后面搞嵌入式漏洞利用才能顺手。

3.6 验证环境

装完别急着走,跑个简单测试验证一下:

# 启动 msfconsole
msfconsole

# 检查数据库连接
db_status

# 创建一个测试工作区
workspace -a test_workspace

# 导入一个测试模块(比如永恒之蓝扫描器)
use auxiliary/scanner/smb/smb_ms17_010

# 查看模块信息
info

如果每一步都没报错,恭喜你,环境搭好了。我记得第一次配环境时,卡在 PostgreSQL 连接上整整一下午。后来发现是配置文件里端口写错了。嗯,细节决定成败。

最终检查清单:

  • ☐ Kali Linux 能正常联网
  • ☐ Metasploit 版本 ≥ 6.0
  • ☐ PostgreSQL 服务运行中
  • ☐ msfconsole 内 db_status 显示已连接
  • ☐ 至少有一个工作区可用

环境搭好只是第一步。下一章咱们就要真刀真枪地干了——用 Metasploit 扫描嵌入式设备的开放端口和服务。准备好了吗?


专注资料整理