Android-Analyse der von AliExpress gekauften TV-Box H20 mit Badbox-Malware
|
Wie in meinem vorhergehenden Artikel erwähnt, habe ich mir zwei Android-TV-Boxen auf AliExpress gekauft und bekam dann irgendwann eine Warn-e-mail von meinem Provider Vodafone, die mir mitteilte, dass irgendwas bei mir mit der Badbox-Malware infiziert sei und Schindluder im Internet treibt.
Mein Verdacht fiel auf die "üblichen Verdächtigen": Billig-Produkte als China und da hatte ich gleich die beiden TV-Boxen H20 und H20 pro im Sinn. Da dank BSI-Sinkhole zur zeit nicht viel passieren kann, hängte ich das H20 pro wieder ans Internet und beobachtete weiter. Es traten keine Vorfälle mehr auf und damit stand fest: Die mails kamen wegen dem H20 und nicht wegen des H20 pro.
Welche meiner TV-Boxen ist "böse" und wie finde ich das heraus?
Damit hätte ich die H20 entsorgen, die H20 pro weiterverwenden und das Kapitel schließen können. Hätte. Denn natürlich weckt sowas in mir meinen Forschergeist und ich wollte der Sache doch ein wenig mehr auf den Grund gehen. Herausfinden, wie ich ohne Warn-Mails herausfinde, dass die Tv-Box infiziert ist. Und zudem sichergehen, dass die H20 pro nicht doch auch irgendwie infiziert ist. Mein Misstrauen wurde geweckt.The good, the bad and the ugly
Besonders hübsch sind beide Boxen nicht, aber hässlich (ugly) würde ich sie auch nicht nennen. Aber eine war böse und eine gut, zumindest laut der Warn-mails vom BSI. Die H20 habe ich gleich einmal in der Firewall meines Routers ausgeschlossen, so dass die nicht mehr ins Internet kommt, selbst wenn sie sich die WLAN-Credentials irgendwo gespeichert haben sollte. Das kann ich dann später zum Zwecke von Tests wieder zeitweilig aufheben, wenn ich mir noch den Internet-Traffic anschauen will.Doch erstmal will ich schauen, ob man auf der Android-Oberfläche Unterschiede zwischen der H20 (bad) und H20 pro (good) erkennen kann.
H20 (bad, wohl mit Badbox infiziert) | H20 pro (good, wohl sauber lt. BSI-mails) |
---|---|
Komischerweise hat die Badbox, also die H20 keine Seriennummer und zeigt dort nur "unknown" an. | |
Die Badbox zeigt beim Gerätenamen und dem Modell "H20" an, die Goodbox "android_tv_box". Bei Kernel-Version finden wir bei der Badbox "hxws@gxt #92". Was das bedeuten soll, ist schleierhaft- HXWS war mal ein Android Smartphone-Hersteller und unter GXT werden eher Gaming-Mäuse verkauft. Und der Angabe des Builds verweist bei beiden Boxen wieder auf hxws und liest sich auch recht seltsam mit "userdebug 10" und "test-keys". Bei der Badbox steht außerdem "NHG47K". Lauft Sicherheitsforschern (9, 10) soll "NHG47K" auf die Vo1d Malware hinweisen und in den Android-Versionen 7.1.2, 12.1 und 10.1 vorkommen, die AOSP (Android Open Source Project) Versionen sind. Diese sind besonders einfach und kostengünstig anzupassen. Über 1.3 Mio. TV Boxen sollen laut Dr.Web (11) in 200 Ländern damit infiziert sein. | |
Auf beiden Geräten ist eine "HX[chin.]"-App installiert, die sich zu "HX-Testgerät" übersetzt. Sie ist wohl nicht gefährlich. Die sonst noch verdächtige App komplett in chinesisch übersetzt sich zu "Google Pinyin-Eingabemethode", ist nur auf der Badbox installiert, aber wohl auch ungefährlich, denn sie dient der Eingabe von chinesischen Zeichen durch Wischen über die Tastatur. |
Mehr können wir auf der Oberfläche von Android nicht erfahren. Wo wir gerade dabei sind, schalten wir dort das ADB-Debugging im Entwicklermodus frei, um später noch ein wenig näher auf die installierten Dateien zu schauen.
Malware Android.Vo1d
Das Vorhandensein von "NHG47K" im Build lässt also auf die Vo1d (zur Tarnung mit einer eins statt einem kleinen L) Malware schließen.Die Infektionsmerkmale sind laut Dr.Web:
- install-recovery.sh, eine Scriptdatei, die automatisch beim Start von Android ausgeführt wird, ist modifiziert:
- die Funktion func_start_kr() wurde hinzugefügt mit dem Inhalt "/system/xbin/wd &"
- der Start von func_start_kr wurde hinzugefügt: "func_start_kr >> $LOG_FILE_TMP"
- daemonsu ist modifiziert, so dass auch hier die "wd"-Komponente automatisch mitgestartet wird.
- /system/xbin/vo1d ist hinzugekommen
- /system/xbin/wd ist hinzugekommen
- /system/bin/debuggerd ist hinzugekommen
- /system/bin/debuggerd_real ist hinzugekommen
Die "wd-"-Komponente installiert dann auf Befehl des Command-and-Control-Servers weitere Malware und installiert den Dämon (Identifier Android.Vo1d.5), in diesem Fall eventuell Badbox und führt diesen aus.
Als Netzwerk-Indikatoren werden außerdem folgende Domains genannt:
- hxxp[:]//meiboot[.]com/
- hxxp[:]//bitemores[.]com/
- hxxp[:]//6f33933ce4a5c0e1b32fea736a61351a[.]com/
- hxxp[:]//catmos99[.]com:81/
Das globale Ausmaß der Malware-Verbreitung
Die Untersuchung von Doctor Web hat gezeigt, dass das Backdoor-Programm Android.Vo1d knapp 1.300.000 Geräte in fast 200 Ländern infizierte. Am stärksten betroffen waren Nutzer in Brasilien, Marokko, Pakistan, Saudi-Arabien, Russland, Argentinien. Ecuador, Tunesien, Malaysia, Algerien und Indonesien.Das ist schon eine Hausnummer. Doch damit nicht genug. Laut wired (6) haben Sicherheitsforscher auch Malware bei den folgenden TV-Boxen gefunden:
- T95, T95Z und T95MAX
- X88
- Q9
- X12PLUS
- MXQ Pro 5G
- Tablet J5-W
Und das H20 und wahrscheinlich viele andere günstige TV-Boxen aus China können sich in diese Liste einreihen. Die Namen, unter denen die TV-Boxen verkauft werden, sind zahlreich und es kommen immer wieder neue hinzu, auch wenn die Innereien oft die Gleichen sind. Oft sind AllWinner T95, AllWinner T95Max, RockChip X12-Plus, and RockChip X88-Pro-10 verbaut.
Und alle treiben reichlich Unfug im Internet: Angefangen mit dem verdeckten anklicken von Werbe-Banner, um damit Werbeeinnahmen zu generieren, über das Anlegen von Whatsapp, Google Mail und anderen Mailkonten, um damit Spam und Phishing-Mails und -Nachrichten abzusetzen. Bis hin zu allem Möglichen, denn es lässt sich angepasste, neue Malware vom C&C-Server nachladen und installieren.
Es gibt sogar Anbieter, die Botnetze vermieten. Eine chinesischer Anbieter behauptet von sich, über 20 Millionen Geräte infiziert zu haben, von denen jederzeit ca. 2 Mio. online sind. So lassen sich die infizierten Geräte im Prinzip von jedem, der dafür bezahlt mieten und missbrauchen, etwa für eine DDOS-Attacke. Technisches Know-How ist dafür nicht notwendig.
Aber nicht nur TV-Boxen, also Hardware, ist betroffen: Die Malware wird auch als Android-App verteilt. Man sollte also aufpassen, was man sich auf dem Smartphone installiert. Sicherheitsforscher haben festgestellt, (16, 17) dass es auch im vermeintlich als sicher angesehenen offiziellen Google Play-Store vor Malware wimmelt: 600 Millionen mal wurde Malware von Google Play in 2023 heruntergeladen, davon 1.5 Millionen mal chinesische Spyware.
Versuch der Identifizierung der Vo1d-Malware-Files
Leider habe ich es zuerst nicht geschafft, mit dem ADB Debugging Tool per USB auf die Boxen zuzugreifen - später dann doch, dazu unten mehr. Dazu braucht es normalerweise ein USB A zu USB Kabel, was man sich mit einem USB A zu USB C Kabel und USB C zu USB A Adapter zusammenstecken kann. Mein USB-Kabel-Tester zeigt auch an, dass alle, auch die Daten-Pins verbunden sind, aber leider wird nur ein treiberloses unbekanntes Gerät unter Windows gefunden. Auch der ADB-USB-Universal-Treiber fand das Gerät nicht, wobei es bei meinem Xiaomi Android Smartphone keine Probleme hatte.Also habe ich über eine APK einen Filemanager, genauer gesagt den TotalCommander, installiert und mir damit die System-Files direkt auf dem H20 angesehen. Doch dort gab es kein Verzeichnis namens /system/xbin/vo1d, /system/xbin/wd, /system/bin/debuggerd oder /system/bin/debuggerd_real. Und auch die Datei daemonsu scheint ganz normal zu sein, zumindest hat VirusTotal nichts finden können.
Ich habe es also mit einer Malware zu tun, die sich auf andere Weise tarnt und selbst startet. Vielleicht auch nicht direkt die Vo1d-Malware, sondern eine andere, die dann die Badbox-Malware, oder eine, die sich wie Badbox verhält, nachinstalliert. Nur welche?
Während ich auf der H20-Badbox in die System-Verzeichnisse /system/bin und /system/xbin hereinkomme und sie mir anschauen kann, gelingt mir dies auf der H20-pro (Goodbox) nicht. Das spricht dafür, dass ich Root-Rechte auf der H20 habe, die ganze TV-Box also mit Root-Rechten arbeitet.
Was findet ein Virenscanner?
Dann kam ich auf die Idee, ein Antivirus-Programm auf der Android TV-Box zu installieren, um die nach verdächtigen Files scannen zu lassen, die ich mir dann genauer anschauen könnte. Mein erster Versuch war Anti-Virus Dr.Web Light. Hier fand ich wenigstens die APK-Datei zum Download beim Hersteller. Allerdings machte sich die Software nicht gut. Auf meinem Smartphone beendete sie sich immer nach ein paar Sekunden von selbst. Und auf der TV-Box kam nur eine Meldung, ich solle mir die Vollversion kaufen, die Light-Version würde nicht auf TV-Boxen laufen.Bei anderen fand ich nicht mal eine herunterladbare APK beim Hersteller, sondern nur Verweise in den Google Play Store. Was denken sich die Antivirus-Hersteller nur? Ist denen nicht klar, dass man vielleicht ein Gerät untersuchen will und gerade nicht ins Internet (und lokale Netzwerk) will, weil man den Verdacht auf Malware hat? So ist man ja gezwungen, das vermeintlich kompromittierte Gerät ins Internet zu lassen, wo es dann unter Umständen auch gleich Unsinn anstellt.
Auf der Goodbox (der H20 Pro) habe ich über den Google Play Store Dr. Web Security Space installieren können und einen schnellen als auch einen vollständigen Scan durchführen können. Es gab zwar Probleme beim Herunterladen der 14-Tage-Demo-Lizenz, aber die Scans gingen dann gnädigerweise trotzdem. Normalerweise scheint das ein Kaufprogramm zu sein. Auf der Goodbox wurde damit keine Malware gefunden. Hier scheint alles gut. Dr. Web Security Space kann man dann übrigens auch wieder als APK herunterladen.
Was ich auch getan habe, um damit die BadBox zu scannen. Allerdings war es mir damit nicht möglich, eine 14-Tage-Test-Lizenz zu bekommen, selbst, als ich die Internet-Sperre wieder herausgenommen hatte. Ich musste die APK-Version wieder deinstallieren und auch hier in den Play Store, um dort unter Tools das Dr. Web Security Space herunterzuladen und zu installieren. Damit gelang mir dann auch ein Scan auf der Badbox (H20).
Der Schnell-Scan blieb ohne Fund. Und selbst der vollständige Scan kann nichts zu Tage fördern: Null Bedrohungen erkannt.
Im übrigen kann man hier sehen, dass die H20-pro doch ein gutes Stück schneller ist als die H20. Die H20-pro schafft 107086 Files in 4:13 Minuten, also 423 Files die Sekunde. Die H20 nur 63988 in 5:29 Minuten, was nur 194 Files/sec ist. Damit ist hier die H20-pro gut doppelt so schnell.
Trügerische Sicherheit durch Virenscanner
Ein gutes Beispiel für die trügerische Sicherheit eines Virenscanners: Es wird nichts gefunden und der Benutzer denkt, dass ja dann alles in Ordnung sein dürfte. So ist es aber nicht, wenn man den BSI-Mails Glauben schenken darf.
Ein Virenscanner auf der Ebene kann nur die Files auf dem Gerät scannen, auf etwas anderes hat es ja auch keinen Zugriff. Bei einem vollständigen Scan schaut er sich jeder einzelne File an, ob dort verdächtige Signaturen drin vorkommen.
Was aber, wenn die Malware sich auf Systemebene versteckt, ein so genanntes Root-Kit ist? Es war ja von einer speziellen Partition mit der Malware in der Pressemitteilung vom BSI die Rede. Die wird wohl zuerst gestartet und hat dann die Möglichkeit, heile Welt vorzuspielen, indem es nur "gesunde" Dateien auf der Hauptpartition anzeigt. So kann der Virenscanner nichts finden.
Um mir die Partitionen des Android-Systems anzuschauen, muss ich über ADB darauf zugreifen.
Analyse über ADB
Schließlich habe ich doch noch eine ADB-USB-Verbindung herstellen können. In den Entwickler-Optionen musste neben "USB-Debugging, Debugmodus bei Anschluss über USB" auch noch "USB settings, (dis)connect to Computer" eingeschaltet werden. Diese Option scheint sich bei jedem Neustart von selbst zurückzusetzen und muss jedes mal neu gesetzt werden.
Das zusammengesteckte USB-A-C-A-Kabel wie oben beschrieben funktionierte dann auch gut und zwar in beide Richtungen, also einmal den Adapter in die TV-Box eingesteckt und einmal in den USB-Hub am Computer.
Nun kann ich wieder einen Vergleich zwischen Goodbox und Badbox fahren, um weitere Auffälligkeiten zu finden.
Die "normalen" Linux-Befehle zeigen also keine neuen Dinge, die auf eine Malware schließen würden. Ich versuche zum Schluss noch ein "adb bugreport h20", um zahllose weitere Informationen über das System zu sammeln, um genau zu sein, 6.7 MB. Diese nach Auffälligkeiten durchzuarbeiten ist eine Sisyphus-Aufgabe. Darum hier nur ein paar Dinge, die mir aufgefallen sind:
Build: H20-userdebug 10 NHG47K eng.hxws.20230928.160107 test-keys
Build fingerprint: 'Android/hx322x_box/hx322x_box:7.1.2/NHG47K/hxws09281601:userdebug/test-keys'
Bootloader: unknown
Radio: (unknown)
Network: (unknown)
Kernel: Linux version 3.10.104 (hxws@gxt) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #92 SMP PREEMPT Thu Sep 28 15:58:44 CST 2023
Nachtrag 2025-01-10: weitere Ausprägung der Malware
Auf Github bin ich über die Analyse (8) von Daniel Milisic, Gründer von DesktopEcho, gestoßen, der eine Malware auf einem T95-H616-Android-System analysiert hat.Betroffen sind lt. seiner Analyse die folgenden TV-Boxen mit folgenden SoC / Prozessoren:
- T95 · AllWinner H616
- T95Max · AllWinner H618
- X12-Plus · RockChip 3328
- X88-Pro-10 · RockChip 3328
- Vorhandensein des Verzeichnisses /data/system/Corejava
- Vorhandensein der Datei /data/system/shared_prefs/open_preference.xml
H20:/data/system/Corejava # ls -a -l
total 32
drwxr-xr-x 3 system system 4096 1970-01-01 01:15 .
drwxrwxr-x 16 system system 4096 1970-01-01 01:30 ..
-rw------- 1 system system 40 1970-01-01 01:00 e.l
drwxr-xr-x 2 system system 4096 1970-01-01 01:15 node
H20:/data/system/Corejava # xxd -g 1 e.l
00000000: 00 00 00 00 00 02 26 07 00 00 00 00 00 00 00 00 ......&.........
00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000020: 00 00 00 28 00 00 00 00 ...(....
H20:/data/system/Corejava/node # ls -a -l
total 16
drwxr-xr-x 2 system system 4096 1970-01-01 01:15 .
drwxr-xr-x 3 system system 4096 1970-01-01 01:15 ..
Vielleicht sind das noch Überbleibsel der früheren Version der Badbox-Malware, bei denen vergessen wurde, sie in der Firmware komplett zu löschen.
Ein weiteres Feld, in denen man nach der Malware suchen könnte, sind die installierten Pakete. Dies sind auf meiner H20 TV-Box die folgenden, wobei ich ein paar fett markiert habe, die vielleicht aus dem Rahmen fallen.
H20:/data/system/Corejava/node # pm list packages
package:com.android.cts.priv.ctsshim
package:com.google.android.ext.services
package:com.example.changeled
package:com.android.providers.calendar
package:com.android.tv.settings
package:com.android.providers.media
package:com.google.android.onetimeinitializer
package:com.google.android.ext.shared
package:com.dd.bugreport
package:com.uptodown (von mir installiert)
package:com.android.documentsui
package:com.android.gallery
package:com.android.externalstorage
package:com.android.htmlviewer
package:com.ghisler.android.TotalCommander
package:com.hx.guardservice
package:com.android.providers.downloads
package:com.android.providers.tv
package:org.cosinus.launchertv (von mir installierter Simple TV Launcher)
package:com.google.android.configupdater
package:com.android.inputmethod.pinyin
package:com.android.defcontainer
package:com.android.providers.downloads.ui
package:com.android.vending
package:com.android.pacprocessor
package:com.android.certinstaller
package:android.rockchip.update.service
package:android
package:com.android.rockchip
package:com.android.backupconfirm
package:com.android.statementservice
package:com.hx.devicemonitor
package:com.android.providers.settings
package:com.android.sharedstoragebackup
package:com.rockchip.devicetest
package:com.android.printspooler
package:com.charon.rocketfly
package:com.rockchips.mediacenter
package:com.android.dreams.basic
package:com.android.inputdevices
package:com.google.android.webview
package:com.rockchip.wfd
package:com.google.android.syncadapters.contacts
package:com.android.keychain
package:com.android.chrome
package:com.teamsmart.videomanager.tv
package:com.google.android.gms
package:com.google.android.gsf
package:com.google.android.partnersetup
package:com.android.packageinstaller
package:com.svox.pico
package:com.hx.update
package:org.xbmc.kodi (von mir installiert)
package:com.android.proxyhandler
package:com.android.inputmethod.latin
package:com.google.android.feedback
package:com.google.android.syncadapters.calendar
package:com.hx.appcleaner
package:com.google.android.gsf.login
package:com.android.wallpaper.livepicker
package:com.hx.rcs
package:com.cghs.stresstest
package:org.mozilla.firefox
package:com.hx.mboxlauncher
package:com.google.android.backuptransport
package:com.android.settings
package:com.android.calculator2
package:com.android.cts.ctsshim
package:com.hxdevicetest
package:com.drweb.pro (von mir installiert)
package:com.android.vpndialogs
package:com.hx.videotest
package:com.android.music
package:com.android.shell
package:com.android.wallpaperbackup
package:com.android.providers.userdictionary
package:com.android.location.fused
package:com.android.systemui
package:com.android.bluetooth
package:com.android.providers.contacts
package:com.android.captiveportallogin
Zusammenfassung Android Analyse
Die Badbox-Malware auf meiner H20 TV-Box kann also durch folgende Eigenschaften des Android identifiziert werden:- "NHG47K" taucht in der Build-Angabe unter Info in der Android Oberfläche unter Einstellungen auf
- Rootrechte, Zugriff auf z. B. die System-Verzeichnisse /system/bin und /system/xbin mit File-Manager wie TotalCommander
- Vorhandensein des Verzeichnisses /data/system/Corejava
- Vorhandensein der Datei /data/system/shared_prefs/open_preference.xml
Hier geht es weiter zur Analyse des Netzwerk-Verkehrs der Badbox.
Quellen, Literaturverweise und weiterführende Links
(1) BSI: CERT-Bund-Reports
(2) BSI weist auf vorinstallierte Schadsoftware auf IoT-Geräten hin
(3) BSI: Fragen und Antworten zu Botnetzen
(4) BSI: Steckbriefe aktueller Bots
(5) BSI: Steckbrief Badbox
(6) Wired: Your Cheap Android TV Streaming Box May Have a Dangerous Backdoor
(7) Malwarebytes Labs: Analyzing and remediating a malware infested T95 TV box from Amazon
(8) Github: DesktopECHO / T95-H616-Malware Infos
(9) Neue Malware auf 1,3 Millionen Android-TV-Boxen – vor allem auf Billig-Geräten
(10) Bleeping Computer: New Vo1d malware infects 1.3 million Android streaming boxes
(11) Dr.Web: Android.Vo1d hat über 1 Mio. Set-Top-Boxen unter Android infiziert
(12) Dr.Web: Steckbrief Android.Vo1d.1
(13) Dr.Web: Steckbrief Android.Vo1d.3
(14) Dr.Web: Steckbrief Android.Vo1d.5
(15) Dr. Web on GitHub: Void captures over a million Android TV boxes — Indicators of compromise
(16) EFF.org: Android TV Boxes Sold on Amazon Come Pre-Loaded with Malware
(17) Chip: Versteckte Gefahren im Google Play Store: Millionenfach schädliche Apps verteilt
(18) Kaspersky: Schadsoftware auf Google Play – mehr als 600 Millionen Downloads im Jahr 2023; 1,5 Millionen Downloads: chinesische Spyware
(19) heise: Android-Malware: 90 Apps mit 5,5 Millionen Installationen entdeckt
(20) Trend Micro: Lemon Group’s Cybercriminal Businesses Built on Preinfected Devices
(2) BSI weist auf vorinstallierte Schadsoftware auf IoT-Geräten hin
(3) BSI: Fragen und Antworten zu Botnetzen
(4) BSI: Steckbriefe aktueller Bots
(5) BSI: Steckbrief Badbox
(6) Wired: Your Cheap Android TV Streaming Box May Have a Dangerous Backdoor
(7) Malwarebytes Labs: Analyzing and remediating a malware infested T95 TV box from Amazon
(8) Github: DesktopECHO / T95-H616-Malware Infos
(9) Neue Malware auf 1,3 Millionen Android-TV-Boxen – vor allem auf Billig-Geräten
(10) Bleeping Computer: New Vo1d malware infects 1.3 million Android streaming boxes
(11) Dr.Web: Android.Vo1d hat über 1 Mio. Set-Top-Boxen unter Android infiziert
(12) Dr.Web: Steckbrief Android.Vo1d.1
(13) Dr.Web: Steckbrief Android.Vo1d.3
(14) Dr.Web: Steckbrief Android.Vo1d.5
(15) Dr. Web on GitHub: Void captures over a million Android TV boxes — Indicators of compromise
(16) EFF.org: Android TV Boxes Sold on Amazon Come Pre-Loaded with Malware
(17) Chip: Versteckte Gefahren im Google Play Store: Millionenfach schädliche Apps verteilt
(18) Kaspersky: Schadsoftware auf Google Play – mehr als 600 Millionen Downloads im Jahr 2023; 1,5 Millionen Downloads: chinesische Spyware
(19) heise: Android-Malware: 90 Apps mit 5,5 Millionen Installationen entdeckt
(20) Trend Micro: Lemon Group’s Cybercriminal Businesses Built on Preinfected Devices