Cheat Sheet per il test di penetrazione di applicazioni mobili
Il cheat sheet Mobile App Pentest è stato creato per fornire una raccolta concisa di informazioni di alto valore su argomenti specifici del penetration testing di applicazioni mobili e una checklist, mappata su OWASP Mobile Risk Top 10 per condurre il pentest.
Distribuzioni per i test di sicurezza di applicazioni mobili
- Appie - Un pacchetto software portabile per il pentesting Android e un'ottima alternativa alle macchine virtuali esistenti.
- Android Tamer - Android Tamer è una piattaforma Virtual/Live per i professionisti della sicurezza Android.
- Androl4b - Una macchina virtuale per la valutazione di applicazioni Android, il reverse engineering e l'analisi di malware
- Vezir Project - Ambiente per il pentesting di applicazioni mobili e l'analisi di malware.
- Mobexler - Mobexler è una macchina virtuale personalizzata, progettata per supportare il penetration testing di applicazioni Android e iOS.
Framework di sicurezza mobile all-in-one
- Mobile Security Framework - MobSF - Mobile Security Framework è un framework open source intelligente e all-in-one per il pen-testing automatizzato di applicazioni mobili (Android/iOS), in grado di eseguire analisi statiche e dinamiche.
python manage.py runserver 127.0.0.1:1337
- Needle - Needle è un framework open source e modulare che semplifica lo svolgimento delle valutazioni di sicurezza delle app iOS, incluse l'analisi binaria, l'analisi statica del codice, la manipolazione runtime tramite Cycript e l'hooking con Frida, e così via.
- Objection - Objection è un toolkit di esplorazione mobile runtime, basato su Frida. È stato creato con l'obiettivo di aiutare a valutare le applicazioni mobili e la loro postura di sicurezza senza la necessità di un dispositivo jailbroken o rooted.
- RMS-Runtime-Mobile-Security - Runtime Mobile Security (RMS), basato su FRIDA, è una potente interfaccia web che aiuta a manipolare le app Android e iOS a runtime.
Test di penetrazione di applicazioni Android
Reverse engineering e analisi statica
- APKTool - Uno strumento per il reverse engineering di app Android binarie chiuse di terze parti. Può decodificare le risorse in una forma quasi originale e ricostruirle dopo aver apportato alcune modifiche.
- Disassemblaggio del file apk Android
- Ricostruzione delle risorse decodificate in APK/JAR binario con firma del certificato
apktool b <modified folder>
keytool -genkey -v -keystore keys/test.keystore -alias Test -keyalg RSA -keysize 1024 -sigalg SHA1withRSA -validity 10000
jarsigner -keystore keys/test.keystore dist/test.apk -sigalg SHA1withRSA -digestalg SHA1 Test
- Bytecode Viewer - Bytecode Viewer è un visualizzatore di bytecode Java avanzato e leggero. È scritto interamente in Java ed è open source.
- Jadx - Decompilatore da Dex a Java: strumenti da riga di comando e GUI per produrre codice sorgente Java da file Android Dex e Apk.
- APK Studio - IDE open source, multipiattaforma, basato su Qt per il reverse engineering dei pacchetti di applicazioni Android.
- Oat2dex - Uno strumento per convertire file .oat in file .dex.
- Deottimizza le classi di boot (l'output sarà nelle cartelle "odex" e "dex")
java -jar oat2dex.jar boot <boot.oat file>
- Deottimizza l'applicazione
java -jar oat2dex.jar <app.odex> <boot-class-folder output from above>
- Ottieni odex da oat
java -jar oat2dex.jar odex <oat file>
- Ottieni odex smali (con opcode ottimizzato) da oat/odex
java -jar oat2dex.jar smali <oat/odex file>
- Spotbugs - SpotBugs è il successore di FindBugs. Uno strumento di analisi statica per cercare bug nel codice Java.
- Qark - Questo strumento è progettato per cercare diverse vulnerabilità di sicurezza nelle applicazioni Android, sia nel codice sorgente sia negli APK impacchettati.
- SUPER - SUPER è un'applicazione da riga di comando che può essere utilizzata su Windows, MacOS X e Linux e analizza i file .apk alla ricerca di vulnerabilità. Lo fa decomprimendo gli APK e applicando una serie di regole per rilevare tali vulnerabilità.
- AndroBugs - AndroBugs Framework è un efficiente scanner di vulnerabilità Android che aiuta sviluppatori o hacker a trovare potenziali vulnerabilità di sicurezza nelle applicazioni Android. Non è necessario installarlo su Windows.
- Simplify - Uno strumento per de-offuscare il pacchetto Android in Classes.dex, che può essere utilizzato con Dex2jar e JD-GUI per estrarre il contenuto del file dex.
simplify.jar -i "input smali files or folder" -o <output dex file>
- ClassNameDeobfuscator - Semplice script per analizzare i file .smali prodotti da apktool ed estrarre le righe di annotazione .source.
- Android backup extractor - Utility per estrarre e ricomprimere i backup Android creati con adb backup (ICS+). In gran parte basata su BackupManagerService.java di AOSP.
Suggerimento !! Il comando "adb backup" può essere utilizzato anche per estrarre il pacchetto dell'applicazione con il seguente comando:
adb backup <package name>
dd if=backup.ab bs=1 skip=24 | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" > backup.tar
- GDA(GJoy Dex Analysizer) - GDA, un nuovo decompilatore di bytecode Dalvik, è implementato in C++ e presenta i vantaggi di un'analisi più rapida, di un minor consumo di memoria e disco e di una maggiore capacità di decompilare i file APK, DEX, ODEX, OAT (supporta i file JAR, CLASS e AAR dalla versione 3.79).