簡(jiǎn)述
? 由于Kali Linux網(wǎng)絡(luò)服務(wù)策略,Kali將不會(huì)自啟動(dòng)的網(wǎng)絡(luò)服務(wù),數(shù)據(jù)庫(kù)服務(wù)包括在內(nèi).所以為了Metasploit以支持?jǐn)?shù)據(jù)庫(kù)的方式啟動(dòng),需要運(yùn)行一些必要的步驟.

官網(wǎng)文檔
步驟
1. 啟動(dòng)PostgreSQL服務(wù)
? 因?yàn)镸etasploit 使用PostgreSQL作為數(shù)據(jù)庫(kù),所以必須先啟PostgreSQL服務(wù)。
? 在命令行下輸入下面命令:
service postgresql start
? 執(zhí)行成功后,可以通過(guò)ss -ant命令查看端口5432是否在偵聽(tīng),去驗(yàn)證PostgreSQL服務(wù)是否成功開啟。
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 :::22 :::*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 127.0.0.1:5432 *:*
LISTEN 0 128 ::1:5432 :::*
2. 初始化Metasploit數(shù)據(jù)庫(kù)
? PostgreSQL運(yùn)行后,我們需要去新建以及初始化msf數(shù)據(jù)庫(kù)。
msfdb init
3. 啟動(dòng)Metasploit
? PostgreSQL服務(wù)已經(jīng)啟動(dòng)了,并且數(shù)據(jù)庫(kù)也已經(jīng)初始化了,現(xiàn)在可以啟動(dòng)msfconsole然后使用命令db_status去驗(yàn)證數(shù)據(jù)庫(kù)是否成功連接。
msfconsole
msf > db_status
[*] postgresql connected to msf
msf >
4. 驗(yàn)證
? 到這里,數(shù)據(jù)已經(jīng)連接上了,但是我們使用search命令依然會(huì)提示使用慢搜索。
我們以ms08-067為例:
msf > search ms08-067
[!] Module database cache not built yet, using slow search
? 提示這個(gè)信息,其實(shí)Metasploit已經(jīng)連接上數(shù)據(jù)庫(kù),但是沒(méi)有建立數(shù)據(jù)庫(kù)緩存。
5. 重新構(gòu)建數(shù)據(jù)庫(kù)緩存
? 這時(shí),需要重新構(gòu)建數(shù)據(jù)庫(kù)緩存,在msf提示符下執(zhí)行以下命令:
msf > db_rebuild_cache
[*] Purging and rebuilding the module cache In the background..
? 構(gòu)建緩存會(huì)在后臺(tái)運(yùn)行,稍等幾分鐘后,重啟msf控制臺(tái),即可使用搜索模塊了。
msf > search ms08-067
Matching Modules
================
Name Disclosure Date Rank Description
---- --------------- ---- -----------
exploit/windows/smb/ms08_067_netapi 2008-10-28 great MS08-067 Microsoft Server Service Relative Path Stack Corruption
6. 設(shè)置PostgreSQL服務(wù)開機(jī)自啟
? 使用命令update-rc.d postgresql enable將PostgreSQL服務(wù)添加至開機(jī)啟動(dòng)項(xiàng)中,
這樣就不用每次使用msf都要開啟和PostgreSQL服務(wù)了。