為什么要在Metasploit里提及到數據庫?
大家都知道,這么多信息,我怎樣才能把它們整理好並保存起來?怎么展現給老大看,最后怎么體現在要提交的滲透測試報告中呢?
你的擔憂真的很有必要,因為啊,在滲透測試中無論是你孤身一人還是團隊作戰,都應該要將每個步驟獲取的信息都很好地保存下來,需要在后續工作中參考這些數據,還可能與隊友分析它們,而且在最后的撰寫滲透測試報告時也離不開它們。
如果你在信息搜集過程中完整記錄每一步操作的結果,並按照邏輯清晰地分類並將它們保存下來,那么滲透測試小組中有其他經驗的成員能夠在你工作的基礎上順利地將工作繼續下去;相反,如果沒有很好地記錄這些信息,那么后續的工作可能會一團糟。
Metasploit為你考慮到這一點,它支持使用數據庫來保存滲透測試過程中獲取的各種數據,我們吧這個數據庫稱為滲透測試信息數據庫。在最新的Metasploit v4中,提供了多種工具的數據庫集成方案和數據導入接口,可以方便地使用這些功能將信息搜集的結果保存在Metasploit的數據庫中。
Kali linux 2016.2(Rolling)里Nmap與Metasploit
Nmap能夠很好地與Metasploit滲透測試數據庫集成在一起,可以方便地在Metasploit終端中使用db_nmap,如:
msf > db_nmap -Pn -sV 202.193.58.13/24
該命令是Nmap的一個封裝,與Nmap使用方法完全一致,不同的是其執行結果將自動輸入到數據庫中。
也可以將Nmap掃描結果導出為一個輸出文件,並導入到Metasploit的滲透測試數據庫中。使用方法很簡單,只需要在Nmap命令中加入-ox參數,
如:
root@kali > db_nmap -Pn -sV -oX dmz 202.193.58.13/24
掃描結束后,在當前目錄下將生成名稱為dmz的掃描結果文件,可以在MSF終端中使用db_import命令將掃描結果導入數據庫中。如下所示
root@kali > db_import /root/dmz
1、使用Metasploit的數據庫的優勢
使用滲透測試信息數據庫比其他記錄方式具備有以下兩種好處:
2、Metasploit的數據庫的支持
3、在Metasploit中使用PostgreSQL
如果出現如下所示的輸出消息,則說明數據庫連接是正常的。
root@kali:~# msfconsole ..... msf > db_status [*] postgresql connected to msf
如果出現如下的錯誤信息,請見我另一篇博客。
Kali linux2.0里Metasploit的postgresql selected, no connection問題解決
易混淆
:
(kali linux 2016.2的metasploit-framework就是有些資料文檔上寫的metasploit)


易混淆
:
(kali linux 2016.2的metasploit-framework的db_connect和有些資料文檔上寫的db_connect的啟動是不一樣的)
比如,下面的這些
這里,用戶名請填寫,比如在/usr/share/metasploit-framework/properties.ini中查找。輸入db_connect命令連接到數據庫。
比如,是如下。
因為,對於比如BT5這樣的系統里Metaspolit連接db_connect的話,還需要上面操作這么麻煩。
http://zhpfbk.blog.51cto.com/4757027/1564598 (BT5這樣的系統里Metaspolit連接db_connect)
但是呢,在kali linux里,直接啟動msfconsole就好,自動會連接上了。(多么方便啊!)
連接到數據庫后,可以使用host命令檢查數據庫是否可以正常使用。
msf > hosts Hosts ===== address mac name os_name os_flavor os_sp purpose info comments ------- --- ---- ------- --------- ----- ------- ---- -------- 202.193.58.7 84:ad:58:82:49:5c 202.193.58.9 20:76:93:3b:40:24 Linux 10.04 server 202.193.58.11 84:ad:58:82:49:5c Linux 10.04 server 202.193.58.12 84:ad:58:82:49:5c 202.193.58.13 84:ad:58:82:49:5c Unknown device 202.193.58.14 84:ad:58:82:49:5c Linux 10.04 server 202.193.58.19 cc:34:29:2c:85:33 202.193.58.20 ec:a8:6b:a4:aa:ce 202.193.58.23 e0:aa:c8:de:63:51 202.193.58.26 88:ae:1d:df:a1:22 202.193.58.33 84:ad:58:82:49:5c Linux server 202.193.58.47 8c:21:0a:3e:0a:55 202.193.58.48 60:45:cb:6b:bf:6a 202.193.58.53 74:d0:2b:94:c4:76 202.193.58.55 84:ad:58:82:49:5c Unknown device 202.193.58.58 28:d2:44:98:02:3d 202.193.58.60 1c:7e:e5:58:ea:e9 202.193.58.69 dc:0e:a1:6a:96:9b 202.193.58.73 ec:a8:6b:a4:aa:e0 202.193.58.76 80:89:17:2d:99:93 202.193.58.82 f0:76:1c:a5:e0:0f 202.193.58.83 00:18:7d:8e:ed:5e 202.193.58.85 08:9e:01:de:8f:f6 202.193.58.98 00:0b:ab:79:c8:cb 202.193.58.109 f4:8e:38:ea:1e:af 202.193.58.111 a8:57:4e:39:a8:d9 202.193.58.148 74:d4:35:6e:25:76 202.193.58.155 00:30:18:aa:a3:6d 202.193.58.162 cc:81:da:22:07:28 202.193.58.165 c8:3a:35:0a:80:90 202.193.58.171 38:d5:47:c8:dc:e4 202.193.58.179 fc:d7:33:d6:14:a5 202.193.58.180 78:2b:cb:ef:7b:85 202.193.58.197 f0:b4:29:83:04:05 202.193.58.208 88:25:93:7c:38:5b 202.193.58.215 fc:4d:d4:d4:bf:4e 202.193.58.220 c4:34:6b:4b:a1:2b 202.193.58.224 b8:ae:ed:d5:77:d5 202.193.58.230 ec:a8:6b:a4:ab:33 202.193.58.231 f4:8e:38:ef:50:dd 202.193.58.236 00:23:24:7c:39:f7 202.193.58.242 e0:3f:49:a5:c9:63 202.193.59.254 00:1a:a9:16:15:35 msf >
大家,也可以使用db_disconnect命令斷開與數據庫的連接:
msf > db_disconnect