Solution de areizen pour R2-D2

forensics disk android

6 novembre 2023

Table des matières

R2-D2

D’après l’énoncé de ce challenge, il va falloir analyser un téléphone pour trouver une backdoor.

Aprés avoir lancé l’AVD (Android Virtual Device) fourni par le challenge, on se rend compte qu’il est basé sur un émulateur Android classique : Android 11 x86_64 (Google APIs). J’ai donc setup un AVD officiel à coté afin d’avoir une base de comparaison.

La première idée qui me vient à l’esprit lorsqu’on me parle d’une backdoor sous Android est le fait qu’une application malveillante ai pu être installée.

Un diff des applications installées (adb shell pm list packages) entre les deux émulateurs met en évidence deux applications :

com.google.android.apps.authenticator2
com.google.android.inputmethod.greek

La première est annoncée comme ne faisant pas partie du challenge. On récupère la seconde pour l’analyser :

$ adb shell pm path com.google.android.inputmethod.greek
package:/data/app/~~GPM5LYhZShicXImrjgL3ow==/com.google.android.inputmethod.greek-imAWCH1SzBvEhmcDPmZzKQ==/base.apk

$ adb pull /data/app/~~GPM5LYhZShicXImrjgL3ow==/com.google.android.inputmethod.greek-imAWCH1SzBvEhmcDPmZzKQ==/base.apk

On l’ouvre dans un décompilateur, ici JADX ( https://github.com/skylot/jadx/releases ).

L’entrypoint de l’application est indiquée dans Manifest.xml : manifest

En allant voir le code de la classe, plusieurs base64 sont présentes dont une qui a l’air d’être déchiffrée :

flag_cipher

xor

Un copier-coller dans un IDE et le flag apparaît.