Details der Firmware
|
11-03-2016, 21:05
Beitrag: #1
|
|||
|
|||
Details der Firmware
Moin,
Die Firmware basiert wohl auf Linux 2.6.34 (warum so alt, dieser Kernel ist von 2010!). Korrekterweise ist in der ZIP Datei die GPL und ein Hinweis auf die Sourcen enthalten. Ich habe mal via Webseite angefragt, dass ich diese gerne hätte. Die Möglichkeit auf der XT2 eigene Programme auszuführen ist fantastisch. Vor allem kann ich dann aufpassen, dass der Webserver nicht zum Sicherheits-Risiko wird und bin nicht immer nur auf die Updates von Lupus angewiesen sonder könnte mir im besten Fall selber ein Update kompilieren, wäre schon schön und auf Dauer eine sicherer Option Mal ein Blick in die Firmwaredatei. Wie auch bei der Config-Datei ist es ein XML Header, diesmal aber mit zwei Angaben für Tarballs. Das eine sieht verdächtig nach dem Linux-Kernel aus, das andere ist das Userland als ext2 Filesystem formatiert: $ head xt2_firmware_0.0.2.14L/XT2_lu-0.0.2.14L.bin <?xml version="1.0" encoding="UTF-8"?> <u> <package> <item offset="4096" size="3316192" md5="b71bcfb1e977d1fe02fd04db6d57f0b5" filename="/home/engin/sda2/ltib/rootfs/boot/uImage" /> <item offset="3320288" size="3602630" md5="6fcf0e4fd260c39da15ffcb891ce5c70" filename="/home/engin/sda2/ltib/rootfs/../rootfs.ext2.gz.uboot" /> </package> </u> 'V��@uT��2������:��Linux-2.6.34��!���V����R ... Der Kernel ist also echt schon was älter (2010, siehe http://thread.gmane.org/gmane.linux.kernel/986266), ich hoffe der hat keinen remote-exploitable-vulnerabilites. Wenn der Kernel aber schon so alt ist, dürfte das SSL vermutlich auch Heartbleed etc. noch haben, wäre zumindest nicht weiter verwunderlich. Ich habe als Reaktion erstmal wieder eingehende Verbindungen zur XT2 auf der Firewall gesperrt, alles andere wäre mir zu riskant - wundert mich nur warum man da nicht einen frischen Kernel reinkompiliert. Ich denke jetzt ist erstmal abwarten angesagt, ob Lupus mir tatsächlich die Sourcen (und Buildskripte sowie Toolchain) zusendet. Die scheinen ja recht guten Support zu haben, sagt man. Grüße! |
|||
12-03-2016, 13:57
Beitrag: #2
|
|||
|
|||
RE: Details der Firmware
Moin,
Kurzes Update, ich habe mal das USerland entpackt: $ tail -c +3320289 XT2_lu-0.0.2.14L.bin > XT2_lu-0.0.2.14L.bin.userland Mal ein Blick auf den content: $ file XT2_lu-0.0.2.14L.bin.userland XT2_lu-0.0.2.14L.bin.userland: u-boot legacy uImage, uboot ext2 ramdisk rootfs, Linux/ARM, RAMDisk Image (gzip), 3602566 bytes, Thu Mar 3 08:17:21 2016, Load Address: 0x00000000, Entry Point: 0x00000000, Header CRC: 0x1F574413, Data CRC: 0xE469D78F Aha, es handlelt sich um ein u-boot Image oder eine Ramdisk, super - nun entpacken und als loop-device mounten. Hier habe ich ein wenig suchen müssen, bin aber fündig geworden unter http://buffalo.nas-central.org/wiki/How_..._an_uImage Also dieses Skript querlesen und dann runterladen, ausführbar machen und auf die Datei loslassen: $ chmod +x extract_uImage.sh $ ./extract_uImage.sh XT2_lu-0.0.2.14L.bin.userland Checking for uImage magic word... 1+0 Datensätze ein 0+1 Datensätze aus 4 Bytes (4 B) kopiert, 0,000525778 s, 7,6 kB/s uImage recognized. Extracting data... 56290+1 Datensätze ein 7036+1 Datensätze aus 3602566 Bytes (3,6 MB) kopiert, 0,186519 s, 19,3 MB/s Checking for ARM mach-type... 3+0 Datensätze ein 0+1 Datensätze aus 3 Bytes (3 B) kopiert, 0,00068956 s, 4,4 kB/s Checking for zImage... 1+0 Datensätze ein 0+1 Datensätze aus 4 Bytes (4 B) kopiert, 0,000394403 s, 10,1 kB/s >>> XT2_lu-0.0.2.14L.bin.userland extracted to Image Es entsteht eine Datei mit dem Namen "Image", fein - was ist das? $ file Image Image: gzip compressed data, was "rootfs.ext2", last modified: Thu Mar 3 08:17:20 2016, from Unix Ok, also wieder entpacken: $ mv Image rootfs.ext2.gz $ gunzip -c rootfs.ext2.gz > rootfs.ext2 $ file rootfs.ext2 rootfs.ext2: Linux rev 0.0 ext2 filesystem data, UUID=00000000-0000-0000-0000-000000000000 $ mkdir userland $ sudo mount rootfs.ext2 userland -o loop Tada, das Image ist im Unterordner einsehbar. Habe mich kurz mal umgesehen, die meisten Programme sind Symlinks auf Busybox (oh Wunder bei einem embedded Target). $ file userland/bin/busybox userland/bin/busybox: setuid ELF 32-bit LSB executable, ARM, EABI4 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, stripped Aha, in rc.climax gehts nach dem Bootende weiter. Es wird in /root das Programm "/root/launcher" ausgeführt. In /root sind auch die ganzen Webseiten. Nur mal kurz draufgucken: $ strings userland/root/launcher /lib/ld-linux.so.3 libdl.so.2 _Jv_RegisterClasses __gmon_start__ librt.so.1 clock_gettime libm.so.6 libgcc_s.so.1 _Unwind_Resume_or_Rethrow __aeabi_unwind_cpp_pr0 _Unwind_GetRegionStart __aeabi_fadd __cxa_begin_cleanup __cxa_call_unexpected _Unwind_VRS_Set __aeabi_i2f __aeabi_idiv _Unwind_Resume _Unwind_DeleteException _Unwind_Complete __cxa_type_match __aeabi_fdiv _Unwind_RaiseException __aeabi_uidiv _Unwind_GetTextRelBase __aeabi_fmul _Unwind_GetLanguageSpecificData _Unwind_VRS_Get __gnu_unwind_frame _Unwind_GetDataRelBase __aeabi_idivmod libpthread.so.0 recv pthread_getspecific pthread_rwlock_rdlock pthread_rwlock_init pthread_cond_broadcast pthread_key_delete pthread_cancel system pthread_cond_wait pthread_rwlock_destroy pthread_rwlock_unlock pthread_cond_signal send accept pthread_cond_init pthread_key_create pthread_attr_init pthread_attr_setstacksize pthread_rwlock_wrlock funlockfile pthread_create pthread_mutex_unlock flockfile pthread_mutex_destroy pthread_mutex_lock __errno_location pthread_mutex_init pthread_cond_destroy pthread_attr_setdetachstate fcntl pthread_setspecific libc.so.6 strcpy ioctl strtok_r strerror memmove munmap __strtol_internal usleep fscanf fgets __strtoll_internal memcpy tolower malloc vsnprintf pclose socket select isspace fflush __xstat64 abort popen strnlen rename strrchr __ctype_tolower_loc calloc fprintf strcat bind setsockopt fseek memchr ferror strstr setgid strncmp unlink realloc __cxa_atexit memcmp listen sscanf fread strdup memset ftell opendir __xmknod strcmp shutdown getcwd getpwnam strcspn stderr mmap64 fputc __ctype_b_loc strftime readdir64 fwrite __fxstat64 access inet_ntop fclose fileno gmtime strspn __libc_start_main strlen toupper strchr fputs closedir setuid fseeko64 __aeabi_atexit strpbrk free fopen64 ftruncate64 _ZTVSt13bad_exception _ZTIPv _ZTVSt9type_info _ZTVN10__cxxabiv119__pointer_type_infoE _ZTVN10__cxxabiv120__si_class_type_infoE _ZTVN10__cxxabiv117__pbase_type_infoE _ZTISt10bad_typeid _ZTVSt9exception _ZTVN10__cxxabiv117__class_type_infoE _ZTVSt10bad_typeid _ZNSt13bad_exceptionD1Ev _ZTVN10__cxxabiv123__fundamental_type_infoE _ZN10__cxxabiv119__terminate_handlerE _ZTIv _ZTISt13bad_exception _ZN10__cxxabiv120__unexpected_handlerE _ZNSt10bad_typeidD1Ev GLIBC_2.4 GCC_3.3 GCC_3.0 GCC_3.5 ./hpgw hpgw kill -9 %d /etc/rc.d/init.d/dropbear start & /etc/rc.d/init.d/watchdog start & Mount temp... mount -t jffs2 /dev/mtdblock6 /root/temp/ udhcpc pppd wpa_supplicant %s:%s:%d config/debug%d.log %s: Addr=%p, Len=%u get alarm item alloc error rollover open file error Console logger mask changed Logger started... get sys item alloc error config/hpgw.log config/debug.log config/alarm.log alarm overflow! config/system.log system overflow! open debug error! open alarm error! open system error! Initialized log %s %s %s %s reload file map error get alarm file map error get sys file map error [EMR!] [ALT!] [CRT!] [ERR!] [WARN] [NOTE] [INFO] [DBG ] [MAIN] [WEB ] [ZB ] [ZBPK] [RF ] [RFPK] [GSM ] [POLL] [RPT ] [ACTN] [ALRM] [CFG ] [DEV ] [NET ] [DNS ] [BEEP] [FIND] [UPNP] [XMPP] [UPGR] [MISC] [LED ] [GSPK] [VFA ] [XCMD] [SCMD] [ZWAV] [????] [ZBS ] [ZBSP] [WORK] [WNET] reboot -d %d & /dev/rtc RTC open fail RTC_AIE_OFF fail RTC_ALM_SET fail RTC_AIE_ON fail RTC_RD_TIME fail /root /proc/sys/vm/drop_caches /sys/power/state popen fail: '%s' open sig file fail: '%s' %s.md5sum file sig fail: '%s' %s %s.md5sum read sig fail: '%s' sig mismatch: '%s' open file map fail: '%s' truncate file map fail: '%s' file map fail: '%s' stat file map fail: '%s' unknown esc:'%c' /sys/bus/usb/devices /sys/bus/usb/devices/%s/uevent DRIVER= /sys/bus/usb/devices/1-1:1.0/uevent /sys/bus/usb/devices/1-1.%u:1.0/uevent mailto opendir fail: '%s' %s/%s pidof %s pidof fail: '%s' 0123456789abcdef St13bad_exception St9exception N10__cxxabiv120__si_class_type_infoE N10__cxxabiv117__class_type_infoE St10bad_typeid St9type_info N10__cxxabiv119__pointer_type_infoE N10__cxxabiv117__pbase_type_infoE N10__cxxabiv123__fundamental_type_infoE terminate called recursively terminate called after throwing an instance of ' what(): terminate called without an active exception _GLOBAL_ (anonymous namespace) string literal vtable for VTT for construction vtable for -in- typeinfo for typeinfo name for typeinfo fn for non-virtual thunk to covariant return thunk to java Class for guard variable for reference temporary for hidden alias for operator operator ) : ( false true restrict volatile const complex imaginary global constructors keyed to global destructors keyed to std::allocator allocator std::basic_string basic_string std::string std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::istream std::basic_istream<char, std::char_traits<char> > basic_istream std::ostream std::basic_ostream<char, std::char_traits<char> > basic_ostream std::iostream std::basic_iostream<char, std::char_traits<char> > basic_iostream delete[] delete new[] sizeof signed char bool boolean char byte double long double float __float128 unsigned char unsigned int unsigned long unsigned long __int128 unsigned __int128 short unsigned short void wchar_t long long unsigned long long aeabi .shstrtab .interp .hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .text .fini .rodata .ARM.exidx .eh_frame .init_array .fini_array .jcr .data.rel.ro .dynamic .got .data .bss .ARM.attributes Tja, mal gucken was man damit machen kann. Eigentlich ist der HTTPd aber auch insofern interessant, das ich wissen möchte ob er sicher genug ist um so wie er ist im Internet zu hängen, ach ja - und ne API zu FHEM wäre noch ne Sache... Bis dahin, ciao! |
|||
16-03-2016, 19:41
Beitrag: #3
|
|||
|
|||
RE: Details der Firmware
Hallo,
ich finde Deine Ausführungen sehr interessant, da ich mir - trotz deutlich weniger Ahnung von der Linux-Materie - auch schon meine Gedanken gemacht habe, ob und ggf. wie Sicherheitslücken im OS von Lupus gepatcht werden. Nun sieht es ja so aus, als ob das Patchen auf die reine Firmware (also die Software Lupus) beschränkt ist, aber nicht auf das OS, so dass Sicherheitslücken offen blieben, über die gewitzte Angreifer vielleicht Zugriff nehmen könnten. Eine Möglichkeit, das OS up to date zu halten, ohne es zu bricken, wäre also spannend. Hier der Aufruf an Lupus, doch dazu mal Stellung zu nehmen! |
|||
17-03-2016, 12:39
Beitrag: #4
|
|||
|
|||
RE: Details der Firmware
Es ist sicher nicht verkehrt, wie schon in Beitrag #1 beschrieben, die Anlage nicht direkt ins Internet (mit Portfreigabe im Router) zu hängen, dann ist sie auch nicht so leicht angreifbar.
Über die verschlüsselte VPN-Verbindung zum Heimrouter ist dann trotzdem der Zugriff auf die Anlage möglich. |
|||
17-03-2016, 13:03
Beitrag: #5
|
|||
|
|||
RE: Details der Firmware
Könnte die Anlage denn dann trotzdem per Email Mitteilungen versenden?
Davon abgesehen ist VPN unterwegs nicht immer möglich. VPN per Handy ist zum Einen von der Funktionsfähigkeit von Software abhängig (klappt bei meinem Android 4.0.4 z.B. ums verrecken nicht) und zum anderen von Freigaben seitens der Provider. Ein AVM-Router kann z.B. auch nur zuverlässig über die Fritz Fernsteuerungssoftware per VPN angesprochen werden, die jedoch nur unter Windows funktioniert. IOS und Android sind hier außen vor, und einen Laptop hat man nun mal nicht immer zur Hand. |
|||
17-03-2016, 16:17
Beitrag: #6
|
|||
|
|||
RE: Details der Firmware
(17-03-2016 13:03)stw500 schrieb: Könnte die Anlage denn dann trotzdem per Email Mitteilungen versenden? Avm hat gute Anleitungen zum Einrichten von vpn unter IOS und Android. Und zwar native OS VPN, ohne Clientsoftware. Unter IOS nutze ich dies selbst regelmäßig. Schau mal in Deine Fritzbox (aktuelles OS?) |
|||
18-03-2016, 07:08
Beitrag: #7
|
|||
|
|||
RE: Details der Firmware
(17-03-2016 13:03)stw500 schrieb: Könnte die Anlage denn dann trotzdem per Email Mitteilungen versenden? ja, das geht weiterhin, wenn Du nicht den ausgehenden Daten Verkehr über die Fritzbox Kindersicherung eingeschränkt hast. So kann man z.B. über die Whitelist der FritzBox nur die Smtp-Server Adresse deines EMail Providers, Apple Push Dienst zugelassen werden, alles andere ist gesperrt. Ich nutze auch den eingebauten Apple VPN-Client unter iOS. |
|||
06-04-2016, 11:10
Beitrag: #8
|
|||
|
|||
RE: Details der Firmware
@Torxgewinde:
Du erwähntest die fantastischen Möglichkeit auf der Lupus eigene Programme laufen zu lassen, wie realisierst Du das konkret? Durch Manipulation der Firmware? Kommst Du per Telnet/ssh auf root? Wie stellst Du dir zukünftige Updates dann vor? Ich weiss, das sind viele Fragezeichen, aber mich würde das Thema auch interessieren! -Danke! - Viele Grüße! |
|||
10-05-2016, 17:57
Beitrag: #9
|
|||
|
|||
RE: Details der Firmware
Moin,
Sorry, ich habe hier nicht weitergemacht. Ja, VPN von iOS (iphone und ipad) klappt wunderbar. man kann das VPN sogar "on demand" aufbauen lassen, dann wird beim aufrufen der VPN internen Adresse lupus.fritz.box Adresse automatisch vorher das VPN aufgebaut. Das funktioniert auch über ALDI Talk (=E-Plus) und dürfte bei anderen Carrieren genauso klappen. Ich habe kein Portforwarding auf der Firtzbox auf die XT2, ausgehende Verbindungen sind uneingeschränkt möglich, E-Mails versenden klappt also. Ich habe mittlerweile eine BIN Datei von Lupus erhalten die die Sourcen beinhalten soll. Ich habe aber noch nicht reingeschaut. Danke aber trotzdem an die Lupus Supporter. Dieser Verpflichtung wird also nachgekommen, dass nimmt längst nicht jeder Hersteller ernst. Wenn ich die Firmware kompiliert habe, habe ich so meine Hemmungen es zu flashen. Die XT2 zu bricken wäre teuer, denn Sie steht ca. 1 Autostunde entfernt und ob ich sie dann auch wiederbeleben kann ist auch noch ungewiss :-( Ich denke ich belasse es bei einem VPN und bin mit der gebotenen Netzwerksicherheit erstmal mittelmäßig zufrieden. Lupus hätte hier natürlich die besten Möglichkeiten mal wenigstens den Kernel auf was aktuelles zu Aktualisieren - das wäre doch was. Auch eine Option für eine Shell wäre toll, meinetwegen unter Ausschluss der Garantie. |
|||
11-05-2016, 05:36
Beitrag: #10
|
|||
|
|||
RE: Details der Firmware
(10-05-2016 17:57)Torxgewinde schrieb: Ja, VPN von iOS (iphone und ipad) klappt wunderbar. man kann das VPN sogar "on demand" aufbauen lassen, dann wird beim aufrufen der VPN internen Adresse lupus.fritz.box Adresse automatisch vorher das VPN aufgebaut. Was muss ich bei iOS einstellen, damit das so funktioniert? Ich aktiviere immer erst VPN und rufe dann die Lupus App auf. |
|||
11-05-2016, 06:10
Beitrag: #11
|
|||
|
|||
RE: Details der Firmware
Moin,
Das ging mit einer Konfigurationsdatei dier man dann auf das Telefon lädt (am Rechner erstellt und dann mit E-Mail dorthin senden bei mir). Den Inhalt der Datei kann man hier finden + Anleitung: http://www.meintechblog.de/2015/02/vpn-o...inrichten/ Ich habe ein wenig gebraucht bis klar wurde was welches Feld ist, das war ein wenig Trial and Error :-( Von Komfort keine Spur, aber nachher klappt es dafür automatisch mit dem VPN Aufbau - lohnt also den Aufwand. Grüße, Tom |
|||
11-05-2016, 08:05
Beitrag: #12
|
|||
|
|||
RE: Details der Firmware
Danke für den Link, werde mich da mal dran versuchen...
|
|||
11-05-2016, 11:51
Beitrag: #13
|
|||
|
|||
RE: Details der Firmware
Interessant @Torxgewinde, was Du bisher rausgefunden hast. Bin gespannt auf die Antwort von Lupus...
|
|||
23-05-2016, 21:04
Beitrag: #14
|
|||
|
|||
RE: Details der Firmware
ich klink mich hier auch noch ein, wg.VPN.
ich betreibe die XT2 auch nur über eine VPN auf einem Android 5.1 und FritzBox, geht sehr gut, man muß nur halt jedes mal die VPN Verbindung starten wenn man auf die Anlage zugreifen möchte, geht aber sehr schnell, aus irgendwelchen mir nicht erklärlichen Gründen funktioniert die VPN-Verbindung nicht dauerhaft über Stunden, irgendwann werden keine Daten mehr übertragen. Wie auch immer, so kann man noch sicherstellen, dass einem nicht irgendwann jemand ins Wohnzimmer guckt wenn man noch, womöglich unsichere Webcams betreibt, auf die greife ich auch über die VPN zu. Was Lupus angeht, so glaube ich nicht, dass sie sich hier äußern werden, weil sie vermutlich die Firmware selber garnicht schreiben sondern die Anlage hier in DE nur vermarkten, siehe auch hier: http://www.climax.com.tw/zigbee-acc-bx.php Denke, lupus-electronics wird so eine Art Hardware und Lizenznehmer sein die eben auf den Hersteller, in dem Fall vielleicht Climax, angewiesen sind, ist aber reine Spekulation meinerseits Auch hier ein Beispiel: http://rexhome.cz/prvky.html Nur schade, dass Lupus sooooo lahm ist in der Einbindung weiterer Sensoren, ich warte schon seit über einem Jahr auf den Aussensensor, vielleicht ist es aber auch eine Geldfrage wg. der Lizenzkosten? |
|||
24-05-2016, 10:19
Beitrag: #15
|
|||
|
|||
RE: Details der Firmware
Hallo Andronex,
die Software der XT Zentralen als auch die APPs werden bei uns in Landau entwickelt. Die Produktion ist jedoch in Fernost. Apple produziert seine iPhones und iPads ja auch nicht in Kalifornien Da es extrem teuer ist eigene Gehäuse zu entwickeln, greifen wir wie auch viele andere Hersteller, bei der Vielzahl an Sensoren auf "Standardgehäuse" zurück. Ein Außenbewegungsmelder ist derzeit nicht in Planung. Mit freundlichen Grüßen, Ihr LUPUS-Electronics Support |
|||
24-05-2016, 21:30
Beitrag: #16
|
|||
|
|||
RE: Details der Firmware
(24-05-2016 10:19)lupus schrieb: Hallo Andronex, von dem Aussensensor hat mir damals der Support bei Lupus am Telefon erzählt, das ist sehr schade, dass doch nichts daraus wird und man auf teure Bastellösungen angewiesen ist, das ist ein großer Nachteil bei Lupus, Aussenalagen sind so nicht abzusichern mit dieser Anlage, das können andere Besser. |
|||
|
Möglicherweise verwandte Themen... | |||||
Thema: | Verfasser | Antworten: | Ansichten: | Letzter Beitrag | |
Details der herunterladbaren Settings der XT2 | Torxgewinde | 1 | 3.135 |
27-04-2016 20:48 Letzter Beitrag: thoern |
|
Sortierung der Sensoren in neuer Firmware XT2Plus_lu-0.0.2.14L und neuer APP V1.3.3 | Tekla | 0 | 2.115 |
06-03-2016 09:12 Letzter Beitrag: Tekla |
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste