
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.
Vê a minha coleção de scripts Frida para pentesting Android: https://github.com/t0thkr1s/frida
Contribuições são bem-vindas! Quer tenhas encontrado um bug, tenhas uma sugestão ou queiras adicionar um novo desafio:
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Se achaste este projeto útil ou valioso, considera:
Bitcoin (BTC)
bc1qd44kvj6zatjgn27n45uxd3nprzt6rm9x9g2yc8
Ethereum (ETH)
0x1835a58E866a668C48Ee63d32432C7Fe28aF54b4
Esta aplicação foi concebida apenas para fins educacionais. Deve ser usada apenas em ambientes controlados onde tenhas permissão explícita. Os programadores não assumem qualquer responsabilidade e não são responsáveis por qualquer uso indevido ou dano causado por esta aplicação.
Não uses esta aplicação:
Este projeto está licenciado sob a Licença Pública Geral GNU v3.0 - consulta o ficheiro LICENSE para mais detalhes.