Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
mariana-trench — Ein sicherheitsorientiertes statisches Analysetool für Android- und Java-Anwendungen. | Kitploit
Tools/GitHubGitHub/facebook/mariana-trench
Android-SicherheitStatische AnalyseSchwachstellenanalyseCode-AnalyseMobile Sicherheit
GitHubfacebook/mariana-trench

mariana-trench

Ein sicherheitsorientiertes statisches Analysetool für Android- und Java-Anwendungen.

Repository anzeigen
1.2k156vor 8h 10mVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

Mariana Trench

logo

MIT License .github/workflows/tests.yml

Mariana Trench ist eine auf Sicherheit ausgerichtete statische Analyseplattform für Android.

Diese Anleitung führt Sie durch die Einrichtung von Mariana Trench auf Ihrem Rechner und hilft Ihnen, Ihre erste Schwachstelle für die Ausführung von remote code in einer kleinen Beispiel-App zu finden. Diese Anweisungen sind auch auf unserer Website verfügbar.

Voraussetzungen

Mariana Trench erfordert eine aktuelle Version von Python. Auf MacOS erhalten Sie eine aktuelle Version über homebrew:

root@kitploit:~
$ brew install python3

Auf einem Debian-basierten Linux (Ubuntu, Mint, Debian) können Sie apt-get verwenden:

root@kitploit:~
$ sudo apt-get install python3 python3-pip python3-venv

Diese Anleitung setzt außerdem voraus, dass Sie das Android SDK installiert haben und eine Umgebungsvariable $ANDROID_SDK auf den Speicherort des SDK zeigt.

Für den Rest dieser Anleitung gehen wir davon aus, dass Sie in einer virtuellen Umgebung arbeiten. Sie können diese wie folgt einrichten:

root@kitploit:~
$ python3 -m venv ~/.venvs/mariana-trench
$ source ~/.venvs/mariana-trench/bin/activate
(mariana-trench)$

Der Name der virtuellen Umgebung vor Ihrer Shell-Eingabeaufforderung zeigt an, dass die virtuelle Umgebung aktiv ist.

Installieren von Mariana Trench

In Ihrer virtuellen Umgebung ist die Installation von Mariana Trench so einfach wie die Ausführung von

root@kitploit:~
(mariana-trench)$ pip install mariana-trench

Hinweis: pip install wird derzeit nicht für Apple Silicon Macs unterstützt. Sie können aus dem Quellcode erstellen, indem Sie die Anweisungen im Entwicklerhandbuch befolgen.

Ausführen von Mariana Trench

Wir verwenden eine kleine App, die Teil unserer Dokumentation ist. Sie erhalten sie durch Ausführen von

root@kitploit:~
(mariana-trench)$ git clone https://github.com/facebook/mariana-trench
(mariana-trench)$ cd mariana-trench/

Wir sind nun bereit, die Analyse auszuführen

root@kitploit:~
(mariana-trench)$ mariana-trench \
  --system-jar-configuration-path=configuration/default_system_jar_paths.json \
  --model-generator-configuration-paths=configuration/default_generator_config.json \
  --lifecycles-paths=configuration/lifecycles.json \
  --rules-paths=configuration/rules.json \
  --apk-path=documentation/sample-app/app/build/outputs/apk/debug/app-debug.apk \
  --source-root-directory=documentation/sample-app/app/src/main/java \
  --model-generator-search-paths=configuration/model-generators/

# ...
INFO Analyzed 68937 models in 7.47s. Found 9 issues!
# ...

Die Analyse hat 9 Probleme in unserer Beispiel-App gefunden. Die Ausgabe der Analyse ist eine Reihe von Spezifikationen für jede Methode der Anwendung.

Nachbearbeitung

Die Spezifikationen selbst sind nicht für Menschen lesbar. Wir benötigen einen zusätzlichen Verarbeitungsschritt, um die Ergebnisse besser darstellbar zu machen. Dies erledigen wir mit SAPP, das für uns per PyPi installiert wurde:

root@kitploit:~
(mariana-trench)$ sapp --tool=mariana-trench analyze .
(mariana-trench)$ sapp --database-name=sapp.db server --source-directory=documentation/sample-app/app/src/main/java
# ...
2021-05-12 12:27:22,867 [INFO]  * Running on http://localhost:13337/ (Press CTRL+C to quit)

Die letzte Zeile der Ausgabe teilt uns mit, dass SAPP einen lokalen Webserver gestartet hat, über den wir die Ergebnisse betrachten können. Öffnen Sie den Link, und Sie sehen die 4 von der Analyse gefundenen Probleme.

Ergebnisse erkunden

Konzentrieren wir uns auf das Problem der Remote-Code-Ausführung in der Beispiel-App. Sie erkennen es an seinem Problemcode 1 (für alle Remote-Code-Ausführungen) und dem aufrufbaren Element void MainActivity.onCreate(Bundle). Bei nur 4 Problemen ist es einfach, das Problem manuell zu identifizieren, aber sobald mehr Regeln ausgeführt werden, ist die Filterfunktion oben rechts auf der Seite nützlich.

Single Issue Display

Das Problem teilt Ihnen mit, dass Mariana Trench eine Remote-Code-Ausführung in MainActivity.onCreate gefunden hat, bei der die Daten von Activity.getIntent einen Aufruf entfernt stammen und in den Konstruktor von ProcessBuilder drei Aufrufe entfernt fließen. Klicken Sie oben rechts im Problem auf "Traces", um ein Beispiel-Trace zu sehen.

Der von Mariana Trench aufgedeckte Trace besteht aus drei Teilen.

Der source trace stellt dar, woher die Daten stammen. In unserem Beispiel ist der Trace sehr kurz: Activity.getIntent wird direkt in MainActivity.onCreate aufgerufen. Trace Source

Der trace root stellt dar, wo der source trace auf den sink trace trifft. In unserem Beispiel ist dies die onCreate-Methode der Aktivität. Trace Root

Der letzte Teil des Traces ist der sink trace: Hier fließen die Daten von der Quelle in eine Senke. In unserem Beispiel von onCreate, zu onClick, zu execute und schließlich in den Konstruktor von ProcessBuilder. Trace Sink

Konfigurieren von Mariana Trench

Sie fragen sich vielleicht: "Woher weiß das Tool, was benutzergesteuerte Daten sind und was eine Senke ist?". Diese Anleitung soll Ihnen einen schnellen Einstieg in eine kleine App ermöglichen. Wir haben nicht behandelt, wie man Mariana Trench konfiguriert. Mehr dazu erfahren Sie auf unserer Website unter Konfiguration.

Mitwirken

Eine ausführliche Anleitung zum Erstellen aus dem Quellcode und zur Entwicklung von Mariana Trench finden Sie im Entwicklerhandbuch auf unserer Website.

Lizenz

Mariana Trench ist unter der MIT-Lizenz lizenziert.

Tool herunterladen