
Aplicativo Android intencionalmente vulnerável.
Uma aplicação Android intencionalmente vulnerável para educação em segurança
Funcionalidades • Capturas de ecrã • Instalação • Desafios • Contribuir • Apoio
Allsafe é uma aplicação Android intencionalmente vulnerável, concebida para entusiastas de segurança, pentesters e programadores aprenderem sobre segurança de aplicações Android. Ao contrário de aplicações típicas de estilo CTF, a Allsafe simula uma aplicação do mundo real utilizando bibliotecas e tecnologias modernas, proporcionando uma experiência prática de aprendizagem para identificar e explorar vulnerabilidades Android.
# Descarregar o APK mais recente das releases
wget https://github.com/t0thkr1s/allsafe/releases/latest/download/allsafe.apk
# Instalar via ADB
adb install allsafe.apk
# Clonar o repositório
git clone https://github.com/t0thkr1s/allsafe.git
cd allsafe
# Compilar o APK
./gradlew assembleDebug
# Instalar o APK
adb install app/build/outputs/apk/debug/app-debug.apk
A aplicação contém vários desafios de segurança organizados por dificuldade:
Vulnerabilidade simples de divulgação de informação. Utilize a ferramenta de linha de comandos logcat para descobrir informação sensível.
adb shell 'pidof infosecadventures.allsafe'
adb shell 'logcat --pid [PID] | grep secret'
Algumas credenciais foram deixadas no código. A tua tarefa é fazer engenharia reversa da aplicação e encontrar informação sensível.
Isto é puramente para praticar Frida. Faz o código acreditar que o teu dispositivo não está rooteado!
Carregar módulos de forma segura com aplicações de terceiros não é fácil. Escreve uma aplicação PoC e explora a vulnerabilidade!
Outra tarefa baseada em Frida. Não há vulnerabilidade real aqui, diverte-te a contornar a secure flag!
O certificate pinning está implementado usando a biblioteca OkHttp. Tens de o contornar para visualizar o tráfego com o Burp Suite.
Há um broadcast receiver vulnerável na aplicação. Aciona-o com os dados corretos e está feito!
Semelhante ao broadcast receiver inseguro, precisas de fornecer o parâmetro de consulta certo para completar esta tarefa!
Apenas uma SQL injection normal como se encontra em aplicações web. Não é preciso reverter o código para bypassar o mecanismo de login.
Também podes completar esta tarefa sem descompilar a aplicação. Exibe um alert dialog e lê ficheiros!
Nesta tarefa, tens de modificar o fluxo de execução da aplicação editando o código Smali. Por fim, reconstrói e assina o APK!
A aplicação usa uma biblioteca nativa que valida a palavra-passe introduzida. Faz engenharia reversa à biblioteca para encontrar a palavra-passe e depois usa Frida para fazer hook do método nativo.