
Kit de test d'intrusion et d'audit pour applications Android.
Un outil Java qui aide à pentester les applications Android plus rapidement, plus facilement et plus efficacement. AndroTickler offre de nombreuses fonctionnalités de collecte d'informations, de vérifications statiques et dynamiques qui couvrent la plupart des aspects du pentesting d'applications Android. Il offre également plusieurs fonctionnalités dont les pentesteurs ont besoin lors de leurs pentests. AndroTickler s'intègre également avec Frida pour fournir le traçage et la manipulation de méthodes. Il a été précédemment publié sous le nom de Tickler.
AndroTickler nécessite un hôte Linux et un appareil Android rooté connecté à son port USB. L'outil n'installe rien sur l'appareil Android, il crée seulement un répertoire Tickler sur /sdcard. AndroTickler dépend du SDK Android pour exécuter des commandes sur l'appareil et copier les données de l'application dans le répertoire TicklerWorkspace sur l'hôte pour une analyse plus approfondie. TicklerWorkspace est le répertoire de travail d'AndroTickler et chaque application possède un sous-répertoire séparé dans TicklerWorkspace qui peut contenir les éléments suivants (selon les actions de l'utilisateur) :
Le répertoire libs et le fichier de configuration Tickler.conf se trouvent dans le même répertoire que le fichier jar. Le fichier de configuration définit l'emplacement du répertoire TicklerDir sur l'hôte et Tickler sur /sdcard de l'appareil Android. Si le fichier de configuration n'existe pas ou si ces deux répertoires ne sont pas définis, les valeurs par défaut seront utilisées (Tickler_workspace dans le répertoire courant et /sdcard/Tickler respectivement). Le répertoire Tickler_lib contient certaines bibliothèques Java et outils externes utilisés par AndroTickler, tels que apktool et dex2jar.
AndroTickler dépend fortement des outils suivants, ils doivent donc exister sur votre machine avant de l'utiliser :
D'autres outils sont nécessaires pour certaines fonctionnalités, mais AndroTickler peut toujours fonctionner sans eux :
Construire l'outil à partir du code
gradle build
Déplacer AndroTickler.jar dans le même répertoire que le répertoire Tickler_lib et le fichier Tickler.conf (créé automatiquement dans build/libs)
Rendre dex2jar exécutable (libs/notJars//dex2jar-2.1/d2j-dex2jar.sh et libs/notJars//dex2jar-2.1/d2j_invoke.sh)
Connectez votre appareil Android avec l'application à tester installée
Remarque : Si la construction du code source échoue, vous pouvez télécharger la dernière version compilée depuis l'onglet releases
La version actuelle fait ce qui suit :
java -jar AndroTickler.jar -h
Lister les applications installées sur l'appareil :
java -jar AndroTickler.jar -pkgs
Recherche une application (package) installée sur l'appareil, dont le nom du package contient le searchKey
java -jar AndroTickler.jar -findPkg <searchKey>
java -jar AndroTickler.jar -pkg <package> [other options]
Toute commande avec une option -pkg (qu'elle soit utilisée avec l'une des options suivantes ou non), effectue les actions suivantes si elles n'ont pas déjà été faites :
java -jar AndroTickler.jar -pkg <package> -info
Renvoie les informations suivantes :
java -jar AndroTickler.jar -pkg <package> -squeeze [short | <codeLocation> ]
Récupère les éléments suivants à partir du code Java décompilé de l'application :
Sans surprise, sa sortie est généralement volumineuse, il est donc recommandé de rediriger la sortie de la commande vers un fichier
short Extrait uniquement le code décompilé qui appartient au développeur. Par exemple, si une application a un nom de package com.notEnaf.myapp, alors squeeze short extrait uniquement le code dans le répertoire com/notEnaf.
Extrait le code uniquement dans le répertoire codeLocation. Utile pour limiter votre recherche ou extraire le code source s'il est disponible.
java -jar AndroTickler.jar -pkg <package> -l [-exp] [-v]
Liste tous les composants de l'application
-exp Affiche uniquement les composants exportés
-v Donne des informations plus détaillées pour chaque composant :
java -jar AndroTickler.jar -pkg <package> -l [-act | -ser | -rec | -prov ] [-exp] [-v]
java -jar AndroTickler.jar -pkg <package> -db [|e|l|d] [nu]
Par défaut, toutes les commandes -db mettent à jour le répertoire de stockage de données de l'application sur l'hôte avant d'exécuter la vérification.
aucun attribut OU e Teste si les bases de données de l'application sont cryptées. C'est l'action par défaut si aucune option n'est donnée après le flag -db. l Liste toutes les bases de données de l'application. Les bases de données cryptées peuvent ne pas être détectées. d Effectue un dump sqlite de l'une des bases de données non cryptées. nu noUpdate : exécute l'une des options ci-dessus sans mettre à jour le répertoire de données de l'application sur l'hôte.
java -jar AndroTickler.jar -pkg <package> -diff [d|detailed]