Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
mariana-trench — Uno strumento di analisi statica focalizzato sulla sicurezza per applicazioni Android e Java. | Kitploit
Strumenti/GitHubGitHub/facebook/mariana-trench
Sicurezza AndroidAnalisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceSicurezza Mobile
GitHubfacebook/mariana-trench

mariana-trench

Uno strumento di analisi statica focalizzato sulla sicurezza per applicazioni Android e Java.

Vedi Repository
1.2k1569h 1m faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

Mariana Trench

logo

MIT License .github/workflows/tests.yml

Mariana Trench è una piattaforma di analisi statica orientata alla sicurezza, focalizzata su Android.

Questa guida ti accompagnerà nella configurazione di Mariana Trench sul tuo computer e ti porterà a trovare la tua prima vulnerabilità di esecuzione remota di codice in una piccola app di esempio. Queste istruzioni sono disponibili anche sul nostro sito web.

Prerequisiti

Mariana Trench richiede una versione recente di Python. Su MacOS puoi ottenere una versione aggiornata tramite homebrew:

root@kitploit:~
$ brew install python3

Su un sistema Linux basato su Debian (Ubuntu, Mint, Debian), puoi usare apt-get:

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

Questa guida presuppone anche che tu abbia installato Android SDK e che la variabile d'ambiente $ANDROID_SDK punti alla posizione dell'SDK.

Per il resto di questa guida, supponiamo che tu stia lavorando all'interno di un ambiente virtuale. Puoi configurarlo con:

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

Il nome dell'ambiente virtuale davanti al prompt del terminale indica che l'ambiente virtuale è attivo.

Installazione di Mariana Trench

All'interno del tuo ambiente virtuale, installare Mariana Trench è semplice come eseguire:

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

Nota: pip install al momento non è supportato per Mac con Apple Silicon; puoi compilare dai sorgenti seguendo le istruzioni nella Guida per sviluppatori.

Esecuzione di Mariana Trench

Utilizzeremo una piccola app che fa parte della nostra documentazione. Puoi ottenerla eseguendo:

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

Siamo ora pronti per eseguire l'analisi:

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!
# ...

L'analisi ha trovato 9 problemi nella nostra app di esempio. L'output dell'analisi è un insieme di specifiche per ciascun metodo dell'applicazione.

Post-elaborazione

Le specifiche stesse non sono pensate per essere lette dagli esseri umani. Abbiamo bisogno di un passaggio di elaborazione aggiuntivo per rendere i risultati più presentabili. Lo facciamo con SAPP, già installato per noi tramite PyPi:

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)

L'ultima riga dell'output ci dice che SAPP ha avviato un server web locale che ci permette di visualizzare i risultati. Apri il link e vedrai i 4 problemi trovati dall'analisi.

Esplorazione dei risultati

Concentriamoci sul problema di esecuzione remota di codice trovato nell'app di esempio. Puoi identificarlo dal codice problema 1 (per tutte le esecuzioni remote di codice) e dal callable void MainActivity.onCreate(Bundle). Con solo 4 problemi da vedere, è facile identificare il problema manualmente, ma quando vengono eseguite più regole, la funzionalità di filtro in alto a destra della pagina torna utile.

Visualizzazione di un singolo problema

Il problema ti dice che Mariana Trench ha trovato un'esecuzione remota di codice in MainActivity.onCreate dove i dati provengono da Activity.getIntent a una chiamata di distanza e fluiscono nel costruttore di ProcessBuilder a 3 chiamate di distanza. Clicca su "Traces" nell'angolo in alto a destra del problema per vedere una traccia di esempio.

La traccia evidenziata da Mariana Trench è composta da tre parti.

La traccia sorgente rappresenta da dove provengono i dati. Nel nostro esempio, la traccia è molto breve: Activity.getIntent viene chiamato direttamente in MainActivity.onCreate. Traccia sorgente

La traccia radice rappresenta il punto in cui la traccia sorgente incontra la traccia sink. Nel nostro esempio, questo è il metodo onCreate dell'activity. Traccia radice

La parte finale della traccia è la traccia sink: qui i dati dalla sorgente fluiscono in un sink. Nel nostro esempio, da onCreate, a onClick, a execute, e infine nel costruttore di ProcessBuilder. Traccia sink

Configurazione di Mariana Trench

Potresti chiederti: "come fa lo strumento a sapere cosa sono i dati controllati dall'utente e cosa è un sink?". Questa guida è pensata per iniziare rapidamente con una piccola app. Non abbiamo coperto come configurare Mariana Trench. Puoi leggere di più a riguardo sul nostro sito web nella sezione Configurazione.

Contribuire

Per una guida approfondita sulla compilazione dai sorgenti e lo sviluppo su Mariana Trench, consulta la Guida per sviluppatori sul nostro sito web.

Licenza

Mariana Trench è concesso in licenza sotto la licenza MIT.

Scarica lo strumento