Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
mariana-trench — Uma ferramenta de análise estática focada em segurança para aplicações Android e Java. | Kitploit
Ferramentas/GitHubGitHub/facebook/mariana-trench
Segurança AndroidAnálise EstáticaAnálise de VulnerabilidadesAnálise de CódigoSegurança Móvel
GitHubfacebook/mariana-trench

mariana-trench

Uma ferramenta de análise estática focada em segurança para aplicações Android e Java.

Ver Repositório
1.2k156há 3h 6mRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

Mariana Trench

logo

MIT License .github/workflows/tests.yml

Mariana Trench é uma plataforma de análise estática focada em segurança para Android.

Este guia vai orientá-lo na configuração do Mariana Trench na sua máquina e ajudá-lo a encontrar sua primeira vulnerabilidade de execução remota de código em um aplicativo de exemplo. Essas instruções também estão disponíveis no nosso site.

Pré-requisitos

O Mariana Trench requer uma versão recente do Python. No MacOS, você pode obter uma versão atual através do homebrew:

root@kitploit:~
$ brew install python3

Em um Linux baseado em Debian (Ubuntu, Mint, Debian), você pode usar o apt-get:

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

Este guia também assume que você tem o Android SDK instalado e uma variável de ambiente $ANDROID_SDK apontando para o local do SDK.

Para o restante deste guia, assumimos que você está trabalhando dentro de um ambiente virtual. Você pode configurá-lo com:

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

O nome do ambiente virtual na frente do prompt do shell indica que o ambiente virtual está ativo.

Instalando o Mariana Trench

Dentro do seu ambiente virtual, instalar o Mariana Trench é tão simples quanto executar:

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

Nota: pip install não é suportado atualmente para Macs com chip Apple Silicon. Você pode compilar a partir do código-fonte usando as instruções do Guia do Desenvolvedor.

Executando o Mariana Trench

Vamos usar um pequeno aplicativo que faz parte da nossa documentação. Você pode obtê-lo executando:

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

Agora estamos prontos para executar a análise:

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 Analisados 68937 modelos em 7.47s. Encontrados 9 problemas!
# ...

A análise encontrou 9 problemas no nosso aplicativo de exemplo. A saída da análise é um conjunto de especificações para cada método do aplicativo.

Pós-processamento

As especificações em si não foram feitas para serem lidas por humanos. Precisamos de uma etapa de processamento adicional para tornar os resultados mais apresentáveis. Fazemos isso com o SAPP já instalado via 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)

A última linha da saída nos diz que o SAPP iniciou um servidor web local que permite visualizar os resultados. Abra o link e você verá os 4 problemas encontrados pela análise.

Explorando os Resultados

Vamos focar no problema de execução remota de código encontrado no aplicativo de exemplo. Você pode identificá-lo pelo código de problema 1 (para todas as execuções remotas de código) e pelo método void MainActivity.onCreate(Bundle). Com apenas 4 problemas para ver, é fácil identificá-lo manualmente, mas quando mais regras forem executadas, a funcionalidade de filtro no canto superior direito da página será útil.

Exibição de Problema Único

O problema informa que o Mariana Trench encontrou uma execução remota de código em MainActivity.onCreate, onde os dados vêm de Activity.getIntent a uma chamada de distância, e fluem para o construtor de ProcessBuilder a três chamadas de distância. Clique em "Traces" no canto superior direito do problema para ver um exemplo de rastreamento.

O rastreamento exibido pelo Mariana Trench consiste em três partes.

O rastreamento de origem representa de onde os dados vêm. No nosso exemplo, o rastreamento é muito curto: Activity.getIntent é chamado diretamente em MainActivity.onCreate. Rastreamento de Origem

O rastreamento raiz representa onde o rastreamento de origem encontra o rastreamento de destino. No nosso exemplo, este é o método onCreate da activity. Rastreamento Raiz

A parte final do rastreamento é o rastreamento de destino: é onde os dados da origem fluem para um destino. No nosso exemplo, de onCreate, para onClick, para execute, e finalmente para o construtor de ProcessBuilder. Rastreamento de Destino

Configurando o Mariana Trench

Você pode estar se perguntando: "como a ferramenta sabe o que são dados controlados pelo usuário e o que é um destino?" Este guia foi feito para você começar rapidamente em um aplicativo pequeno. Não cobrimos como configurar o Mariana Trench. Você pode ler mais sobre isso no nosso site em Configuração.

Contribuindo

Para um guia detalhado sobre compilação a partir do código-fonte e desenvolvimento no Mariana Trench, consulte o Guia do Desenvolvedor no nosso site.

Licença

O Mariana Trench é licenciado sob a licença MIT.

Baixar ferramenta