Hacking ESCAM Q8

Escam Q8 Platine

Ich besitze schon seit längerem eine ESCAM Q8. Wenn man die Kamera erst ein mal über die grausame App eingerichtet hat, funktioniert sie an sich nicht schlecht. Sogar das ONVIF-Protokoll wird unterstützt. Ein großer Nachteil ist jedoch, dass die Kamera kein Webinterface bietet. Da die Kamera gestern aus unerklärlichen Gründen ihre Konfiguration vergessen hat, dachte ich mir, ich könnte ja mal einen Blick ins innere werfen.

Auf der Platine sind mir 3 unbesetzte Lötstellen aufgefallen. Also einfach mal 3 Drähte angelötet und den USB to TTL Stick angeschlossen. Nach einiger Rumprobiererei, hatte ich dann tatsächlich eine Ausgabe im Terminalfenster – inklusive root-shell. Die Rechteckige Lötstelle ist in der Regel der Pin für GND. Aber warum sollte man sich an Standards halten. Hier ist es der Tx Pin, so dass sich von links nach rechts Tx, GND, Rx ergibt.

SF: Got idcodes
00000000: c2 20 17 c2    . ..
SF: Detected MX25L6405D with page size 64 KiB, total 8 MiB
flash is 3byte mode
## Booting kernel from Legacy Image at 02000000 ...
   Image Name:   gm8136
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2026712 Bytes = 1.9 MiB
   Load Address: 02000000
   Entry Point:  02000040
   Verifying Checksum ... OK
   XIP Kernel Image ... OK
OK
Not define this ID
: mem=64M gmmem=30M console=ttyS0,115200 user_debug=31 init=/squashfs_init root=/dev/mtdblock2 rootfstype=squashfs

Starting kernel ...

Auf der Kamera ist kein SSH Dienst installiert. Also den in der Busybox enthaltenen telnetd gestartet und das einloggen übers Netzwerk ist möglich. Benutzername ist root, Passwort ist leer.Telnet

Und nun?

Tja, ist man erst mal drin, kann man theoretisch so einiges anstellen. Andere Kameras mit dem hier verbauten Prozessor Grain-Media GM8136 wurden bereits mehr oder weniger angepasst. Für den schnellen Erfolg, habe ich mich deshalb vorerst bei https://github.com/Filipowicz251/mijia-1080P-hacks bedient. Der in dessen Image enthaltene lighthttp ließ sich ohne Probleme starten.

[root@GM]# mkdir /tmp/sd
[root@GM]# mount --bind /mnt/disc1/mijia-1080P-hacks-master/sdcard/ /tmp/sd/
[root@GM]# /tmp/sd/tools/bin/lighttpd -f  /tmp/sd/tools/etc/lighttpd.conf

Dropbear habe ich noch nicht ausprobiert. Für meine Zwecke reicht eine Telnet-Verbindung. Beim start des custom RTSP-Server hängte sich die Kamera reproduzierbar auf. Es stehen aber passende Sources unter https://github.com/willthrom/rtspServer_gm bereit.

to be continued…