DroidJack nutzt Sideload … super effektiv! Android-App Pokemon GO mit Backdoor entdeckt

July 14, 2016

Pokemon GO ist das erste von Nintendo für iOS- und Android-Geräte genehmigte Pokemon-Game. Das Augmented-Reality-Spiel wurde am 4. Juli zuerst in Australien und Neuseeland veröffentlicht, und Anwender in anderen Regionen haben schnell nach angepassten Versionen für ihre Geräte verlangt. In den USA wurde es am 6. Juli veröffentlicht, doch der Rest der Welt wird der Versuchung ausgesetzt bleiben, ein Exemplar jenseits der legalen Kanäle zu finden. So gibt es eine Reihe veröffentlichter Anleitungen für das sogenannte Sideloading der App auf Android-Systeme. Wie bei vielen Apps, die nicht über die offiziellen Stores installiert werden, erhalten die Anwender eventuell unerwünschte Zugaben.

In diesem Fall entdeckten Forscher von Proofpoint eine infizierte Android-Version des jüngst herausgegebenen Mobilgames Pokemon GO [1]. Diese spezielle APK war dahingehend modifiziert worden, dass sie das bösartige Fernzugriffstool (Remote Access Tool, RAT) DroidJack (auch unter dem Namen SandroRAT bekannt) enthält, mit dem ein Angreifer potenziell das Smartphone des Opfers vollständig kontrollieren kann. Das Fernzugriffstool DroidJack wurde bereits in der Vergangenheit beschrieben, etwa von Symantec [2] und Kaspersky [3]. Wir haben diese bösartige APK (?)zwar noch nicht in freier Wildbahn gesichtet, doch ist sie am 7. Juli 2016 um 09:19:27 UTC auf einen Ablagedienst für bösartige Dateien hochgeladen worden, weniger als 72 Stunden nach der offiziellen Freigabe des Games in Neuseeland und Australien.

Da das Spiel nicht weltweit zur gleichen Zeit freigegeben worden war, dürften sich wahrscheinlich viele Gamer, die das Spiel vor der Freigabe in ihrer Region haben wollten, damit beholfen haben, die APK von Drittquellen herunterzuladen. Außerdem haben viele große Medienangebote Anleitungen dazu bereitgestellt, wie man das Spiel von einem Drittanbieter herunterlädt [4,5,6]. Manche gingen noch weiter und beschrieben, wie die von einem Drittanbieter heruntergeladene APK installiert wird [7]:

Um eine APK direkt zu installieren, müssen Sie Ihrem Android-Gerät zuerst sagen, dass es Apps aus fremden Quellen akzeptieren soll. Dies erreicht man normalerweise, indem man die Einstellungen aufruft, den Abschnitt Sicherheit wählt und das Kontrollkästchen ‚Unbekannte Quellen‘ aktiviert.“

Dies ist leider ein extrem riskantes Verfahren und kann leicht dazu führen, das Anwender bösartige Apps auf ihren eigenen Mobilgeräten installieren. Falls jemand eine APK von einem Drittanbieter herunterlädt, die mit einer Backdoor infiziert ist, wie diejenige, die wir entdeckt haben, ist sein Gerät kompromittiert.

Wer besorgt ist, ob er eine bösartige APK heruntergeladen hat, kann auf verschiedene Weisen feststellen, ob sein Gerät nun infiziert ist. Erstens kann er den SHA256-Hash der heruntergeladenen APK prüfen. Die rechtmäßige Anwendung, die von den Medienanbietern häufig verlinkt wurde, hat den Hashwert 8bf2b0865bef06906cd854492dece202482c04ce9c5e881e02d2b6235661ab67; allerdings können inzwischen auch aktualisierte Versionen herausgegeben worden sein. Die bösartige APK, die wir analysierten, hat den SHA256-Hashwert 15db22fd7d961f4d4bd96052024d353b3ff4bd135835d2644d94d74c925af3c4.

Eine andere einfache Methode festzustellen, ob ein Gerät infiziert ist, besteht darin, die Berechtigungen der Anwendung zu prüfen. Normalerweise kann man sie einsehen, indem man zu Einstellungen -> Apps -> Pokemon GO geht und dann zum Abschnitt BERECHTIGUNGEN scrollt. Abbildung 1 zeigt eine Liste von Berechtigungen der rechtmäßigen Anwendung. Diese Berechtigungen können je nach der Konfiguration des Geräts anders ausfallen. So sind zum Beispiel die Berechtigungen „Google Play Rechnungsservice“ und „Daten aus dem Internet abrufen“ in der Abbildung nicht zu sehen, wurden aber bei einem anderen Gerät beim Download von Pokemon GO aus dem Google Play Store gewährt. In Abbildung 2 und 3 wurden die hervorgehobenen Berechtigungen von DroidJack hinzugefügt. Wenn die Pokemon GO-App diese Berechtigungen hat, kann dies ein Hinweis darauf sein, dass das Gerät infiziert ist, jedoch können sich diese Berechtigungen in Zukunft ebenfalls ändern.

pokemon-fig1.png
Abbildung 1: Berechtigungen der rechtmäßigen Pokemon GO APK

pokemon-fig2.png
Abbildung 2: Berechtigungen der Pokemon GO APK mit Backdoor (erster Screenshot)

