
このツールは、Pterodactyl パネルのインスタンスをスキャンし、データベース設定情報の取得を試みます。特定のパストラバーサル脆弱性を利用することで、パネルの機密設定データを取得できます。
本プロジェクトは、パブリックネットワークに露出した Pterodactyl パネルインスタンスの設定情報を検出・収集するための高性能 HTTP リクエストツールです。ターゲットサーバーに特定のリクエストを送信し、応答にデータベース設定情報が含まれているか確認し、結果を分類して保存します。
requests ライブラリを使用したHTTPリクエストaiohttp を使用した非同期リクエストサポートThreadPoolExecutor を使用したマルチスレッド処理.
├── main.py # メインプログラムファイル
├── url.txt # ターゲットホスト一覧ファイル
├── json/ # 出力ディレクトリ
│ ├── ✔️正解/ # ターゲットデータを含む結果の保存ディレクトリ
│ └── ❌エラー/ # エラーまたは無効な結果の保存ディレクトリ
└── README.md # プロジェクト説明ドキュメント
プログラムを実行する前に、必要な Python ライブラリをインストールします:
pip install requests aiohttp urllib3
python main.py
デフォルトでは url.txt ファイル内のホスト一覧を読み込み、マルチスレッドモードで処理します。
python main.py [--file FILE] [--mode MODE] [--workers WORKERS]
パラメータ説明:
-f, --file: ターゲットホスト一覧ファイルのパスを指定 (デフォルト: url.txt)-m, --mode: 実行モード。選択肢: threading(マルチスレッド), async(非同期), single(シングルスレッド) (デフォルト: threading)-w, --workers: ワーカースレッド数 (デフォルト: 5)# デフォルト設定を使用
python main.py
# カスタムホストファイルを指定
python main.py --file hosts.txt
# 非同期モードで処理
python main.py --mode async
# シングルスレッドモードを使用
python main.py --mode single
# ワーカースレッド数を10に設定
python main.py --workers 10
main.py ファイル内の Config クラスで以下の設定を変更できます:
PROXY: プロキシサーバーアドレス (デフォルト: http://127.0.0.1:7899)TIMEOUT: リクエストタイムアウト (デフォルト: 30秒)MAX_RETRIES: 最大リトライ回数 (デフォルト: 3回)MAX_WORKERS: 最大ワーカースレッド数 (デフォルト: 5)USER_AGENT: リクエストのUser-Agent (デフォルト: Mozilla/5.0 Windows AppleWebKit/537.36)/locales/locale.json パスにHTTP GETリクエストを送信しますlocale: ../../../pterodactylnamespace: config/databasejson/✔️正解/json/❌エラー/結果はJSON形式で保存され、以下の情報を含みます:
success: リクエストが成功したかどうかstatus_code: HTTPステータスコードresponse_time: 応答時間url: 実際のリクエストURLheaders: レスポンスヘッダー情報data: 応答データsize: 応答サイズcontains_target_data: ターゲットデータを含むかどうかdatabase_info: 抽出されたデータベース情報プログラムの実行完了後、詳細な統計情報が表示されます: