Androguard
Par Anthony Desnos
L’un des fléau d’android, c’est le plagiat d’applications, et c’est l’un des domaines d’application d’androguard avec l’analyse de malwares. Les applications Android sont aisément récupérables, analysables et « re-compilables », facilitant la diffusion de malwares par l’infection d’applications populaires.
Bon nombre de malwares embarquent des exploits pour pouvoir passer root sur le device (aka jailbreak), et pour éviter la compromission de ces exploits et leur récupération par analyse statique, ils téléchargent les codes d’attaques sur un site avant de les exécuter. En plus des fonctionnalités classiques des malwares PC, on y retrouve aussi des fonctions de prise de photo, d’enregistrement de conversations, d’envoie de SMS surtaxés et de vol de carnet d’adresses.
Les premiers malwares a base de SMS se déguisaient en pseudo applications porno qui envoyaient deux sms avant de s’arrêter sans rien afficher.
Les fakeinstaller (boxer) indiquent à l’utilisateur qu’il faut envoyer 3 sms pour pouvoir installer le jeu. Avec des préfixes personnalisés en fonction du réseau de l’opérateur ou du pays.
Vol d’information (hongtoutou) : l’objectif de ces applications est de collecter un maximum d’informations sur l’utilisateur, carnet d’adresses, coordonnées/historique GPS, données de navigation, etc.
Fakenetflix : une application spécifique qui se contente d’afficher une boite de dialogue demandant l’e-mail et le mdp de l’utilisateur, puis elle s’arrête après avoir envoyé ces informations sur un serveur. La plupart de ces serveurs sont encore actifs à l’heure actuelle, et le délai avant leur mise hors ligne malgrès le signalement de l’application prend beaucoup (trop) de temps.
Applications Espion : des applications type gonesixty qui viennent pomper l’ensemble de l’historique du téléphone et l’envoi sur un serveur, puis l’utilisateur doit rentrer un code affiché par l’application sur le serveur de dépot, et payer 5$ pour récupérer l’ensemble de ces informations. Après exécution l’application se désinstalle pour ne pas éveiller les soupçons de l’utilisateur.
Applications activistes : des applications malveillantes qui envoient des SMS offensants à vos contacts ou à caractère religieux, on a vu ainsi des applications Android rebrandé liés au printemps arabe ou anti-chrétiens.
Bot (AnserserBot) : peu de protections (xor, crypto issue de classes java standards), mais avec des protections intéressantes malgré tout comme la détection d’anti-virus etc…
Le premier malware a avoir atteint le marché européen, c’est Foncy, packagée dans SuiConFo.apk qui envoyait des SMS surtaxés, puis une seconde version embarquait des exploit root etc… derrière les n° surtaxés, on peut trouver des services similaires comme du hacking de compte MSN ou Facebook sur commande. Un grand nombre de personnes en France ont été victimes de ce Malware et on vu leur forfait fondre. Deux personnes ont été arrêtes dans le cadre d’une enquête liée à ce Malware, ils ont été découvert avec un butin de 100 000€ pour à peu près 2000 téléphones infectés.
D’autres malwares comme Steek incitent l’utilisateur à rentrer des identifiants (mail/pass) puis de payer par carte bleue pour finaliser l’achat du jeu téléchargé. Ce malware a été mis à jour pour passer au travers des anti-virus par un simple changement d’URI dans la redirection vers la page de payement (!!!). Et ce malgré les contre-mesures de google mises en place sur le market (google bounce).
Faketoken : il s’agit de fausses application OTP pour l’authentification auprès de banques, qui volent là encore les données utilisateurs comme l’IMEI et le carnet d’adresses.
Androguard et le Reverse Engineering :
L’existant ;
- ARE : une VM embarquant une ancienne version d’Androguard hébergée par le honeynet project pour faciliter l’accès au RCE d’application androids.
- Dexdump : fait par google, et fournit avec le SDK android
Androguard est sous LGPL, écrite en Python/C(++) est capable d’analyser tous les formats employés par les applications androids : APK,Dex,Class,Jar,AXML.
Le framework embarque un ensemble d’outils de reverse ainsi qu’une base de données de malwares Android maintenue par les deux développeurs d’Androguard.
Androguard propose un shell iPython pour accélérer le travail d’analyse à grand coup d’auto-complétion (<3). Après analyse, on obtient l’ensemble des fichiers de l’APK, la liste des permissions, etc…
l’auto-complétion facilite la navigation dans les noms des méthodes de l’application, pour pouvoir passer ensuite le code à dalvik. Il est ensuite possible de passer le code dans un décompilateur qui transforme le bytecode dex en bytecode Java puis passe le code à un décompilateur java traditonnel. Un développement est en cours pour obtenir le code natif directement depuis le bytecode dalvik.
On à en suite le droit à une analyse en Live d’un autre malware illustrant l’équivalent Androguard des XREF (qui est le seul outil à faire ça hormis IDA… et c’est open-source 🙂 ).
Coté analyse dynamique, Il existe TaintDroid (taint analysis sous android), mais ça nécessite de patcher le source d’android (qui bouge beaucoup). DroidBox à été créé pour répondre à ce besoin.
On peut aussi lancer et piloter l’émulateur depuis Androguard pour faciliter l’analyse dynamique.
Bref, un super toolkit pour le RCE Android quand on à pas la licence IDA Pro 😀