down-force は、フィッシング詐欺サイトのテイクダウン(閉鎖)活動を支援するためのCLIツールです。
証拠保全からレポート作成、報告メールの送信まで、従来手作業で行われていたプロセスの大部分を自動化し、セキュリティリサーチャーやCSIRTの負荷を劇的に軽減します。
フィッシングサイトのテイクダウンには、「アクセス検証」「証拠保全(スクショ・ログ)」「Whois/DNS調査」「報告文作成」といった多くの手順が必要です。down-force はこれらをコマンド1つで完結させます。
- 半自動化: 複数のデバイス(スマホ、PC等)でのアクセス検証と証拠収集を一括実行。
- 証拠の質: 日時・IP・Geo情報を焼き込んだスクリーンショットを自動生成。
- 報告の迅速化: 収集した情報に基づき、Markdownレポート、報告用メール下書きを即座に作成。
- マルチデバイス・エミュレーション: iPhone, Android, Desktop Chromeなど、複数のUser-Agent/Viewportでの描画を並行して検証・保存。
- ヘッドレス & インタラクティブ: 全自動のヘッドレス収集に加え、CAPTCHAやログインが必要なサイト向けのインタラクティブモード(手動操作待機)を搭載。
- 高度な証拠保全:
- 📸 スクリーンショット: アクセス元IP、日時、URL情報をヘッダーに自動付与。
- 🔍 インテリジェンス: WHOIS/RDAP、DNSレコード、GeoIP情報を自動収集。
- レポート & メール連携:
- Markdown形式の詳細レポート生成。
- Abuse報告用メールの自動ドラフト作成(IMAPアップロード対応)。
- SMTPによる直接送信(確認プロンプト付き)。
Go 1.21+ が必要です。
go install github.com/canaria-computer/down-force@latestまたは、ソースコードからビルドします:
git clone https://github.com/canaria-computer/down-force.git
cd down-force
go build -o down-force main.goまず、証拠説明・入力ファイル (evidence.yaml) のテンプレートを作成します。
# デフォルトテンプレートを作成
down-force init
# 対話形式でデバイスを選択してテンプレートを作成
down-force init --interactive
# 最小構成(Google Pixel 7 Pro のみ)でテンプレートを作成
down-force init --minimal作成された evidence.yaml を編集し、ターゲット情報を記述します。
target:
url: "https://phishing-site.example.com"
brand: "Target Brand"
user_agents:
- name: "Google Pixel 7 Pro" # プリセット名指定で自動設定
- name: "iPhone 13 Pro Max"利用可能なデバイスプロファイルは down-force devices で確認できます。
ターゲットに対してアクセスを行い、証拠を収集します。
# 証拠説明・入力ファイルに基づいて実行(ヘッドレス)
down-force lite -c evidence.yaml
# CAPTCHA等がある場合はインタラクティブモードで実行
down-force lite run実行が完了すると、report-{TIMESTAMP}/ ディレクトリに以下の成果物が生成されます:
- 証拠付きスクリーンショット (
.png) - 詳細レポート (
Report.md) - 証拠スナップショット (
evidence.snapshot.yaml)
生成されたレポートを元に、Abuse報告メールを作成します。
# 最新のレポートからメール下書きをプレビュー表示
down-force email draft --preview
# 下書きをIMAPサーバー(Draftsフォルダ)にアップロード
down-force email draft --upload
# .emlファイルとしてエクスポート
down-force email draft --export
# 確認後、SMTPで直接送信
down-force email send-with-confirm証拠収集用の設定ファイルを生成します。
down-force init [filename]-i, --interactive: 対話形式でデバイスを選択-m, --minimal: 最小構成(Google Pixel 7 Pro のみ)-s, --stdout: 標準出力に出力(ファイル作成しない)
最も頻繁に使用するコマンドです。
down-force lite -c evidence.yaml-c, --config <path>: 設定ファイルのパス-i, --interactive: ブラウザを表示状態で起動(目視確認や手動操作が必要な場合)-b, --browser <path>: ブラウザ実行ファイルのパス--no-complete: User-Agent詳細情報の自動追記を無効化
サブコマンド:
lite run:down-force lite -c evidence.yaml -iのショートハンド
収集した証拠を元に、ISPやホスティング事業者への報告を支援します。
draft: メール下書きの生成(--upload,--export,--preview)send-with-confirm: 対話的な確認を経てメールを送信resend: 送信に失敗した.emlファイルを再送
セキュリティオプション:
--ignore-tls-errors: TLS証明書検証を無効化(開発環境のみ)--allow-unsafe-html: HTML サニタイゼーションを無効化(信頼されたソースのみ)
証拠説明・入力ファイルの構文や論理的な正当性をチェックします。
down-force validate evidence.yaml
# 緩い検証(スキーマのみ)
down-force validate evidence.yaml --lax利用可能なプリセットデバイスプロファイルを表示します。
# 全デバイスを表示
down-force devices
# 名前でフィルタ(ファジー検索)
down-force devices --name iphoneアクセス情報(IP、Geo情報)のキャッシュを管理します。
show: キャッシュ情報を表示clear: キャッシュを削除refresh: キャッシュを強制更新
アプリケーションの動作設定を管理します。
init: 設定ファイルを初期化show: 現在の設定を表示validate: 設定ファイルを検証
本ツールは現在 Active Development (Beta) フェーズです。
実装済み:
- 基本的な証拠収集(スクショ、WHOIS/RDAP)
- マルチデバイス・エミュレーション
- レポート生成(Markdown)
- メール連携(IMAP/SMTP)
- 設定ファイルの検証機能
- アクセス情報のキャッシュ機能
今後の予定:
- 通信ログ(HARファイル)の出力
- レポート生成(XARF形式)
- 高度な回避検知(クローキング自動検知と回避)
- 外部API連携(URLScan.io, VirusTotal への自動サブミット)