Reverse Engineering einer IP-Kamera (Teil 1): Extrahieren Sie die Firmware und ihre Geheimnisse

Veröffentlicht von TheJoe am

Geschätzte Lesezeit: 2 Minuten

Alles begann mit einem Rätsel (und sehr sparsam) Überwachungs-IP-Kamera Unotec. Ohne Dokumentation und ohne Zugriff auf das Webinterface, Der einzige Weg zu verstehen, wie es funktionierte, war “geh rein”. In diesem ersten Teil, Wir werden sehen, wie ich es geschafft habe, die interne Konfiguration herunterzuladen und die Sicherungsdatei zu entschlüsseln, um die versteckten Anmeldeinformationen zu finden.

Bienenjagd: Der Backup-Befehl

Chipsatzbasierte Kameras HiSilicon Sie verbergen oft Hintertüren in Form von CGI-Skripten. Nach einigen Versuchen, die von den Herstellern verwendeten Standardpfade zu erraten, Ich habe das große Ziel erreicht. Durch Eingabe der Adresse in den Browser:

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

Der Browser hat mit dem Herunterladen einer Datei namens begonnen config_backup.bin. Aber lassen Sie sich von der Erweiterung nicht täuschen: in der Welt des IoT, Dateien oft “.Mülleimer” Es handelt sich lediglich um Standardarchive, die umbenannt wurden, um weniger Erfahrene abzuschrecken.

Dateianalyse: Es ist wirklich eine Binärdatei?

Um zu verstehen, womit ich es zu tun hatte, Ich habe die Datei über den Befehl abgefragt file su Linux. Dieser Befehl vertraut der Erweiterung nicht, muss reingesteckt werden “Magische Bytes” nell’header del file.

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

Hier wird das Geheimnis gelüftet: Die Datei ist eigentlich ein Archiv .tar.gz. Um es zu öffnen, Sie mussten es lediglich umbenennen oder direkt extrahieren:

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

Was ist drin? “Blackbox”?

Einmal ausgepackt, Ich habe einen Teil der Dateisystemstruktur der Kamera vor mir gefunden, die Partition /mnt/ gewidmet Konfigurationen. Der Ordner /mnt/mtd/ipc/conf/ Es stellte sich heraus, dass es sich um eine Goldgrube an Akten handelte .ini:

  • config_user.ini: Es enthielt die Anmeldeinformationen… sehr schwer zu erraten (Administrator/Administrator).
  • config_md.ini: Einstellungen zur Bewegungserkennung (Ergebnis deaktiviert).
  • wifi.conf: Die Netzwerkparameter.
  • config_alarm.this: Auslöser für FTP- und E-Mail-Alarme.
Schau hier:  VNC über SSH für sichere Verbindungen

Warum das erneute Hochladen fehlschlägt?

Ich habe versucht, die Dateien zu bearbeiten .ini (zum Beispiel durch die Aktivierung von Bewegung) und das Archiv neu zu erstellen, um es erneut auf die Kamera hochzuladen. Jedoch, Ich vermute, dass die Firmware eine Integritätsprüfung durchführt (Prüfsumme) beim Start. Wenn die Datei manipuliert ist, Die Kamera verwirft es und kehrt zu den Werkseinstellungen zurück.

Diese Entdeckung führte mich zur nächsten Phase: wenn ich die Regeln nicht ändern kann “von innen” Flashen der Datei, Ich werde CGI-Befehle verwenden, um es anzuweisen “von außen”. Aber darüber werden wir im Teil sprechen 2.

Bleiben Sie dran, um herauszufinden, wie ich diese Informationen genutzt habe, um den Cam-Verkehr abzufangen!


TheJoe

Ich halte diesen Blog als ein Hobby von 2009. Ich bin begeistert von Grafik, Technologie, Open Source Software. Unter meinen Artikel wird nicht schwierig sein, über die Musik finden, und einige persönliche Reflexionen, aber ich bevorzuge die direkte Linie des Blogs vor allem auf Technologie. Weitere Informationen Kontaktieren Sie mich.

0 Kommentare

Hinterlasse eine Antwort

Avatar-Platzhalter

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.