
権威あるSPFおよびDMARCレコード分析と、カスタムの実世界でテストされたスプーフロジック、およびオプションのDKIM列挙を使用した一括ドメインスプーフィング可能性チェッカー。
Spoofy は、SPF レコードと DMARC レコードに基づいて、ドメインリストのなりすましが可能かどうかをチェックするプログラムです。「なぜドメインのなりすましチェックに別のツールが必要なのか?」と疑問に思うかもしれません。
その理由は、Spoofy には以下のような違いがあるからです。
- 既知のフォールバック(Cloudflare DNS)を利用したすべてのルックアップの権威的(Authoritative)クエリ
- 正確な一括ルックアップ
- カスタムで手動テスト済みのなりすましロジック(推測や憶測ではなく、実際のテスト結果に基づく)
- SPF DNS クエリカウンター
- オプションのAPIによるDKIMセレクター列挙
Spoofy には Python 3+ が必要です。Python 2 はサポートしていません。使用法は以下の通りです。
Usage:
./spoofy.py -d [DOMAIN] -o [stdout or xls] -t [NUMBER_OF_THREADS] [--dkim]
OR
./spoofy.py -iL [DOMAIN_LIST] -o [stdout or xls] -t [NUMBER_OF_THREADS] [--dkim]
Options:
-d : Process a single domain.
-iL : Provide a file containing a list of domains to process.
-o : Specify the output format: stdout (default), xls, or json.
-t : Set the number of threads to use (default: 4).
--dkim : Enable DKIM selector enumeration via API (optional).
Examples:
./spoofy.py -d example.com -t 10
./spoofy.py -d example.com --dkim
./spoofy.py -iL domains.txt -o xls
./spoofy.py -iL domains.txt -o json --dkim
Install Dependencies:
pip3 install -r requirements.txt
(SPF および DMARC の設定のあらゆる組み合わせ(DKIM修飾子を除く)が受信箱への到達に与える影響をリスト化した、なりすまし可能性テーブルです。) ダウンロードはこちら
なりすまし可能性テーブルの作成にあたり、関連するすべてのSPFおよびDMARC設定をリストアップし、それらを組み合わせた後、初期バージョンのSpoofyを使用して多数の米国政府ドメインからSPFおよびDMARC情報を収集しました。SPFとDMARCの組み合わせがなりすまし可能かどうかのテストは、emailspooftest のメールセキュリティペンテストスイートをMicrosoft 365上で使用して行いました。ただし、初期テストではProtonmailとGmailを使用しましたが、これらのサービスではリバースルックアップチェックが行われ、特にサブドメインのなりすましテストの結果に影響を与えることが判明しました。そのため、メール処理の制御がより容易なMicrosoft 365をテストに使用しました。
Microsoft 365での初期テスト後、一部の組み合わせについてはProtonmailとGmailを用いて再テストを行いました。これは、メール内のバナーの扱いがサービスによって異なるためです。ProtonmailとGmailでは、なりすましメールがバナー付きで受信箱に入るか、バナーなしでスパムに入る可能性があり、その結果、Spoofyを使用した際に一部のSPFおよびDMARCの組み合わせが「Mailbox Dependent」と報告されました。一方、Microsoft 365ではどちらの状態もスパムに振り分けられます。テストとデータ収集には数日を要しましたが、その後、信頼性の高いマスターテーブルが作成され、Spoofyのなりすまし可能性ロジックの基礎として使用されました。
このツールはテストおよび学術目的のみに使用され、厳格な同意が得られた場合にのみ使用できます。 違法な目的で使用しないでください!適用されるすべての地域、州、連邦法を遵守するのはエンドユーザーの責任です。 開発者は一切の責任を負わず、このツールおよびソフトウェアの誤用や損害についても責任を負いません。
このプロジェクトはCreative Commons Zero v1.0 Universalの下でライセンスされています。詳細は LICENSE ファイルを参照してください。