Ubuntu 20.04 LTSでBeEFをサービスとして実行

Ubuntu 20.04 LTSでBeEFをサービスとして実行

私は最近、侵入テストにBeEFを使用する方法を学んでいますが、クラウドにサーバーを設定し、その中にBeEFをインストールしてサービスのようにバックグラウンドで実行しようとすることはできません。起こる。

root@BeEF:~# sudo systemctl status beef
● beef.service - BeEF Framework
     Loaded: loaded (/etc/systemd/system/beef.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Fri 2024-02-16 03:50:53 UTC; 33s ago
    Process: 88622 ExecStart=/usr/local/rvm/rubies/ruby-3.0.0/bin/ruby /opt/beef/beef (code=exited, status=1/FAILURE)
   Main PID: 88622 (code=exited, status=1/FAILURE)

Feb 16 03:50:53 BeEF systemd[1]: Started BeEF Framework.
Feb 16 03:50:53 BeEF ruby[88622]: <internal:/usr/local/rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- m>
Feb 16 03:50:53 BeEF ruby[88622]:         from <internal:/usr/local/rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
Feb 16 03:50:53 BeEF ruby[88622]:         from /opt/beef/core/loader.rb:14:in `<top (required)>'
Feb 16 03:50:53 BeEF ruby[88622]:         from <internal:/usr/local/rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
Feb 16 03:50:53 BeEF ruby[88622]:         from <internal:/usr/local/rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
Feb 16 03:50:53 BeEF ruby[88622]:         from /opt/beef/beef:45:in `<main>'
Feb 16 03:50:53 BeEF systemd[1]: beef.service: Main process exited, code=exited, status=1/FAILURE
Feb 16 03:50:53 BeEF systemd[1]: beef.service: Failed with result 'exit-code'.

別の問題が発生し、数時間後に直接解決しました。最初のものは私のRubyが古いですが、ちょうどそれをインストールし、ruby-3.0.0牛肉が正しく動作することです(実行時に)。サービスファイルの作成を開始した後、バックグラウンドで実行しようとすると機能しません。私のRubyが/usr/bin/ruby別のディレクトリにインストールされていないことがわかりました。 (そうだと/usr/local/rvm/rubies/ruby-3.0.0/bin/ruby思いましたrvmが、私はRubyを使ったことがないので何も知りません。)その後、エラーメッセージが変更され、これが以前に発生したエラーメッセージです。私はしばらく働くようにしてきましたが、方法がわかりません。サービスが機能するために必要なすべてのファイルをロードしているようには思えませんが、サービスファイルにどのファイルをロードする必要があるのか​​わかりません。

これが私がしたことです:

# beef.service

[Unit]
Description=BeEF Framework
After=network.target

[Service]
Type=simple
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
ExecStart=/usr/local/rvm/rubies/ruby-3.0.0/bin/ruby /opt/beef/beef

[Install]
WantedBy=multi-user.target

ちなみに、何らかの理由で重要な場合は、すでにBeefがインストールされているので(ストアレプリケーション)、/optアプリを呼び出したいとき/opt/beef/beef

誰もがこの問題を解決する方法を知っているか、この問題を解決する方法についてのアイデアがあればとても嬉しいです。ありがとうございます!

答え1

BeFFがシステムに正しくインストールされていません。

BeFFには独自のsystemdサービスがありますbeef-xss.service。 systemd ファイルサービスは、次の場所になければなりません。/usr/lib/systemd/system/beef-xss.service

サービスの状態を確認する:

beef-xss
systemctl status beef-xss

gitlabで牛肉を見る

関連情報