安装了 Metasploit 但它不起作用!

安装了 Metasploit 但它不起作用!

我已经部分成功安装了 Metasploit 框架,但是当我尝试运行 Metasploit 控制台(msfconsole)时,它返回错误:

/usr/local/bin/msfconsole:23:in `require': no such file to load -- /usr/local
/bin/config/boot (LoadError) from /usr/local/bin/msfconsole:23

我已经尝试修复这个问题,并在网上搜索了好几天,但都没有成功。这开始变得非常令人沮丧。

答案1

他们打破了 Ruby 的现代版本提交 149c3ecc63bfe8bb261b47ccc783cd9f728692e5我的理解是,这与 ruby​​ 处理其路径和加载要求的方式的变化有关。

这是一个快速而肮脏的破解方法,直到他们在上游修复它:

diff --git a/msfconsole b/msfconsole
index 9dee479..c3769bb 100755
--- a/msfconsole
+++ b/msfconsole
@@ -20,7 +20,8 @@ require 'pathname'
 #

 # @see https://github.com/rails/rails/blob/v3.2.17/railties/lib/rails/generators/rails/app/templates/script/rails#L3-L5
-require Pathname.new(__FILE__).expand_path.parent.join('config', 'boot')
+#require Pathname.new(__FILE__).expand_path.parent.join('config', 'boot')
+require_relative 'config/boot'
 require 'metasploit/framework/command/console'

 Metasploit::Framework::Command::Console.start

答案2

由有问题的 OP 回答。

这与 ruby​​ 无关。我打开了 msfconsole 文件,发现有一个无效的“require”路径。

答案3

我重新安装了 Ubuntu 12.04 和 Metasploit,并确保只有一个 ruby​​ 版本 (ruby-core)。我启动了它,它运行得很好。

相关内容