
誤設定されたFirebaseデータベースの悪用
脆弱な、または誤設定された Firebase データベースを悪用する
非標準のPythonモジュール:
次のコマンドが正常に実行されれば、スクリプトを使用する準備が整います。
git clone https://github.com/Turr0n/firebase.git
cd firebase
pip install -r requirements.txt
python3 firebase.py [-h] [--dnsdumpster] [-d /path/to/file.htm] [-o results.json] [-l /path/to/file] [-c 100] [-p 4]
引数:
-h ヘルプメッセージを表示
-d ダウンロードしたHTMLファイルの絶対パス
-o 出力ファイル名。デフォルト: results.json
-c Alexaのトップ100万ドメインからドメインをクロール。クロールするドメイン数を設定。例: 100。最大1000000
-p 実行するプロセス数。デフォルト: 1
-l クロールするDBが含まれるファイルのパス。1行に1つのDB名。このオプションは -d または -c と併用できません
--dnsdumpster DNSDumpster APIを使用してDBを収集
--just-v 「脆弱でない」DBを無視
--amass amassスキャンの出力ファイルのパス([-o]引数)
例:
python3 firebase.py -p 4 -f results_1.json -c 150 --dnsdumpster
これにより、Alexaファイルの最初の150ドメインとDNSDumpsterが提供するDBを検索します。結果は results_1.json に保存され、スクリプト全体は4つの並列プロセスで実行されます。
スクリプトは、収集された脆弱なデータベースとそのダンプ内容を含むjsonファイルを作成します。各データベースにはステータスがあります:
より良い結果を得るには、pentest-tools.com にアクセスし、そのサブドメインスキャナーに次のドメインを入力してください: firebaseio.com。スキャンが完了したら、ページのHTMLを保存し(Ctrl+S)、 -d [path] 引数を使用します。これにより、スクリプトはそのサービスで発見されたサブドメインを分析できます。将来的にはさらなるサブドメインクローラーがサポートされる可能性があります。
現在、@caffix による amass スキャナーをサポートしています!そのツールを使用して firebaseio.com に対して任意のスキャンを実行し、 -o 引数を使用すると、スクリプトは出力ファイルを解析し、発見されたDBをクロールできます。
Firebase DB は次の構造で動作します: https://[DB名].firebaseio.com/。 -l [path] 引数を使用する場合、指定するファイルには1行に1つの[DB名]を含める必要があります。例:
airbnb
twitter
microsoft
そのファイルを使用すると、次のDBがチェックされます: https://airbnb.firebaseio.com/.json, https://twitter.firebaseio.com/.json, https://microsoft.firebaseio.com/.json
このスクリプトは、appthority のMobile Threat Teamによる研究に大きく基づいています。研究のすべての功績は彼らに帰属します。
Alexaの100万トップドメインファイルからドメインをダウンロードするために、@evilpacket による スクリプト が使用されています。