Backdooring eines HTC mit Windows Mobile

Backdooring eines HTC mit Windows Mobile

Marc Ruef
von Marc Ruef
Lesezeit: 9 Minuten

In den letzten Monaten haben wir viel Energie in die sicherheitstechnische Analyse von mobilen Geräten investiert. In unterschiedlichen Projekten ging es darum die gegebene Sicherheit und die effektiv möglichen Angriffvektoren zu determinieren. Neben dem Auslesen geschützter Bereiche war jeweils ebenfalls das Entwickeln einer Backdoor als Ziel definiert (z.B. als GPS-Tracker für ein iPhone).

Eines der Projekte beschäftigte sich mit der Sicherheit eines HTC-Geräts (HTC Touch Diamond 2), auf dem Windows Mobile 6.1 installiert ist. Dieses wird als professionelles Gerät im geschäftlichen Alltag genutzt und ist deshalb mit verschiedenen zusätzlichen Sicherheitsmechanismen ausgerüstet worden.

Die Entwicklung eines Backdoors sollte aufzeigen, dass das zielgerichtete Umsetzen von Malware (ähnlich Backdoor.WinCE.Brador.a) möglich ist, sich diese einschleusen und ausführen liess, um sensitive Daten kopieren oder manipulieren zu können. Die Entwicklung des korrupten Programmcodes wurde mit Microsoft Visual Studio 2008 angegangen.

Backdoor auf einem HTC mit Windows Mobile

Das Projekt für mobile Geräte stellte eine ARM-Portierung unserer Standard-Backdoor dar, die ursprünglich für Win32-Plattformen geschrieben wurde. Die gesammelten Daten (wahlweise Kontakte aus dem Adressbuch, SMS-Nachrichten, Emails oder Kalender-Einträge) wurden über HTTP an einen Webserver geschickt. Durch das Tunnelling über einen legitimen Kanal sowie das eigenständige Pushen der Informationen sollten Limitierungen umgangen werden.

Die grösste Schwierigkeit der Entwicklung lag darin, die doch eher schlecht dokumentierten Mechanismen zum eigenen Vorteil nutzen zu können. Einmal mehr gesellt sich Windows Mobile Development in jenen Bereich, in dem sehr viel Halbwissen transportiert wird. Einfache Code-Beispiele, aus denen man die korrupten Programmteile ableiten hätten können, fanden sich nur sehr selten.

Komponente Ansatz
Infektion Herkömmliche CAB-Installation (Kopieren & Ausführen)
Rechteausweitung Nicht erforderlich, da Zugriffe erlaubt
Datensammlung Zugriffe über Microsoft.WindowsMobile.PocketOutlook
Kommunikation HTTP-Tunnel (Instanzierung des Internet Explorer)

Der Zugriff auf gewisse Bereiche des Systems ist zudem mit Bordmitteln des .NET Frameworks nur mit erheblichem Aufwand möglich. Umfangreiche Konstrukte sind, gerade bei älteren Versionen von Windows Mobile, erforderlich. Das Schreiben von zuverlässigem Code, der unter den meisten Bedingungen reibungslos funktioniert, wird damit erheblich erschwert.

Die Infektion eines mobilen Geräts muss normalerweise über eine herkömmliche Installation erfolgen. Die Backdoor wird sodann in ein reguläres CAB-Archiv gepackt, auf das Gerät kopiert und auf diesem manuell (über den Explorer) installiert. Es findet sich sodann im Programme-Ordner, in dem man es wiederum manuell starten muss. Das Automatisieren dieses Prozesses ist nur unter der Ausnutzung fehlerhafter Software-Komponenten (z.B. dem eingesetzten Webbrowser) möglich. Das Tarnen einer vermeintlich legitimen Applikation dürfte aber die eine oder andere Infektion vorantreiben lassen.

