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
:
En allant voir le code de la classe, plusieurs base64 sont présentes dont une qui a l’air d’être déchiffrée :
Un copier-coller dans un IDE et le flag apparaît.