vulnérabilités application android : « Hardcoding Issues »

Nous continuons cette série d’article à propos des vulnérabilités dans les applications Android avec l’application DIVA.Cette fois ci la vulnérabilité est nommée « Hardcoding issues », c’est à dire que des informations sensibles sont « hardcodées » dans le code source de l’application.

Nous allons commencer par extraire le ficher APK qui est simplement un fichier zip, nous allons ensuite utilisé dex2jar pour transformer le fichier .dex contenant le code source en fichier Jar que nous analyserons avec l’outil JD-GUI :

neolex@archlinux-pc ~/Bureau/diva $ dex2jar classes.dex dex2jar classes.dex -> ./classes-dex2jar.jar neolex@archlinux-pc ~/Bureau/diva $ jd-gui classes-dex2jar.jar

Ouvrons maintenant le fichier de l’activité HardcodeActivity.class, le voici :

On peut voir que la chaîne de caractères est comparé avec « vendorsecretkey », si ces deux sont égales on affiche « Access granted! », entrons donc cette chaîne dans l’application :

L’objectif de cette activité est atteint !

Continuons avec l’activité « 12-  Hardcoding Issues part 2 », l’activité est très ressemblante il faut entrer le mot de passe hardcodé dans l’application, commençons par regarder le code de l’activité Hardcode2Activity.class :

On peut voir que la fonction djni.access est appelée, si celle si retourne une valeur différente de 0  l’accés est autorisé.

regardons maintenant la classe DivaJni.class :

La bibliothèque « divajni » est chargée, ouvrons donc le fichier libdivajni.so dans le dossier « diva/lib/x86 » avec ida, ensuite affichons le code assembleur de la fonction Java_jakhar_aseem_diva_DivaJni_access qui est celle appelée par notre activité :

Nous pouvons voir que l’argument donné la fonction est comparé avec la chaîne « olsdfgad;lh » à l’aide de l’instruction rep cmpsb.

entrons donc cette chaîne dans notre application :

« Access granted! » nous avons exploité cette vulnérabilité !

Dans le prochain article nous examinerons les activités « Insecure Data Storage ».

Add a Comment

Votre adresse de messagerie ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.