Reverse engineering v praci – kucháme firmware čínské kamery

S projektem Loxonu jsem se dostal před otázku, jak v zabezpečovačce při aktivaci dveřního čidla uložit snapshot z kamery. U kamer bývá zvykem, že existuje specifická URL adresa, na které jsou veřejně (nebo pod heslem) dostupné aktuální snapshoty. 
Seznam nejběžnějších URL adres je zde .

Pro ostatní nepopsané kamery je možnost, zkusit to louksnout svépomocí, přes reverse engineering firmwaru kamery.

V přvní řadě je potřeba získat tento firmware. U čínských kamer to nebývá většinou problém (Misecu), prodejce na požádání pošle 🙂

Pokud máme firmware, podíváme se do něj, co obsahuje. V binárním souboru (.bin), zkontrolujeme jeho hlavičku, kdyz máme štestí a výrobce není blb, tak se jedná o standardní kompresi LZMA (v hlavičce souboru začínáme PK ….). Stačí jej tedy rozbalit (přejmenovat koncovku .bin na .zip a Windowsy si s tím hravě poradí)

Po rozbalení máme k dispozici další soubory, většinou jde již o vlastní obrazy (img). Může jich být i více, pokud to výrobce rozdělil např. na operační system, uzivatelskou a aplikační část.

Zde si již s obyčejným průzkumníkem neporadíme, protože obrazy disku můžou být v různých formátech FS (ext4, squashfs, …). Pro rozbalení se mě osvětčilo použít nástroj binwalk, který detekuje použitý systém a dokáže i extrahovat soubory v něm uložené.

Nainstalujeme si tedy BinWalk (v linuxu je to hračka): sudo apt-get install binwalk

Použití binwalku je pak jednoduché : binwalk -e web-x.cramfs.img, kde parametr -e je příkaz k extrakci.

Po úspěšném rozbalení si můžeme prohlídnout výsledek.Zajímat nás budou soubory html, js, jsp,… kde se dozvíme, jak to celé vůbec pracuje.

V tomle případě byl nejzajímavější soubor mt.js, který se stará o vykreslování vlastních obrázků do iframu stránky. Bohužel to zde nepůjde napřímo 🙁 Zde jsou raw data posílána do pomocného pluginu v prohlížeči, který je zpracovává.

Pro zajimavost ale stojí zmínit soubor v /etc/passwd 🙂 

PS: pěkný článek jak se dostat do kamery přes RS232 – seriovou linku je zde.

Permanent link to this article: https://www.elvisek.cz/2018/10/reverse-engineering-v-praci-kuchame-firmware-cinske-kamery/