Metasploit не запускается: решение проблемы с /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/wicked-0.5.0/app/controllers/wicked/wizard_controller.rb:5:in `’: uninitialized constant ApplicationController (NameError)

Metasploit не запускается из-за ошибки

За последнее время Metasploit часто обновлялся. И это не прошло бесследно — они его таки сломали. Теперь он перестал запускаться — вылетает при старте.

Полюбоваться на жалобы на эту проблему можно на оф. форуме Kali, баг трекере Kali и других авторитетных ресурсах. Например:

  • https://forums.kali.org/showthread.php?25860-msfconsole-fails-to-start&p=46259
  • https://bugs.kali.org/view.php?id=2337
  • https://community.rapid7.com/thread/7388

Полный вывод ошибки такой:

root@WebWare-Kali:~# msfconsole
DEPRECATION WARNING: Support for Rails < 4.1.0 will be dropped. (called from <top (required)> at /opt/metasploit/apps/pro/ui/lib/metasploit/pro/ui.rb:16)
/opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/wicked-0.5.0/app/controllers/wicked/wizard_controller.rb:5:in `<top (required)>': uninitialized constant ApplicationController (NameError)
from /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/railties-4.0.13/lib/rails/engine.rb:465:in `block (2 levels) in eager_load!'
from /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/railties-4.0.13/lib/rails/engine.rb:464:in `each'
from /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/railties-4.0.13/lib/rails/engine.rb:464:in `block in eager_load!'
from /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/railties-4.0.13/lib/rails/engine.rb:462:in `each'
from /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/railties-4.0.13/lib/rails/engine.rb:462:in `eager_load!'
from /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/railties-4.0.13/lib/rails/engine.rb:347:in `eager_load!'
from /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/railties-4.0.13/lib/rails/application/finisher.rb:56:in `each'
from /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/railties-4.0.13/lib/rails/application/finisher.rb:56:in `block in <module:Finisher>'
from /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/railties-4.0.13/lib/rails/initializable.rb:30:in `instance_exec'
from /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/railties-4.0.13/lib/rails/initializable.rb:30:in `run'
from /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/railties-4.0.13/lib/rails/initializable.rb:55:in `block in run_initializers'
from /opt/metasploit/ruby/lib/ruby/2.1.0/tsort.rb:226:in `block in tsort_each'
from /opt/metasploit/ruby/lib/ruby/2.1.0/tsort.rb:348:in `block (2 levels) in each_strongly_connected_component'
from /opt/metasploit/ruby/lib/ruby/2.1.0/tsort.rb:427:in `each_strongly_connected_component_from'
from /opt/metasploit/ruby/lib/ruby/2.1.0/tsort.rb:347:in `block in each_strongly_connected_component'
from /opt/metasploit/ruby/lib/ruby/2.1.0/tsort.rb:345:in `each'
from /opt/metasploit/ruby/lib/ruby/2.1.0/tsort.rb:345:in `call'
from /opt/metasploit/ruby/lib/ruby/2.1.0/tsort.rb:345:in `each_strongly_connected_component'
from /opt/metasploit/ruby/lib/ruby/2.1.0/tsort.rb:224:in `tsort_each'
from /opt/metasploit/ruby/lib/ruby/2.1.0/tsort.rb:205:in `tsort_each'
from /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/railties-4.0.13/lib/rails/initializable.rb:54:in `run_initializers'
from /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/railties-4.0.13/lib/rails/application.rb:215:in `initialize!'
from /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/railties-4.0.13/lib/rails/railtie/configurable.rb:30:in `method_missing'
from /usr/share/metasploit-framework/config/environment.rb:5:in `<top (required)>'
from /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
from /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
from /opt/metasploit/apps/pro/vendor/bundle/ruby/2.1.0/gems/railties-4.0.13/lib/rails/application.rb:189:in `require_environment!'
from /usr/share/metasploit-framework/lib/metasploit/framework/command/base.rb:63:in `require_environment!'
from /usr/share/metasploit-framework/lib/metasploit/framework/command/base.rb:81:in `start'
from /opt/metasploit/apps/pro/msf3/msfconsole:48:in `<main>'

Решение проблемы Metasploit в Kali Linux

На Kali Linux нужно сделать следующее:

ln -f -s /usr/share/metasploit-framework/msfconsole /usr/bin/msfconsole

После этого Metasploit заработает.

Если запускать его без поддержки базы данных, то он запуститься быстро. Если запускать Metasploit с поддержкой базы данных (как это сделано описано в этой инструкции), то процесс может зависнуть, если ему не хватит оперативной памяти, поскольку там будут выполняться какие-то внутренние операции — пересобираться кэш базы данных или что-то такое.

Решение проблемы Metasploit в других дистрибутивах Linux

Metasploit может быть расположен в других каталогах, отличных от тех, которые используются в Kali Linux

Необходимо использовать следующую команду, для определения путей:

locate msfconsole

Среди вывода будет:

/usr/bin/что-то_ещё
/usr/share/metasploit-framework/что-то_ещё

И уже на основании вывода поменять вышеприведённую команду. Например, в некоторых дистрибутивах она будет выглядеть так:

ln -f -s /usr/share/metasploit-framework/msfvenom /usr/bin/msfvenom

Один комментарий

  1. root@server:~# locate msfconsole
    /opt/metasploit/app/msfconsole
    /usr/bin/msfconsole
    /usr/bin/msfconsole.framework
    /usr/share/applications/kali-msfconsole.desktop
    /usr/share/framework2/msfconsole
    /usr/share/framework2/docs/QUICKSTART.msfconsole
    /usr/share/kali-menu/applications/kali-msfconsole.desktop
    /usr/share/metasploit-framework/msfconsole
    /usr/share/metasploit-framework/vendor/bundle/ruby/2.1.0/bin/msfconsole
    root@server:~# ln -f -s /usr/share/metasploit-framework/msfconsole
    root@server:~# ls
    cd db_driver Desktop Downloads msfconsole
    root@server:~# msfconsole
    Could not find rake-10.4.2 in any of the sources
    Run `bundle install` to install missing gems.
    root@server:~# ln -f -s /usr/share/metasploit-framework/msfconsole /usr/bin/msfconsole
    root@server:~# msfconsole
    Could not find rake-10.4.2 in any of the sources
    Run `bundle install` to install missing gems.

    Что я не так сделал?

    Суде по всему требует что-то доустановить/установить/переустановить. Но что, где, откуда и куда? И главное почему и как и зачем!?

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *