An adversary inserts a debugger into the program entry point of a mobile application to modify the application binary, with the goal of evading Root/Jailbreak detection. Mobile device users often Root/Jailbreak their devices in order to gain administrative control over the mobile operating system and/or to install third-party mobile applications that are not provided by authorized application stores (e.g. Google Play Store and Apple App Store). Rooting/Jailbreaking a mobile device also provides users with access to system debuggers and disassemblers, which can be leveraged to exploit applications by dumping the application's memory at runtime in order to remove or bypass signature verification methods. This further allows the adversary to evade Root/Jailbreak detection mechanisms, which can result in execution of administrative commands, obtaining confidential data, impersonating legitimate users of the application, and more.
Description
Attack Execution Flow
Step 1
Explore[Identify application with attack potential] The adversary searches for and identifies a mobile application that could be exploited for malicious purposes (e.g. banking, voting, or medical applications).
Search application stores for mobile applications worth exploiting
[Identifica applicazioni con potenziale di attacco] L'avversario cerca e identifica un'applicazione mobile che potrebbe essere sfruttata per scopi dannosi (ad esempio applicazioni bancarie, di voto o mediche).
Cerca negli store di applicazioni applicazioni mobili che valgano la pena di essere sfruttate
Attack Techniques
-
Search application stores for mobile applications worth exploiting
Step 2
Experiment[Debug the target application] The adversary inserts the debugger into the program entry point of the mobile application, after the application's signature has been identified, to dump its memory contents.
Insert the debugger at the mobile application's program entry point, after the application's signature has been identified.
Dump the memory region containing the now decrypted code from the address space of the binary.
[Debug the target application] L'adversario inserisce il debugger nel punto di ingresso del programma dell'applicazione mobile, dopo aver identificato la firma dell'applicazione, per dumpare il contenuto della sua memoria.
Inserire il debugger nel punto di ingresso del programma dell'applicazione mobile, dopo aver identificato la firma dell'applicazione.
Dumpare la regione di memoria contenente il codice ora decriptato dallo spazio di indirizzamento del binario.
Attack Techniques
-
Insert the debugger at the mobile application's program entry point, after the application's signature has been identified.
-
Dump the memory region containing the now decrypted code from the address space of the binary.IT: Inserisci il debugger al punto di ingresso del programma dell'applicazione mobile, dopo che è stata identificata la firma dell'applicazione.
Step 3
Experiment[Remove application signature verification methods] Remove signature verification methods from the decrypted code and resign the application with a self-signed certificate.
[Rimuovi i metodi di verifica della firma dell'applicazione] Rimuovi i metodi di verifica della firma dal codice decrittato e ri-firma l'applicazione con un certificato auto-firmato.
Step 4
Exploit[Execute the application and evade Root/Jailbreak detection methods] The application executes with the self-signed certificate, while believing it contains a trusted certificate. This now allows the adversary to evade Root/Jailbreak detection via code hooking or other methods.
Optional: Hook code into the target application.
[Eseguire l'applicazione ed eludere i metodi di rilevamento Root/Jailbreak] L'applicazione viene eseguita con il certificato auto-firmato, pur credendo di contenere un certificato attendibile. Ciò consente ora all'attaccante di eludere il rilevamento Root/Jailbreak tramite hooking del codice o altri metodi.
Opzionale: Inserire hook nel codice dell'applicazione target.
Attack Techniques
-
Optional: Hook code into the target application.