Introducción al pentesting de aplicaciones móviles sin morir en el intento

Einführung in das Pentesting mobiler Anwendungen, ohne beim Versuch zu sterben

Celia Catalán

Pentest para moviles

Bevor wir über mobiles Pentesting sprechen, müssen wir die Grundlagen legen und zwischen statischer Analyse der Anwendung und dynamischer Analyse unterscheiden. Aber nicht bevor wir über die Struktur einer APK gesprochen haben.

Der Prozess der Zerlegung einer APK wird als Dekomprimierung bezeichnet und durch diesen Prozess können wir auf die Innereien unserer Binärdatei zugreifen:




Dazu würde es ausreichen:

entpacken Sie APP.apk -d Output-unzip

apktool d APP.apk -o Ausgabe-apktool


Wenn es darum geht, den Quellcode zu dekompilieren, haben wir zwei Möglichkeiten: Einerseits können wir die .smali-Datei generieren, die der für Menschen „lesbare“ Bytecode ist (apktool), oder die interpretierte .java-Datei generieren, die nicht die Originalquelle ist Code, aber wir Es hilft, die Logik der Anwendung leichter zu verstehen (jadx).




Sobald wir den Quellcode haben, sprechen wir über die beiden Analysearten, die bei der Durchführung mobiler Pentests berücksichtigt werden müssen. 

Statische vs. dynamische Analyse


Bei der statischen Analyse wird die Anwendung auf Codeebene und ohne Interaktion mit der Anwendung analysiert, während die dynamische Analyse zur Laufzeit überprüft wird und mit den Funktionalitäten interagiert.

Statische Analyse

Mit dem Jadx-Tool werden wir versuchen, nach sensiblen Informationen zu suchen:

  • Anfällige Schlüsselwörter oder Codemuster. 
  • Anmeldeinformationen/API-Schlüssel. 
  • URLs/Endpunkte.
  • Identifizierung wichtiger Funktionen: Authentifizierung, Statusänderungen, PII.
  • Identifizierung der Debug-Funktion. Vorhandensein von Kommentaren im Code.
  • Identifizierung gefährlicher Funktionen: Verwendung von externem Speicher, Codeausführung. Desinfektion.
  • Hartcodierte Geheimnisse.

Automatisch

Alle oben genannten Analysen können mit dem folgenden Tool (MobSF) automatisiert werden:



Wenn es um mobiles Pentesting geht, gibt es eine Reihe interessanter Komponenten (im vorherigen Bild durch Mobsf gekennzeichnet), für deren Verständnis wir Ihnen empfehlen (Aktivitäten, Lieferanten, Empfänger und exportierbare Dienstleistungen). Im nächsten Artikel werden wir über exportierbare Aktivitäten sprechen.

Xuquiang Liu Xu, Pentester Jr. bei Zerolynx und Alejandro Auñón, Offensive Security Analyst bei Zerolynx.
Zurück zum Blog

Hinterlasse einen Kommentar

Bitte beachten Sie, dass Kommentare vor der Veröffentlichung genehmigt werden müssen.