Entdeckung und seitliche Bewegung
Links zu allen Teilen:Teil 1. Erstzugriff auf ein mobiles Gerät (Erstzugriff)Teil 2. Beharrlichkeit und EskalationTeil 3. Zugriff auf Anmeldeinformationen erhalten (Zugriff auf Anmeldeinformationen)Teil 4. VerteidigungshinterziehungNachdem der Gegner Zugriff auf ein mobiles Gerät erhalten hat, wird er wahrscheinlich versuchen, sich mit normalen Mitteln des Betriebssystems umzuschauen, um zu verstehen, welchen Vorteil er erzielt hat und ob er dazu beiträgt, das Ziel der Invasion zu erreichen. Diese Phase des Angriffs wird als Entdeckung bezeichnet. Umfragetechniken zielen darauf ab, Informationen über die Eigenschaften eines gefährdeten Mobilgeräts sowie über andere verfügbare Netzwerksysteme zu erhalten.
Nachdem der Gegner die in der angegriffenen Umgebung verfügbaren Funktionen bewertet hat, wird er versuchen, Zugriff auf Remote-Systeme zu erhalten, und möglicherweise wird die Kontrolle über diese Systeme versuchen, bösartige Tools auf Remote-Systemen zu starten. Die beschriebene Aktivität heißt Seitenbewegung. Zu den seitlichen Bewegungsmethoden gehören auch Mittel zum Sammeln von Informationen von Remote-Systemen ohne Verwendung zusätzlicher Tools, wie z. B. RAT-Dienstprogramme (Remote Access Tools).
Der Autor ist nicht verantwortlich für die möglichen Folgen der Anwendung der im Artikel enthaltenen Informationen und entschuldigt sich auch für mögliche Ungenauigkeiten in einigen Formulierungen und Begriffen. Bei den veröffentlichten Informationen handelt es sich um eine kostenlose Nacherzählung des Inhalts von ATT @ CK Mobile Matrices: Device Access .Plattform: Android, iOS
Beschreibung: Um Sicherheitstools im angegriffenen System zu identifizieren, kann ein Angreifer versuchen, auf dem Gerät installierte Anwendungen zu identifizieren, die das Risiko der Erkennung böswilliger Aktivitäten erhöhen könnten, oder umgekehrt, um Anwendungen zu identifizieren, auf die ein weiterer Angriff abzielt.
In Android können Anwendungen die
PackageManager- Klassenmethode
verwenden, um andere Anwendungen oder andere Objekte mit Befehlszeilenzugriff
aufzulisten und den Befehl
pm zu verwenden. Unter iOS können Apps private API-Aufrufe verwenden, um eine Liste der auf dem Gerät installierten Apps abzurufen. Eine Anwendung, die private API-Aufrufe verwendet, wird jedoch wahrscheinlich nicht im AppStore akzeptiert.
Schutzempfehlungen : Methoden zur Anwendungsüberprüfung sollten Mittel zum Identifizieren von Anwendungen enthalten, die die
PackageManager- Klasse zum
Auflisten anderer Anwendungen verwenden. Dieser Ansatz kann jedoch unpraktisch sein, da Viele Anwendungen rufen die Methoden der
PackageManager- Klasse als Teil ihrer regulären Arbeit auf. In iOS können Anwendungsüberprüfungstools ebenfalls nach privaten API-Aufrufen suchen.
Plattform: Android
Beschreibung: In Android sind Gerätetypinformationen über die Klasse
android.os.Build verfügbar. Geräteinformationen können verwendet werden, um gezielte Exploits, die die Berechtigungen verbessern, weiter auszunutzen.
Schutzempfehlungen : Während der vorläufigen Überprüfung werden möglicherweise Anwendungen erkannt, die die Klasse
android.os.Build verwenden. Diese Maßnahme ist jedoch nicht wirksam, da viele Anwendungen diese Funktionalität im Rahmen der regulären Arbeit verwenden.
Plattform: Android
Beschreibung: Um den Inhalt des Dateisystems in Android aufzulisten, können Sie die Befehlszeilentools oder die Java-API zum Arbeiten mit Dateien verwenden. Unter Linux und SELinux ist der Anwendungszugriff auf Dateien jedoch normalerweise sehr eingeschränkt (es sei denn, Sie verwenden einen Exploit, um die Berechtigungen zu erhöhen). In der Regel können Anwendungen auf den Inhalt eines externen Speichers zugreifen. Daher sollte die unangemessene Speicherung vertraulicher Daten dort ein Problem darstellen. Die iOS-Sicherheitsarchitektur schränkt normalerweise die Fähigkeit ein, Dateien und Verzeichnisse ohne erweiterte Berechtigungen zu erkennen.
Schutzempfehlungen: Die Möglichkeit einer Eskalation von Berechtigungen ist mit jeder neuen Version von Android und iOS kompliziert. In neueren Versionen von Android wurde die Sandbox verbessert, wodurch die Fähigkeit von Anwendungen eingeschränkt wird, den Inhalt des Dateisystems aufzulisten.
Plattform: Android, iOS
Beschreibung: Mithilfe von Port- und Schwachstellenscannern können Angreifer versuchen, eine Liste der Dienste abzurufen, die auf Remote-Geräten ausgeführt werden, einschließlich solcher mit Schwachstellen bei der Remote-Ausnutzung. Das Vorhandensein eines mobilen Geräts, das über eine lokale oder VPN-Verbindung mit dem internen Netzwerk des Unternehmens verbunden ist, kann vom Gegner als potenzieller Vorteil angesehen werden.
Plattform: Android
Beschreibung: In Android bis Version 5 können Anwendungen Informationen zu anderen Prozessen erhalten, die mit den Methoden der
ActivityManager- Klasse ausgeführt werden. Unter Android, das älter als Version 7 ist, können Anwendungen diese Informationen erhalten, indem sie den Befehl
ps ausführen oder das Verzeichnis
/ proc untersuchen . Ab Android 7 verhindert die Verwendung der
Hidepid- Funktion des Linux-Kernels, dass Anwendungen ohne erhöhte Berechtigungen Informationen über andere Prozesse erhalten.
Schutzempfehlungen: Verwenden von Android OS Version 7 und höher.
Plattform: Android, iOS
Beschreibung: Ein Angreifer könnte versuchen, detaillierte Informationen über das Betriebssystem und die Hardware abzurufen, einschließlich der Version, der installierten Fixes und der Architektur. Unter Android sind die meisten Systeminformationen über die Klasse
android.os.Build verfügbar. Unter iOS gibt es auch Methoden, mit denen Anwendungen auf Systeminformationen zugreifen können.
Plattform: Android
Beschreibung: In Android stehen Anwendungen über die Klasse
java.net.NetworkInteface Konfigurationsdetails für eingebettete Netzwerkschnittstellen zur Verfügung. Mit der
TelephonyManager- Klasse können Informationen wie IMSI, IMEI und Telefonnummer erfasst werden.
Schutzempfehlungen : Eine vorläufige Analyse der Anwendung sollte die Überprüfung umfassen,
ob die Anwendung
ACCESS_NETWORK_STATE- Berechtigungen (erforderlich für den Zugriff auf
NetworkInterface- Informationen) oder
READ_PHONE_STATE (erforderlich für den Zugriff auf
TelephonyManager- Informationen)
anfordert . Ab Android 6.0 können Anwendungen nicht auf die MAC-Adressen von Netzwerkschnittstellen zugreifen.
Plattform: Android
Beschreibung: Anwendungen können Standard-APIs verwenden, um Daten über ausgehende und eingehende Netzwerkverbindungen zu erfassen. Beispielsweise bietet die auf PlayMarket verfügbare NetworkConnections-Anwendung diese Funktionalität.
Plattform: Android
Beschreibung: Um Angriffe auf den mit dem mobilen Gerät verbundenen PC auszuführen, kann der Feind (mit erhöhten Berechtigungen) Änderungen am Betriebssystem vornehmen. Danach gibt sich das mobile Gerät als USB-Gerät aus: Tastatur, Maus, Informationsspeichergerät oder Netzwerkgerät. Diese Methode wurde unter Android demonstriert. Die Möglichkeit, diese Technik unter iOS zu implementieren, ist nicht bekannt.
Schutzempfehlungen: Benutzern wird empfohlen, mobile Geräte nur dann an einen PC anzuschließen, wenn ein angemessener Bedarf besteht (z. B. wenn dies zum Entwickeln und Debuggen mobiler Anwendungen erforderlich ist).
Plattform: Android, iOS
Beschreibung: Ein Gegner versucht möglicherweise, Unternehmensserver, Workstations oder andere über das Netzwerk verfügbare Ressourcen zu verwenden. Diese Methode wird verwendet, wenn ein mobiles Gerät über eine lokale oder VPN-Verbindung mit einem Unternehmensnetzwerk verbunden wird.