
Tomcat自動化脆弱性スキャン・悪用ツール。バッチでの弱いパスワード検出、バックエンドへのWARパッケージデプロイによるgetshell、CVE-2017-12615 ファイルアップロード、CVE-2020-1938/CNVD-2020-10487 ファイルインクルードをサポート。
このプロジェクトがお役に立てたと思われたら、ぜひ Star ⭐ をよろしくお願いします!
皆さまのサポートが、私たちがこのプロジェクトを改善・最適化し続ける原動力です! 😊
このプロジェクトは、Tomcat サービスを対象とした弱パスワード検出ツールです。CVE-2017-12615 脆弱性の複数の悪用手法に対応しているだけでなく、CNVD-2020-10487 脆弱性(Tomcat AJP プロトコルのローカルファイルインクルード脆弱性)の悪用機能も統合しており、ユーザーが脆弱性を効率的に検出・悪用してサーバーの機密情報を取得するのに役立ちます。このツールは複数の URL に対する同時検出にも対応しており、動的スレッドプール機構によりリソース利用率を最適化し、検出効率を向上させます。
このツールは3つの悪用手法に対応しています:
PUT /1.jsp/
PUT /1.jsp%20
PUT /1.jsp::$DATA
アップロードに成功すると、ツールはアップロードした JSP ファイルへのアクセスと実行を試み、リモートでコードが実行できるかどうかを判断します。
各悪用手法の結果について、成功または失敗のステータスをそれぞれ記録します。
getshellWAR パッケージのアップロードを試み、リモートコード実行権限を取得します。WAR パッケージはサーバー上で自動的に展開され、JSP Shell ファイルが生成されます。このファイルにアクセスすると Shell 権限を取得できます。Shell ファイルの内容をカスタマイズできます。URL、ユーザー名、パスワードを含むテキストファイルを用意し、それぞれ urls.txt、user.txt、passwd.txt という名前で保存します。
urls.txt の保存形式:https://127.0.0.1/ または https://127.0.0.1/manager/html スクリプトが自動的に判断して検出します。
config.yaml でファイルパスやその他の設定を行います。
スクリプトを実行すると、success.txt ファイルに脆弱性の悪用に成功した情報が記録されます。
python TomcatScanPro.py

以下のコマンドで必要なモジュールをインストールします:
pip install -r requirements.txt