簡述
? 由于Kali Linux網絡服務策略,Kali將不會自啟動的網絡服務,數(shù)據(jù)庫服務包括在內.所以為了Metasploit以支持數(shù)據(jù)庫的方式啟動,需要運行一些必要的步驟.

官網文檔
步驟
1. 啟動PostgreSQL服務
? 因為Metasploit 使用PostgreSQL作為數(shù)據(jù)庫,所以必須先啟PostgreSQL服務。
? 在命令行下輸入下面命令:
service postgresql start
? 執(zhí)行成功后,可以通過ss -ant命令查看端口5432是否在偵聽,去驗證PostgreSQL服務是否成功開啟。
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ù)庫
? PostgreSQL運行后,我們需要去新建以及初始化msf數(shù)據(jù)庫。
msfdb init
3. 啟動Metasploit
? PostgreSQL服務已經啟動了,并且數(shù)據(jù)庫也已經初始化了,現(xiàn)在可以啟動msfconsole然后使用命令db_status去驗證數(shù)據(jù)庫是否成功連接。
msfconsole
msf > db_status
[*] postgresql connected to msf
msf >
4. 驗證
? 到這里,數(shù)據(jù)已經連接上了,但是我們使用search命令依然會提示使用慢搜索。
我們以ms08-067為例:
msf > search ms08-067
[!] Module database cache not built yet, using slow search
? 提示這個信息,其實Metasploit已經連接上數(shù)據(jù)庫,但是沒有建立數(shù)據(jù)庫緩存。
5. 重新構建數(shù)據(jù)庫緩存
? 這時,需要重新構建數(shù)據(jù)庫緩存,在msf提示符下執(zhí)行以下命令:
msf > db_rebuild_cache
[*] Purging and rebuilding the module cache In the background..
? 構建緩存會在后臺運行,稍等幾分鐘后,重啟msf控制臺,即可使用搜索模塊了。
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. 設置PostgreSQL服務開機自啟
? 使用命令update-rc.d postgresql enable將PostgreSQL服務添加至開機啟動項中,
這樣就不用每次使用msf都要開啟和PostgreSQL服務了。