-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支持的輸出格式列表
比如想查看windows/meterpreter/reverse_tcp
支持什么平台、哪些選項,可以使用
msfvenom -p windows/meterpreter/reverse_tcp --list-options
使用msfvenom --list payloads
可查看所有payloads
使用msfvenom --list encoders
可查看所有編碼器
可以看到評級最高的兩個encoder為cmd/powershell_base64
和x86/shikata_ga_nai
,其中x86/shikata_ga_nai
也是免殺中使用頻率最高的一個編碼器了。
類似可用msfvenom --list
命令查看的還有payloads, encoders, nops, platforms, archs, encrypt, formats
。