Dynamisches Testen von Android-Anwendungen


Dynamische Tests werden durchgeführt, um Schwachstellen während des Betriebs der Anwendung zu identifizieren. In diesem Artikel möchte ich verschiedene Möglichkeiten zum Testen der Anwendung für Android vorstellen. Ich werde auch zeigen, wie das Gerät konfiguriert und konfiguriert wird. Wen kümmert es, willkommen bei Katze.

Beim dynamischen Testen werden Anwendungsprotokolle analysiert, der Anwendungsverkehr analysiert, Fehler während des Betriebs festgestellt usw. Zum Testen müssen Sie die virtuelle Maschine in Genimotion wie hier beschrieben konfigurieren.

Welche Tools werden für die dynamische Analyse verwendet:

  • BurpSuite;
  • Inspakage;
  • Pidcat oder eine andere Anwendung mit Leseberechtigungen für Protokolle.

So testen Sie mit BurpSuite

Zuerst müssen Sie den Proxy konfigurieren und das Zertifikat importieren. BurpSuite zeigt Anwendungsschwachstellen für SSL-Pinning an und kann Schwachstellen finden, die auf dem Server vorhanden sind, mit dem die Anwendung in Kontakt steht.

1. Installieren eines Proxys

Zuerst müssen Sie Informationen zu den Schnittstellen anzeigen, um die richtigen Proxy-Einstellungen zu erhalten.


Abb. 1. Informationen zu den Schnittstellen.

Konfigurieren Sie Proxys in BurpSuite.


Abb. 2. Proxy-Einstellungen in BurpSuite.

Wir installieren Proxys auf dem Gerät, auf dem wir Tests durchführen werden.


Abb. 3. Proxy-Einstellungen auf dem Gerät.

Geben Sie im Browser http [:] // burp / ein - dies ist zum Herunterladen des Zertifikats erforderlich. Und laden Sie das Zertifikat herunter, um zu funktionieren. Als nächstes müssen Sie den Ordner "Downloads" öffnen, es gibt ein heruntergeladenes Zertifikat. Ein langes Drücken auf das Zertifikat zeigt ein Menü an, in dem wir "Umbenennen" auswählen und die Erweiterung in .cer ändern und das Zertifikat importieren.


Abb. 4. Zertifikat herunterladen /

2. Zertifikat importieren

Wir gehen in die Geräteeinstellungen, suchen den Punkt "Sicherheit" und wählen dann "Von SD installieren". Wählen Sie im Ordner "Downloads" das Zertifikat aus, das heruntergeladen und umbenannt wurde. Nachdem Sie dem Zertifikat einen Namen geben müssen.


Abb. 5. Zertifikat importieren.


Abb. 6. Zertifikat importieren.

3. Überprüfen Sie die Installation des Zertifikats und zeigen Sie den Datenverkehr über BurpSuite an.


Abb. 7. Testen der Richtigkeit des Zertifikatimports.


Abb. 8. Wir sehen uns die Anfragen an, die vom Gerät kommen.

Jetzt können Sie die Interaktion mit der API testen.

Ab Android 7 funktioniert diese Methode zum Hinzufügen eines Burp-Zertifikats zu Trusted für die meisten Anwendungen nicht. Standardmäßig sind Benutzerzertifikate nicht mehr vertrauenswürdig. Daher müssen Sie root sein, dem Zertifikat den richtigen Namen geben und es in das Systemverzeichnis stellen. (Kommentar von y4ppieflu)
So testen Sie auf Inspakage

Inspekage ist ein Tool, das das dynamische Testen von Android-Anwendungen ermöglicht und Ihnen hilft, zu verstehen, was die Anwendung zur Laufzeit tut. Inspekage zeigt den Betrieb der Anwendung mit:

  • Dateien
  • Datenbanken
  • Kryptographie
  • http-Anfragen
  • Saiten
  • Protokolle und andere


Abb. 9. Starten der Anwendung zum Testen.


Abb. 10. Starten der Anwendung zum Testen.

Geben Sie nach dem Starten der Anwendung im Browser https [:] // 192 [.] 168 [.] 100 [.] 198 [:] 8008 ein und rufen Sie die Anwendungskonsole auf (Abb. 11).


Abb. 11. Ausführen der Konsole in einem Browser.

Gehen Sie als Nächstes die Registerkarten in der Konsole durch:

  • Gemeinsame Einstellungen - Abb. 12 - demonstriert die Interaktion der Anwendung mit lokalen Ressourcen.
  • Serialisierung - Abb. 13
  • Krypto - Abb. 14 - demonstriert die Arbeit mit Kryptographie (SSL / TLS ist hier nicht enthalten)
  • Hash - Abb. 14
  • SQLite - Abbildung 15
  • HTTP - Bild 16 - In BurpSuite wird diese Registerkarte besser angezeigt
  • Dateisysteme - Abb. 17 - Anwendungsarbeit mit Dateien
  • IPC - Abb. 18 usw.


Abb. 12. Gemeinsame Einstellungen.


Abb. 13. Serialisierung.


Abb. 14. Krypto.


Abb. 15. Hash.


Abb. 16. SQLite.


Abb. 17. HTTP.


Abb. 18. Dateisystem.


Abb. 19. IPC.

Testen mit Pidcat

Pidcat ist eine Anwendung, die Anwendungsbetriebsprotokolle liest. Beim Testen müssen Sie die Funktionen der Anwendung ausführen und sehen, welche Daten in die Arbeitsprotokolle fallen. Grundsätzlich werden dort Serviceinformationen angezeigt. Es kommt vor, dass Sie wichtige Informationen abrufen können, z. B. eine Sicherungskopie eines privaten Schlüssels. Wenn das Gerät Malware enthält, können diese Informationen in die Hände eines Angreifers fallen.


Abb. 20. Sicherung des privaten Schlüssels.


Abb. 21. Vertrauliche Informationen.

Fazit

In der Praxis werden die Methoden zum grundlegenden dynamischen Testen von Android-Anwendungen gezeigt, die wir in ByteCode zum Arbeiten verwenden. Es gibt auch ein Modul für automatisierte Tests im MobSF-Framework, für das jedoch ein separater Artikel erforderlich ist.

Source: https://habr.com/ru/post/de432820/


All Articles