2

我在 /opt/metasploit 的 ubuntu 14.04(LTS) 中安装了 metasploit v4。我也安装了 postgresql。我对 metasploit 和 postgresql 很陌生。我启动了metasploit,但是无法连接数据库,所以我更改了这个文件/opt/metasploit/apps/pro/ui/config/database.yml,我只是将密码更改为“testtest”,文件内容是:

development:
     adapter: "postgresql"
     database: "msf3"
     username: "msf3"
     password: "testtest"
     port: 7337
     host: "localhost"
     pool: 256
     timeout: 5

  production:
    adapter: "postgresql"
    database: "msf3"
    username: "msf3"
    password: "testtest"
    port: 7337
    host: "localhost"
    pool: 256
    timeout: 5

所以我这样做:

service postgresql restart
service metasploit restart

并且那些成功执行。我运行“msfconsole”,然后得到“msf>”,我运行这个:

msf> db_connect msf3:testtest@127.0.0.1/msf3
msf> db_stats
[*] postgresql selected, no connection

我不知道会发生什么,所以我再次运行 msfconsole,我得到了这个:

[-] Failed to connect to the database: FATAL:  password authentication failed for user "msf3"

我可以使用 postgres 创建新用户和数据库,然后使用 db_connect 进行连接。但每次,我都必须再次运行 db_connect。所以我认为 metasploit 默认使用 msf3 作为用户和数据库。我想连接到 msf3。我应该怎么办?

4

6 回答 6

12

在 Kali Rolling 2016.2 上有同样的错误打开终端并输入:

msfdb delete
msfdb init
msfconsole

简而言之,您需要由 msf 重新创建 msf 使用的 db。

于 2016-10-16T20:41:49.017 回答
3
sudo /opt/metasploit/postgresql/scripts/ctl.sh start postgresql

这将使用 metasploit 4.14.8启动postgresql服务器。

于 2017-04-09T03:14:10.473 回答
0

您应该尝试在db_connect没有任何选项的情况下运行。

也可能是您需要获取密码的散列值并将其作为密码参数传递。这就是您在使用msfrpcapi 模块时必须传递密码的方式。

于 2016-09-12T12:19:04.563 回答
0

您可以像这样直接将文件传递给 db_connect:

db_connect -y /usr/share/metasploit-framework/config/database.yml
于 2018-06-12T11:49:06.947 回答
0

我知道这是旧线程,但我找到了适合我的不同解决方案。我检查了postgresql.conf存储,/Users/*YourUserName/.msf4/db默认端口配置为 54 33 bu Metasploit 的 Web 服务在 54 43上运行。所以我编辑了配置,现在它对我有用!希望对某人有所帮助。

于 2019-10-18T06:14:19.297 回答
-1

试试这个它对我有用:

 >  msfdb delete

    >  msfdb init

    >  msfconsole

关于kali2017.2

于 2017-12-20T18:07:10.283 回答