前言
由於kali linux的版本不同,默認情況下對metasploit和postgresql的配置也不相同,導致我們啟動metasploit后連接postgresql數據庫會遇到無法連接的情況。下面就三種情況,簡單的給大家描述一下,以及遇到問題的解決方案。
理想狀態
理想情況下,只需要兩步即可。
- 啟動postgresql
service postgresql start
- 啟動mestasploit
service metasploit start
在metasploit中輸入db_status查看數據庫連接狀態,為已連接。
手動連接
當啟動metasploit后,發現並沒有自動連接postgresql數據庫時,需要手動連接。
連接的命令為 db_connect 用戶名:密碼@ip/數據庫名。實際情況可能是:
msf>db_connect msf3:toor@localhost/msf3
那么到哪里去找用戶名和密碼呢?
打開這個文件:/opt/metasploit/apps/pro/ui/config/database.yml。
文件內容可能如下:
development:
adapter: postgresql
database: "msf3"
username: "msf3"
password: "zFhyomTtRt4P8ZF868KUyhmKvqQkvjE"
host: localhost
port: 5432
pool: 5
timeout: 5
在上面示例的配置文件中我們能看到數據庫名稱,用戶名和密碼,把這幾個選項替換到上面的db_connect命令中就可以了。
從零開始
如果你的運氣確實不佳的話,發現連database.yml文件都找不到的話,千萬不要灰心,老天想讓你多學點東西而已。
首先打開終端,確保postgresql服務已經啟動,然后切換當前賬戶到postgre賬戶。
su postgres
第二步,輸入如下命令創建一個postgresql數據庫賬戶。
create user msf3 –P
命令中的msf3就是要創建的用戶,當然你可以輸入任何其他用戶名。
接着,終端中會提示你輸入密碼,然后確認密碼,這里我設置密碼為“msf”。
然后詢問你該賬戶的權限,輸入y或者n都無所謂。
第三步,創建數據庫。
createdb --owner=msf3 msf3
owner參數指定數據庫的所有者,這里為msf3,最后一個參數為數據庫名稱,這里也設置為msf3。
第四部,輸入exit退出當前用戶,回到root上下文中。回到手動連接的步驟
root@kali: msfconsole
msf > db_connect msf3:msf@localhost/msf3
恭喜你,成功了。如果還有其他問題,歡迎在QQ群中找我,共同交流。
ps:對此文章感興趣的讀者,可以加qq群:Hacking:303242737(已滿);Hacking-2群:147098303;Hacking-3群:31371755;hacking-4群:201891680;Hacking-5群:316885176
作者:玄魂
出處:http://www.cnblogs.com/xuanhun/
原文鏈接:http://www.cnblogs.com/xuanhun/ 更多內容,請訪問我的個人站點 對編程,安全感興趣的,加qq群:hacking-1群:303242737,hacking-2群:147098303,nw.js,electron交流群 313717550。
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
