CoMisSionは、CMSのセットアップを迅速に分析するためのツールです。このツールは以下のことを行います:
🔥 注意: CoMisSionはソースコードの分析によって脆弱性を探すわけではありません。脆弱性はwpvulndbのような公開データベースから収集されます。新しい脆弱性の発見はこのツールの目的ではありません。
以下の形式で完全なレポートを生成できます:
このツールはLinuxとWindowsでテスト済みです。出力の乱れを避けるため、Windowsでは--no-colorオプションを設定することをお勧めします。
./commision.py -c wordpress -d /cms_dir -o report.xlsx -t XLSX
このツールには少なくともpython3.6が必要です。
git clone https://github.com/Intrinsec/comission
pip install -r requirements.txt
usage: comission.py [-h] -d DIR -c CMS [-o FILE] [-t TYPE] [--skip-core]
[--skip-plugins] [--skip-themes] [--no-color] [-f CONF]
[--log LOGFILE] [--wp-content WP_CONTENT]
[--plugins-dir PLUGINS_DIR] [--themes-dir THEMES_DIR]
[--major VERSION_MAJOR] [-v VERSION]
[--wpvulndb-token WPVULNDB_TOKEN] [--debug]
CoMisSionはCMSと使用されているプラグインを分析します。
オプション引数:
-h, --help このヘルプメッセージを表示して終了
-d DIR, --dir DIR CMSルートディレクトリ
-c CMS, --cms CMS CMSタイプ (drupal, wordpress)
-o FILE, --output FILE
出力ファイルへのパス
-t TYPE, --type TYPE 出力タイプ (CSV, XLSX, JSON, STDOUT)。デフォルトはXLSX。
--skip-core これを設定するとコア分析をスキップ
--skip-plugins これを設定するとプラグイン分析をスキップ
--skip-themes これを設定するとテーマ分析をスキップ
--no-color 出力で色を使用しない。
-f CONF, --file CONF 設定ファイル。example.confを参照。
--log LOGFILE ログを指定されたファイルに出力。
--wp-content WP_CONTENT
wp-contentディレクトリの場所を強制指定。
--plugins-dir PLUGINS_DIR
プラグインディレクトリの場所を強制指定。
--themes-dir THEMES_DIR
テーマディレクトリの場所を強制指定。
--major VERSION_MAJOR
--skip-core引数を使用する際にコアのメジャーバージョン(例: 7、8)を指定。Drupalのみで機能。
-v VERSION, --version VERSION
コアの完全バージョン(例: 5.5)を指定。
--wpvulndb-token WPVULNDB_TOKEN
wpvulndb APIにリクエストするためのトークンを設定。
--debug エラー特定に役立つデバッグメッセージを表示。
🔥 WordPressの脆弱性を取得するには、--wpvulndb_token引数を設定する必要があります。wpvulndbのアカウントでトークンを取得できます。
設定ファイルを提供することもできます。example.confを参照してください。
現在、公式イメージは公開していません。 Dockerでツールを使用するには、イメージをビルドできます。プロジェクトフォルダ内で次のコマンドを実行してビルドします:
docker build -t isec/comission .
その後、次のコマンドで実行します:
docker run -it --rm -v /TARGET_PATH/:/cms_path/ -v /OUTPUT_DIR/:/output/ isec/comission -d /cms_path/ -c drupal -o /output/test_docker.xlsx -t XLSX
パス"TARGET_PATH"と"OUTPUT_DIR"を自分のフォルダに合わせて変更してください。
ユニットテストはtestsフォルダにあります。テストを実行する前に、test-data-setディレクトリを作成し、その中にdrupalとwordpressのサブディレクトリ、および少なくともwpvulndb_token値を含むtest.confファイルを作成してください。
Paul Mars (Intrinsec)
Etienne Boursier (Intrinsec) のアイデアに基づく
このツールはGPLv3ライセンスの下で配布されています。ただし、このツールはWordPressコアとプラグインに関する情報を収集するためにwpvulndb APIを使用していることに注意してください。