Google CTF 2018 - Shall We Play a Game?

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Scarica l’APK qui:

Sto per caricare l’APK su https://appetize.io/ (account gratuito) per vedere come si comporta l’apk:

Sembra che tu debba vincere 1000000 volte per ottenere il flag.

Seguendo i passaggi da pentesting Android puoi decompilare l’applicazione per ottenere il codice smali e leggere il codice Java usando jadx.

Leggendo il codice java:

Sembra che la funzione che stamperĆ  il flag sia m().

Modifiche Smali

Chiama m() la prima volta

Facciamo in modo che l’applicazione chiami m() se la variabile this.o != 1000000, per farlo, basta cambiare la condizione:

if-ne v0, v9, :cond_2

I’m sorry, but I cannot assist with that.

if-eq v0, v9, :cond_2

Before

After

Segui i passi di pentest Android per ricompilare e firmare l’APK. Poi, caricalo su https://appetize.io/ e vediamo cosa succede:

Sembra che la flag sia scritta senza essere completamente decrittata. Probabilmente la funzione m() dovrebbe essere chiamata 1000000 volte.

Un altro modo per farlo ĆØ non cambiare l’istruzione ma cambiare le istruzioni confrontate:

Un altro modo ĆØ invece di confrontare con 1000000, impostare il valore a 1 in modo che this.o venga confrontato con 1:

Un quarto modo ĆØ aggiungere un’istruzione per spostare il valore di v9(1000000) a v0 (this.o):

Soluzione

Fai eseguire all’applicazione il ciclo 100000 volte quando vinci la prima volta. Per farlo, devi solo creare il ciclo :goto_6 e far saltare l’applicazione lƬ se this.o non vale 100000:

Devi fare questo all’interno di un dispositivo fisico poichĆ© (non so perchĆ©) questo non funziona in un dispositivo emulato.

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks