Metasploit 无法与数据库配合使用

Metasploit 无法与数据库配合使用

我在我的 i386 笔记本电脑上运行 Arch Linux。

我从 AUR 全新安装了 ruby​​1.9 和 metasploit,现在遇到了一些奇怪的事情。

首先,它在启动 msfconsole 时不会加载任何模块。虽然loadpath /usr/share/metasploit/modules可以,但我仍然想知道它为什么不是自动的。

第二件事是,它无法与数据库正常配合使用。我已经安装了 PostgreSQL,启动了它,创建了一个超级用户角色和“msf”数据库。db_connect <username>@msf运行正常,db_status输出为[*] postgresql connected to msf。但是,db_rebuild_cache或任何其他与数据库相关的命令都会输出“数据库未连接”或类似消息。这个问题阻止我进一步使用 Metasploit。

我花了很大的功夫在 Google 上搜索,但找不到任何可以解决这个问题的方法。db.rb 文件中有以下代码:

  def cmd_db_rebuild_cache
        unless framework.db.active
            print_error("The database is not connected")
            return
        end

和这个:

    def cmd_db_status(*args)
        return if not db_check_driver
        if ::ActiveRecord::Base.connected?
            .......
            print_status("#{framework.db.driver} connected to #{cdb}"

因此,事实证明该连接确实存在,但它有点......不活跃。

任何关于此问题方面的帮助都将非常感激。

答案1

尝试在启动时连接数据库。查看此博客 [http://www.darkoperator.com/installing-metasploit-in-ubunt/]关于在 Ubuntu 上设置 Metasploit 的帖子,但它在很多方面应该与 Arch 非常相似。特别是将以下内容放在主目录的 ~/.msf4/database.yml 下:

production:
 adapter: postgresql
 database: msf
 username: msf
 password: 
 host: 127.0.0.1
 port: 5432
 pool: 75
 timeout: 5

显然,更改密码、数据库和用户名以适合您的设置。这应该使得数据库在 msfconsole 启动时加载。

这应该确保调用正确的函数来使缓存和一切正常工作。

答案2

尝试运行msf更新从 git 更新到最新的 metasploit 版本

相关内容