pokemon-fig3.png
Abbildung 3: Berechtigungen der Pokemon GO APK mit Backdoor (zweiter Screenshot)

Die infizierte Pokemon GO APK wurde so verändert, dass das Opfer beim Start der App wahrscheinlich nicht bemerkt, dass es eine bösartige Anwendung installiert hat. Abbildung 4 zeigt den Startbildschirm des infizierten Pokemon GO-Spiels, der identisch mit dem der rechtmäßigen App ist.

pokemon-fig4.png
Abbildung 4: Startbildschirm des infizierten Pokemon GO; er scheint identisch mit dem der rechtmäßigen Anwendung zu sein

Bei einer weiteren Untersuchung des infizierten Spiels werden im Vergleich zur rechtmäßigen Version drei Klassen deutlich, die vom Angreifer hinzugefügt wurden. Abbildung 5 zeigt die Klassen des rechtmäßigen Spiels, Abbildung 6 diejenigen des infizierten Spiels, darunter auch die folgenden hinzugefügten Klassen:

  • a
  • b
  • net.droidjack.server

Darüber hinaus wurde das Fernzugriffstool DroidJack für die Kommunikation mit der Command-and-Control-(C&C)-Domäne pokemon[.]no-ip[.]org über den TCP- und UDP-Port 1337 konfiguriert (Abb. 7). No-ip.org ist ein Dienst, der für die Verbindung eines Domänennamens mit einer dynamischen IP-Adresse genutzt wird, wie sie im Allgemeinen Privat- oder Kleinunternehmensnutzern zugewiesen wird (im Gegensatz zu einer dedizierten IP-Adresse). Doch werden dynamische IP-Adressen häufig auch von Bedrohungsakteuren verwendet, neben anderen ähnlichen Diensten wie DynDNS. Zum Zeitpunkt der Analyse hatte die C&C-Domäne eine IP-Adresse in der Türkei (88.233.178[.]130), die keine Verbindungen von infizierten Geräten akzeptierte.


Abbildung 5: Klassen der rechtmäßigen Pokemon GO-App

pokemon-fig6.png
Abbildung 6: Klassen der infizierten Pokemon GO-App mit hervorgehobenen bösartigen Klassen


Abbildung 7: Hartcodierte C&C-Domäne und Port

Schluss

Es ist niemals empfehlenswert, Apps aus Quellen zu installieren, die nicht die offiziell geprüften und genehmigten Appstores der Unternehmen sind. Offizielle und Unternehmens-Appstores verfügen über Verfahren und Algorithmen zur Prüfung der Sicherheit von Mobilanwendungen, während mittels Sideload aus anderen, häufig fragwürdigen Quellen bezogene Apps die Benutzer und ihre Mobilgeräte durch eine Vielzahl von Schadprogrammen gefährden. Wie im Fall der von uns analysierten kompromittierten Pokemon GO-APK besteht die Möglichkeit, dass Angreifer ein Mobilgerät vollständig kompromittieren. Wenn dieses Gerät mit einem Unternehmensnetzwerk verbunden wird, sind auch die Netzwerkressourcen gefährdet.

Auch wenn diese APK noch nicht in freier Wildbahn gesichtet wurde, stellt sie einen wichtigen Machbarkeitsnachweis dar: nämlich, dass Cyberkriminelle die Beliebtheit von Anwendungen wie Pokemon GO nutzen, um Nutzer dazu zu bringen, Malware auf ihren Geräten zu installieren. Fazit: Nur weil man die Möglichkeit hat, die neueste Software auf seinem Gerät zu installieren, heißt das noch nicht, dass man das auch tun sollte. Die beste Möglichkeit zu verhindern, dass das Gerät und mit ihm die Netzwerke, auf die es Zugriff hat, kompromittiert werden, besteht darin, verfügbare Anwendungen von den rechtmäßigen Appstores herunterzuladen.

Quellen

  1. http://pokemongo.nianticlabs.com/en/
  2. http://www.symantec.com/connect/blogs/droidjack-rat-tale-how-budding-entrepreneurism-can-turn-cybercrime
  3. http://www.welivesecurity.com/2015/10/30/using-droidjack-spy-android-expect-visit-police/
  4. https://www.theguardian.com/technology/2016/jul/07/how-to-get-pokemon-go-uk
  5. http://www.wired.co.uk/article/pokemon-go-out-now-download-ios-android
  6. http://www.androidpolice.com/2016/07/07/pokemon-go-now-live-several-countries-including-australia-new-zealand-possibly/
  7. http://arstechnica.com/gaming/2016/07/pokemon-go-ios-android-download/

Hinweise auf Angriffe (Indicators of Compromise, IOC)

IOC IOC Type Description
15db22fd7d961f4d4bd96052024d353b3ff4bd135835d2644d94d74c925af3c4 SHA256 Backdoored Pokemon GO APK
d350cc8222792097317608ea95b283a8 MD5 Backdoored Pokemon GO APK
[pokemon.no-ip.org] Domian DroidJack C&C
[88.233.178.130] IP DroidJack C&C

Ausgewählte ET-Signaturen, die bei derartigem Datenverkehr ansprechen würden:

2821000 || ETPRO MOBILE_MALWARE Pokemon GO AndroidOS.DroidJack DNS Lookup
2821003 || ETPRO MOBILE_MALWARE AndroidOS.DroidJack UDP CnC Beacon