Wird die Anwendung dann erst einmal ausgeführt, kann diese mit sämtlichen Rechten agieren. So können nach Belieben auf Eigenschaften, Objekte und Dateien des Geräts zugegriffen werden. Durch den Import von Microsoft.WindowsMobile.PocketOutlook lassen sich relativ komfortabel Zugriffe auf Email, SMS, Kontakte und Kalender realisieren. Nachfolgendes Code-Beispiel zeigt auf, wie über eine Session in PocketOutlook die Kontakte ausgelesen werden können:

Private Sub ShowContacts()
   Dim s As Microsoft.WindowsMobile.PocketOutlook.OutlookSession = New OutlookSession()
   Dim i As Integer

For i = 0 To s.Contacts.Items.Count – 1 MsgBox(s.Contacts.Items.Item(i).LastName) Next End Sub

Weiterführende Low Level Zugriffe im System sind aufgrund eines mangelhaften Rechtesystems – ganz im Gegensatz zum iPhone – ebenso ohne weiteres möglich. So kann beispielsweise die Registry angepasst werden, wodurch sich Autostart-Mechanismen realisieren liessen. Als Grund für das Fehlen eines granularen Rechtemodells nennt das Microsoft TechNet die limitierten Ressourcen der Geräte:

Like any other security model, Windows Mobile software does have a concept of permissions. We’ve already established that tracking per-item permissions is too resource intensive for mobile devices; instead, a much simpler model of three permission tiers is used: (…)

Generell liegt hier ein allgemeines Problem vor, mit dem Windows (und viele andere Betriebssysteme) auch auf Client-Rechnern schon seit jeher zu kämpfen haben. Korrupter Programmcode kann als solcher nicht erkannt werden, wenn er legitime Zugriffe ausführt. Im geschilderten Fall können auch keine Antiviren-Lösungen für Windows Mobile helfen, die Backdoor als solche zu erkennen. Ist die Installation vom Benutzer zugelassen, werden nur noch herkömmliche Daten- und Netzwerkzugriffe umgesetzt.

Produkt Portal
Apple iPhone/iPod AppStore
Google Android Android Market
Microsoft Windows Mobile Windows Marketplace
Nokia Ovi Store
RIM BlackBerry App World

Die Schwierigkeit liegt nun darin, vor der Ausführung von Malware eben diese als solche zu erkennen. Im Fall des unumgehbaren AppStore ist Apple durch eine strikte Policy und eine streng durchgeführte Prüfung der Apps in der Lage, korrupte Programme als solche vorgängig zu identifizieren. Wird auf eine zentrale Stelle mit dieser erhöhten Kompetenz verzichtet (z.B. wie im Fall des Android Market), ist die Prüfung dem Benutzer überlassen. Jenachdem ist es sodann gar nicht mehr oder nur noch mit erhöhtem Aufwand möglich, korrupten Programmcode zu identifizieren. Gerade vorkompilierte Applikationen bieten sich förmlich an, um Geräte zu kompromittieren.

Über den Autor

Marc Ruef

Marc Ruef ist seit Ende der 1990er Jahre im Cybersecurity-Bereich aktiv. Er hat vor allem im deutschsprachigen Raum aufgrund der Vielzahl durch ihn veröffentlichten Fachpublikationen und Bücher – dazu gehört besonders Die Kunst des Penetration Testing – Bekanntheit erlangt. Er ist Dozent an verschiedenen Fakultäten, darunter ETH, HWZ, HSLU und IKF. (ORCID 0000-0002-1328-6357)

Links

Sie wollen die Resistenz Ihres Unternehmens auf Malware prüfen?

Unsere Spezialisten kontaktieren Sie gern!

×
Konkrete Kritik an CVSS4

Konkrete Kritik an CVSS4

Marc Ruef

scip Cybersecurity Forecast

scip Cybersecurity Forecast

Marc Ruef

Voice Authentisierung

Voice Authentisierung

Marc Ruef

Bug-Bounty

Bug-Bounty

Marc Ruef

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv