Pinguino

Tracciamento di applicazioni Android con Termux e utilità Linux

Il seguente articolo dimostrerà come utilizzare le utility Linux "vecchio stile" e Termux per tracciare le app Android.

Useremo Termux linux VM all'interno di un dispositivo Android per installare util Linux comuni insieme alle app Android.

I principali strumenti che utilizzeremo sono:

  1. strace
  2. Jtrace
  3. Notifica orologio

*È necessario un dispositivo rootato

Cos'è Termax

Termux è un emulatore di terminale per Android. Assomiglia a una distribuzione Linux più che a una semplice applicazione terminale, a causa del gran numero di pacchetti disponibili come clang, ffmpeg, openssh, python e vim.

Termux non è un emulatore di sistema operativo o hardware. Condivide lo stesso ambiente di altre parti del sistema operativo Android.

Perché abbiamo bisogno di Termux?

Risposta breve: gestore di pacchetti APT.
Risposta lunga: Android non ha un gestore di pacchetti o repository integrati. Se desideri utilizzare binari come wget o cURL in Android, dovrai cercare manualmente qualcuno che li abbia compilati o, peggio ancora, compilarli tu stesso.

Android ha una propria implementazione per libc (Bionic) che è stata creata per consentire agli sviluppatori di app di avere legalmente app closed source. Questo fa fallire i normali binari ARM dai normali repository e compilare nuovi binari un'attività non banale. Termux elimina tutti questi problemi fornendo lo spazio utente libc che consente di eseguire binari ARM "normali".

Come configurare Termux

Ci sono 3 passaggi principali:

  1. Installa l'app
  2. Imposta ssh direttamente sulla tua shell Termux
  3. Bonus - eseguire termux da adb shell

Utilità utili per le applicazioni di analisi dinamica

strace

Strace è un'utilità per lo spazio utente diagnostica, di debug e didattica per Linux. Viene utilizzato per monitorare e manomettere le interazioni tra i processi e il kernel Linux, che includono chiamate di sistema, consegne di segnali e modifiche dello stato del processo. Con pochissime conoscenze preliminari è possibile visualizzare tutte le interazioni tra i file di un processo specifico

strace -p -e traccia=file

Con strace puoi analizzare comportamenti insoliti della memoria, elaborare segnali e molto altro. È importante notare che quando si ha a che fare con le app Android, molta logica viene eseguita dalla JVM, quindi molte chiamate Grange verranno aggiunte alla traccia.

Jtrace

Jtrace è un fork di strace con modifica Android che gli consente di agganciare funzionalità specifiche di Android, molto utili per tracciare le app Android. Jtrace è uno strumento utile che ha avuto numerosi aggiornamenti interessanti durante il 2021. *non c'è bisogno di Termux per questo

Notifica orologio

A volte strace non è sufficiente poiché desideri sapere se/quando un file viene utilizzato ma non sei sicuro di quale processo lo stia utilizzando. Fortunatamente inotifywatch risolve proprio questo. inotifywatch ascolta gli eventi del file system utilizzando l'interfaccia inotify di Linux, quindi emette un conteggio riepilogativo degli eventi ricevuti su ciascun file o directory. In questo modo puoi tracciare cartelle specifiche e non processi specifici.

Chattr

Chattr (modifica attributi) consente agli utenti di modificare gli attributi dei file.

Gli attributi dei file fanno parte di un meccanismo di sicurezza simile ai permessi di Linux (chmod), con richieste più granulari.

Ad esempio, puoi consentire a un utente di aggiungere testo a un file, ma impedire all'utente di eliminare il file utilizzando il seguente comando

chattr -a 

Questo può essere molto utile quando si ricercano malware che utilizzano file temporanei e li rimuovono all'istante.

Puoi anche usare il comando con flag ricorsivo per intere directory:

chattr -Ra /data/data/com.bad.package/files/

Salta al contenuto