Ingénierie inverse d'une caméra IP (Partie 1): Extraire le firmware et ses secrets

Publié par TheJoe sur

Temps de lecture estimé: 2 minutes

Tout a commencé par un mystère (et très économique) telecamera IP di sorveglianza della Unotec. Sans documentation et sans accès à l'interface web, la seule façon de comprendre comment cela fonctionnait était “entrer à l'intérieur”. Dans cette première partie, vedremo come sono riuscito a scaricare la configurazione interna e a decodificare il file di backup per trovarne le credenziali nascoste.

Caccia alle API: Il comando Backup

Le telecamere basate su chipset HiSilicon spesso nascondono delle porte di servizio sotto forma di script CGI. Dopo alcuni tentativi mirati a indovinare i percorsi standard usati dai produttori, ho colpito il bersaglio grosso. Inserendo nel browser l’indirizzo:

http://192.168.5.123/cgi-bin/hi3510/backup.cgi

Il browser ha avviato il download di un file chiamato config_backup.bin. Ma non fatevi ingannare dall’estensione: nel mondo dell’IoT, spesso i file “.binsono solo archivi standard rinominati per scoraggiare i meno esperti.

Analisi del file: È davvero un binario?

Per capire con cosa avessi a che fare, ho interrogato il file tramite il comando file su Linux. Questo comando non si fida dell’estensione, ma legge iMagic Bytesnell’header del file.

$ file config_backup.bin
config_backup.bin: gzip compressed data, from Unix, original size 3276800

Ecco svelato l’arcano: il file è in realtà un archivio .tar.gz. Per aprirlo, è bastato rinominarlo o estrarlo direttamente:

mv config_backup.bin config_backup.tar.gz
tar -zxvf config_backup.tar.gz

Cosa c’è nellaScatola Nera”?

Una volta scompattato, mi sono trovato davanti parte della struttura del file system della telecamera, la partizione /mnt/ dedicata alle configurazioni. La cartella /mnt/mtd/ipc/conf/ è risultata essere una miniera d’oro di file .ini:

  • config_user.ini: Conteneva le credenziali di accessodifficilissime da indovinare (admin/admin).
  • config_md.ini: Le impostazioni del Motion Detection (risultato disattivato).
  • wifi.conf: I parametri di rete.
  • config_alarm.ini: I trigger per gli allarmi FTP ed Email.
Regardez ici:  Vidéo stabiliser vos vidéos con Linux: stabiliser un vidéo tremblotante avec Transcode pt. 2

Perché il re-upload fallisce?

Ho provato a modificare i file .ini (ad esempio attivando il movimento) e a ricreare l’archivio per caricarlo nuovamente sulla cam. Cependant, sospetto che il firmware esegua un controllo di integrità (somme de contrôle) all’avvio. Se il file è manomesso, la telecamera lo scarta e torna alle impostazioni di fabbrica.

Questa scoperta mi ha portato alla fase successiva: se non posso cambiare le regoleda dentroflashando il file, userò i comandi CGI per istruirlada fuori”. Ma di questo ne parleremo nella Parte 2.

Rimanete sintonizzati per scoprire come ho usato queste informazioni per intercettare il traffico della cam!


TheJoe

Je garde ce blog comme un hobby par 2009. Je suis passionné de graphisme, la technologie, logiciel Open Source. Parmi mes articles ne sera pas difficile de trouver de la musique, et quelques réflexions personnelles, mais je préfère la ligne directe du blog principalement à la technologie. Pour plus d'informations me contacter.

0 commentaires

Laisser un commentaire

Espace réservé d'avatar

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *

Ce site utilise Akismet pour réduire le spam. Découvrez comment vos données de commentaire est traité.