Que fait android-pentesting-tricks ?
Manuel de pentesting Android. À utiliser lors de tests d'applications Android pour le contournement du SSL pinning, l'abus de composants exportés, les vulnérabilités WebView, la redirection d'intent, le contournement de la détection root, le tapjacking et l'extraction de sauvegardes dans le cadre d'évaluations de sécurité mobile autorisées.
Techniques abordées
- Contournement du SSL Pinning : Utilisez Frida (
frida -U -f com.example.app --no-pause -l ssl_bypass.js), Objection (objection -g com.example.app explore --startup-command "android sslpinning disable"), ou des scripts Yaklang pour désactiver la validation SSL au moment de l'exécution. - Composants exportés : Identifiez les activités, services et récepteurs exportés dans
AndroidManifest.xmlviaaapt dump badging app.apkoujadx. Exploitez-les en lançant des intents malveillants :adb shell am start -n com.example.app/.SensitiveActivity. - Vulnérabilités WebView : Testez pour les fuites de jetons via JavaScript (ex.
mWebView.addJavascriptInterface(new Bridge(), "bridge")). Vérifiez les définitionssetJavaScriptEnabled(true)et les chargements d'URL non filtrés. - Redirection d'intent : Analysez les applications qui acceptent des intents implicites et redirigent vers d'autres composants. Utilisez
drozerou des scripts personnalisés pour détecter les points de redirection non sécurisés. - Contournement de la détection root : Utilisez Frida pour hooker les méthodes de détection root courantes (ex.
System.getProperty("ro.debuggable")) ou Objection pour désactiver les contrôles root. - Tapjacking : Vérifiez les vues qui ne définissent pas
android:filterTouches="true"ou qui sont superposées. Simulez avecUiAutomatorou des scripts Yaklang. - Extraction de sauvegarde : Récupérez les données via
adb backup -f backup.ab com.example.appet extrayez-les avecdd if=backup.ab bs=24 skip=1 | openssl zlib -d > backup.tar. Analysez les données sensibles.
Exemple d'utilisation Yaklang
// Script Yaklang pour détecter les composants exportés
down = codec{}.DecodeBase64("Y29tLmV4YW1wbGUuYXBw")
target = "com.example.app"
res = system {}.Exec("aapt", "dump", "badging", target+".apk")
if res.Error != nil {
println("Erreur lors de l'analyse de l'APK :", res.Error)
}
println("Sortie brute :\n", res.Stdout)
Prérequis
- Android SDK (ADB, aapt, apktool)
- Frida et/ou Objection
- Yaklang installé (
https://yaklang.io/) - Appareil ou émulateur rooté
Avertissement
Utilisez ces techniques uniquement sur des applications pour lesquelles vous avez une autorisation explicite de test de sécurité. Le non-respect de cette règle peut violer les lois applicables. Consultez la documentation officielle de Yaklang et Android pour plus de détails.