
このスクリプトは、ネットワークに公開され、認証なしのプロトコルハンドシェイクを許可するMongoDBサービスを特定するために使用されます。
mongo_exposure_scanner.py
Pythonを確認:
python3 --version
| ファイル | 目的 |
|---|---|
mongo_scanner.py | スキャナースクリプト |
targets.txt | ターゲットホストとポート |
mongo_exposed_targets.txt | スキャン結果(自動生成) |
targets.txt)対応形式:
# ホストのみ(デフォルトポートを使用)
10.99.1.52
# 特定ポート付きホスト
mongo.example.com:3717
# 複数ポート
192.168.1.10:27017,28017
# ポート範囲
172.16.0.20:27017-27030
注記:
# の行は無視されますスキャナーを実行:
python3 mongo_scanner.py
スクリプトは次のプロンプトを表示します:
Enter target file name (default: targets.txt):
オプション:
targets.txt を使用prod_mongo.txtpython3 mongo_scanner.py
Enter target file name (default: targets.txt): prod_mongo.txt
[*] Using target file: prod_mongo.txt
[*] Total host:port pairs: 4
[*] Concurrency: 50 | Timeout: 5s
------------------------------------------------------------
[+] MongoDB OPEN: 10.99.1.52:3717
[-] 192.168.1.10:27017 - Not exposed
------------------------------------------------------------
[*] Done. Results saved to mongo_exposed_targets.txt
mongo_exposed_targets.txt
[2026-01-20 12:34:07] 10.99.1.52:3717 - Unauthenticated MongoDB exposed
[2026-01-20 12:34:07] dds-d9j6c3a7096ded641.mongodb.ap-southeast-5.rds.aliyuncs.com:3717 - Unauthenticated MongoDB exposed
| ステータス | 意味 |
|---|---|
MongoDB OPEN |
MongoDBサービスが hello に応答した |
Unauthenticated MongoDB exposed | 認証なしでハンドシェイクが許可された |
Not exposed | MongoDBではない、または認証/接続がブロックされた |
Connection refused / timeout | サービスに到達できない |