MobileHackingLab – Writeup – Android – Secure Notes

Writeup Android Secure Notes

MobileHackingLab – Writeup – Android – Secure Notes

par

Régis Senet
Objectif

Récupérer un code PIN auprès d’un Content Provider dans une application Android.


Outil

Installation

Pour commencer, nous allons installer l’application sur un périphérique virtuel (bien que cela fonctionne également avec les périphériques physiques), le tout grâce à ADB :

$ adb install com.mobilehackinglab.securenotes.apk
Performing Streamed Install
Success


L’application est installée avec succès et se lance parfaitement :

Writeup Android Secure Notes

Commençons l’analyse !

Fichier AndroidManifest.xml

Voici le fichier AndroidManifest.xml de l’application Secure Notes :

Writeup Android Secure Notes


Il est possible d’identifier un Content Provider exporté, c’est-à-dire accessible par d’autres applications du système. Il s’agit du Content Provider com.mobilehackinglab.securenotes.SecretDataProvider.

Compréhension du Content Provider

Les Content Providers permettent de mettre à disposition une « interface » afin d’accéder à des informations de l’application (généralement stockées dans une base de données ou un fichier) permettant aux autres applications d’y accéder.

Writeup Android Secure Notes

Lors de l’interaction avec un Content Provider (via ADB ou via une application malveillante), la méthode query() est invoquée (présente au sein du fichier com.mobilehackinglab.securenotes.SecretDataProvider) :

Writeup Android Secure Notes

Les méthodes delete(), insert() et update() peuvent également contenir des actions intéressantes en fonction des applications. Ce n’est pas le cas ici.

L’implémentation de la fonction query() permet de réaliser plusieurs actions :

  • Vérifie que le selection commence par “pin=” (ligne 89)
  • Extrait et formate le PIN sur 4 chiffres (%04d)  (ligne 95)
  • Appelle decryptSecret(pin) pour déchiffrer la donnée stockée dans encryptedSecret (ligne 100)

Dans le cadre d’un appel via ADB, le paramètre selection (ligne 89) est transmis au ContentProvider grâce à l’option –where. Pour faire appel à ce Content Provider, il sera alors nécessaire d’utiliser la commande suivante  : adb shell content query –uri content://com.mobilehackinglab.securenotes.secretprovider –where « pin=1234 »

Ne voyant aucune mesure permettant de limiter le nombre de vérifications, on tente un premier script pour bruteforcer ce Content Provider :

Writeup Android Secure Notes

Nous l’exécutons, mais une petite surprise nous attend lorsque l’on tente le PIN 0299 :

Writeup Android Secure Notes


Lors des précédents challenges, les flags sont entourés d’accolades, tentons de modifier le script en gardant cela en tête :

Writeup Android Secure Notes


Dès lors, après quelques minutes d’attente, il est possible d’accéder au code PIN convoité.

Ce que nous faisons de mieux

effet glitch-court

Évaluez la sécurité de vos systèmes d’information afin d’anticiper les cyber-attaques.

Tests d'intrusion

Test d'intrusion

Mettez-vous dans la peau d’un attaquant

pour éprouver votre sécurité.

Audits

Audit

Identifions ensemble les points
de sécurité primordiaux à améliorer.

Formations

Formation

La formation est le premier
rempart de sécurité à mettre en place.

Tests d'intrusion

Test d'intrusion

Mettez-vous dans la peau d’un attaquant pour éprouver votre sécurité.

Audits

Audit

Identifions ensemble les points
de sécurité primordiaux à améliorer.

Formations

Formation

La formation est le premier
rempart de sécurité à mettre en place.

Ils nous font confiance

effet glitch-court

Qui sommes-nous ?

effet glitch-court

Depuis 2018, ORHUS s’est imposé comme un acteur clé de la cybersécurité, présent sur de nombreux challenges étatiques et engagé auprès de centaines d’entreprises à travers 3 continents. Fondée avec la volonté de dépasser les limites des audits partiels, ORHUS repose sur une approche exigeante et manuelle de l’audit de sécurité, menée par une équipe de 7 experts. Chaque jour, notre équipe met son expertise au service de votre réussite, avec pour priorité l’écoute de vos besoins et l’assurance d’un haut niveau de sécurité.

Vous souhaitez renforcer votre sécurité ?