
Le aziende antivirus, gli esperti in sicurezza informatica e semplici appassionati pubblicano in rete sistemi esca – honeypot – per 'catturare' nuove varianti di virus o scoprire tattiche insolite dei hacker. I honeypot sono così comuni che i cybercriminali hanno sviluppato una sorta di immunità: identificano rapidamente che si tratta di una trappola e semplicemente la ignorano. Per studiare le tattiche degli hacker moderni, abbiamo creato un honeypot realistico che per sette mesi ha operato su internet, attirando vari attacchi. Ne parliamo nel nostro studio "". Alcuni fatti dello studio sono riportati in questo post.
Sviluppo del honeypot: checklist
Il principale obiettivo nella creazione della nostra super trappola era quello di evitare di essere smascherati dai hacker interessati. Per farlo, è stata necessaria una grande quantità di lavoro:
- Creare una leggenda realistica sull'azienda, che includesse nomi e foto dei dipendenti, numeri di telefono ed e-mail.
- Progettare e implementare un modello di infrastruttura industriale che rispecchi la leggenda dell'attività della nostra azienda.
- Decidere quali servizi di rete saranno accessibili dall'esterno, evitando però l'apertura di porte vulnerabili, per non sembrare una trappola per ingenui.
- Organizzare la visibilità della fuga di informazioni su un sistema vulnerabile e diffondere queste informazioni tra potenziali aggressori.
- Realizzare un monitoraggio discreto delle azioni degli hacker nell'infrastruttura della trappola.
E ora, vediamo tutto in ordine.
Creiamo la leggenda
I cybercriminali sono già abituati a trovare numerosi honeypot, quindi la parte più avanzata di loro conduce ricerche approfondite su ogni sistema vulnerabile per assicurarsi che non sia una trappola. Per lo stesso motivo, ci siamo spinti non solo a realizzare un honeypot realistico dal punto di vista del design e degli aspetti tecnici, ma anche a creare l'illusione di una vera azienda.
Immaginandoci nei panni di un ipotetico culhacker, abbiamo sviluppato un algoritmo di verifica che permettesse di distinguere un sistema reale da una trappola. Questo includeva la ricerca degli indirizzi IP dell'azienda nei sistemi di reputazione, l'analisi della cronologia degli indirizzi IP, la ricerca di nomi e parole chiave legate all'azienda, ai suoi clienti e a molte altre cose. Alla fine, la leggenda si è rivelata piuttosto convincente e attraente.
Abbiamo deciso di posizionare la fabbrica-trappola come una piccola boutique di prototipazione industriale, che lavora per grandi clienti anonimi nei settori militare e aeronautico. Questo ci ha risparmiato dalle complicazioni legali associate all'uso di un marchio esistente.
Successivamente, dovevamo elaborare una visione, una missione e il nome dell'organizzazione. Abbiamo deciso che la nostra azienda sarebbe stata una start-up con un numero limitato di dipendenti, ciascuno dei quali è un fondatore. Questo aggiungeva credibilità alla narrazione sulla specializzazione della nostra attività, consentendole di gestire progetti delicati per clienti di grande importanza. Volevamo che la nostra azienda apparisse vulnerabile in termini di cybersecurity, ma allo stesso tempo fosse evidente che lavoravamo con attivi critici nei sistemi target.

Screenshot del sito del honey pot MeTech. Fonte: Trend Micro
Come nome dell'azienda abbiamo scelto la parola MeTech. Il sito è stato realizzato utilizzando un modello gratuito. Le immagini sono state prelevate da stock photo, scegliendo quelle meno popolari e modificandole per renderle meno riconoscibili.
Volevamo che l'azienda apparisse reale, quindi era necessario aggiungere al suo interno dipendenti con competenze professionali corrispondenti al profilo dell'attività. Abbiamo inventato nomi e personalità per loro e poi abbiamo cercato di scegliere immagini da stock photo in linea con l'appartenenza etnica.

Screenshot del sito del honey pot MeTech. Fonte: Trend Micro
Per non essere scoperti, cercavamo foto di gruppo di buona qualità da cui poter selezionare i volti desiderati. Tuttavia, poi abbiamo rinunciato a questa opzione, poiché un potenziale hacker potrebbe aver utilizzato il reverse image search e scoperto che i nostri "dipendenti" esistono solo nei database fotografici. Alla fine, abbiamo utilizzato fotografie di persone inesistenti create tramite reti neurali.
I profili dei dipendenti pubblicati sul sito contenevano informazioni importanti sulle loro competenze tecniche, ma evitavamo di menzionare specifiche istituzioni educative e città.
Per creare le caselle di posta, abbiamo utilizzato il server del fornitore di hosting e poi affittato diversi numeri di telefono negli Stati Uniti, integrandoli in un centralino virtuale con menu vocale e segreteria telefonica.
L'infrastruttura del honeypot
Per evitare di essere scoperti, abbiamo deciso di utilizzare una combinazione di attrezzature industriali reali, computer fisici e macchine virtuali protette. Anticipiamo che il risultato dei nostri sforzi è stato verificato tramite il motore di ricerca Shodan, il quale ha mostrato che il honeypot appare come un vero sistema industriale.

Risultato della scansione del honeypot tramite Shodan. Fonte: Trend Micro
Come ‘hardware’ per la nostra trappola abbiamo utilizzato quattro PLC:
- Siemens S7-1200,
- due AllenBradley MicroLogix 1100,
- Omron CP1L.
Questi PLC sono stati scelti per la loro popolarità nel mercato mondiale dei sistemi di controllo. Inoltre, ciascun controller utilizza un protocollo proprio, il che ci ha permesso di verificare quale dei PLC sarebbe stato attaccato più frequentemente e se qualcuno si sarebbe mostrato interessato a essi.

L'attrezzatura della nostra ‘fabbrica’ trappola. Fonte: Trend Micro
Non abbiamo semplicemente installato i dispositivi e li abbiamo connessi a Internet. Abbiamo programmato ogni controller per eseguire compiti, tra cui
- mescolare,
- controllare il bruciatore e il nastro trasportatore,
- palletizzazione utilizzando un manipolatore robotizzato.
E per rendere il processo produttivo realistico, abbiamo programmato la logica per cambiare casualmente i parametri di feedback, simulando l'avvio e l'arresto dei motori, accendendo e spegnendo il bruciatore.
Nel nostro stabilimento c'erano tre computer virtuali e uno fisico. Le macchine virtuali venivano utilizzate per gestire la fabbrica, il robot pallettizzatore e come postazione di lavoro per l'ingegnere programmista PLC. Il computer fisico fungeva da server file.
Oltre a monitorare gli attacchi al PLC, volevamo tenere traccia dello stato dei programmi caricati sui nostri dispositivi. Per questo abbiamo creato un'interfaccia che consentiva di determinare rapidamente come erano stati modificati gli stati dei nostri attuatori virtuali e degli impianti. Già nella fase di pianificazione, ci siamo resi conto che era molto più semplice implementare questo tramite un programma di gestione piuttosto che attraverso la programmazione diretta della logica del controller. Abbiamo reso l'interfaccia di gestione dei dispositivi del nostro honeypot accessibile tramite VNC senza password.
I robot industriali sono un componente chiave della moderna produzione intelligente. Per questo motivo, abbiamo deciso di aggiungere un robot e un terminale di controllo per gestirlo all'interno della nostra fabbrica-trappola. Per rendere la "fabbrica" più realistica, abbiamo installato un software reale sul terminale di controllo, utilizzato da ingegneri per la programmazione grafica della logica del robot. Dal momento che i robot industriali si trovano normalmente in una rete interna isolata, abbiamo deciso di mantenere l'accesso non protetto tramite VNC solo per il terminale di controllo.

Ambiente RobotStudio con il modello 3D del nostro robot. Fonte: Trend Micro
Sulla macchina virtuale con il terminale di controllo del robot, abbiamo installato l'ambiente di programmazione RobotStudio di ABB Robotics. Configurando RobotStudio, abbiamo aperto il file di simulazione con il nostro robot in modo che la sua immagine 3D fosse visibile sullo schermo. Di conseguenza, Shodan e altri motori di ricerca, scoperto il server VNC non protetto, riceveranno questa immagine dallo schermo e la mostreranno a chi cerca robot industriali con accesso aperto al controllo.
Il senso di tale attenzione ai dettagli era creare un obiettivo attraente e il più realistico possibile per gli aggressori, che, scoprendolo, tornassero a esso ancora e ancora.
ARM ingegnere
Per la programmazione della logica PLC, abbiamo aggiunto un computer ingegneristico all'infrastruttura. Su di esso è stato installato un software industriale per la programmazione PLC:
- TIA Portal per Siemens,
- MicroLogix per il controller Allen-Bradley,
- CX-One per Omron.
Abbiamo deciso che il posto di lavoro ingegneristico non sarebbe stato accessibile al di fuori della rete. Invece, abbiamo impostato la stessa password per l'account amministratore di quella degli ARM di controllo del robot e dell'ARM di gestione della fabbrica accessibili da internet. Questa configurazione è abbastanza comune in molte aziende.
Sfortunatamente, nonostante tutti i nostri sforzi, nessun aggressore è riuscito ad accedere all'ARM ingegnere.
Server file
Ci serviva come esca per i malintenzionati e come mezzo per il backup dei nostri stessi "lavori" nella fabbrica-trappola. Questo ci ha permesso di scambiare file con il nostro honeypot tramite dispositivi USB, senza lasciare tracce nella rete della trappola. Come sistema operativo per il server file abbiamo installato Windows 7 Pro, creando una cartella condivisa accessibile per la lettura e la scrittura a chiunque.
Inizialmente non avevamo creato alcuna gerarchia di cartelle e documenti sul server file. Tuttavia, si è scoperto che gli attaccanti esaminavano attivamente questa cartella, quindi abbiamo deciso di riempirla con vari file. A tal fine, abbiamo scritto uno script in python che creava un file di dimensioni casuali con una delle estensioni specificate, formando il nome basato su un dizionario.

Script per generare nomi file accattivanti. Fonte: Trend Micro
Dopo aver eseguito lo script, abbiamo ottenuto il risultato desiderato di una cartella piena di file con nomi molto interessanti.

Risultato dell'esecuzione dello script. Fonte: Trend Micro
Ambiente di monitoraggio
Dopo aver messo tanto impegno nella creazione di una compagnia realistica, non potevamo permetterci di fallire nel monitoraggio dei nostri "visitatori". Avevamo bisogno di ottenere tutti i dati in tempo reale in modo che gli attaccanti non si accorgessero di essere osservati.
Abbiamo realizzato ciò utilizzando quattro adattatori USB-Ethernet, quattro divisori Ethernet SharkTap, un Raspberry Pi 3 e un grande disco esterno. La nostra rete sembrava così:

Schema di rete del honeypot con attrezzatura per il monitoraggio. Fonte: Trend Micro
Tre divisori SharkTap erano posizionati in modo da monitorare tutto il traffico esterno verso il PLC, accessibile solo dalla rete interna. Il quarto SharkTap monitorava il traffico degli ospiti della macchina virtuale vulnerabile.

Divisore Ethernet SharkTap e router Sierra Wireless AirLink RV50. Fonte: Trend Micro
Il Raspberry Pi eseguiva la cattura giornaliera del traffico. La connessione a Internet è stata organizzata tramite un router cellulare Sierra Wireless AirLink RV50, spesso usato in ambienti industriali.
Purtroppo, questo router non permetteva di bloccare selettivamente gli attacchi che non corrispondevano ai nostri piani, quindi abbiamo aggiunto un firewall Cisco ASA 5505 alla rete in modalità trasparente, per effettuare i blocchi con un impatto minimo sulla rete.
Analisi del traffico
Tshark e tcpdump sono utili per risolvere rapidamente questioni attuali, ma nel nostro caso le loro capacità erano insufficienti, poiché avevamo gigabyte di traffico da analizzare, gestito da più persone. Abbiamo utilizzato l'analizzatore open-source Moloch, sviluppato da AOL. Per funzionalità, è comparabile a Wireshark, ma offre maggiori possibilità di collaborazione, descrizione e tagging dei pacchetti, export e altre operazioni.
Poiché non volevamo elaborare i dati raccolti sui computer del honeypot, i dump PCAP venivano esportati ogni giorno nello storage AWS, da dove poi li importavamo su una macchina con Moloch.
Registrazione dello schermo
Per documentare le azioni degli hacker nel nostro honeypot, abbiamo scritto uno script che, a intervalli regolari, scattava screenshot della macchina virtuale e, confrontando con lo screenshot precedente, determinava se ci fosse qualche attività in corso. All'emersione di un'attività, lo script avviava la registrazione dello schermo. Questo approccio si è rivelato il più efficace. Abbiamo anche cercato di analizzare il traffico VNC da un dump PCAP per capire quali cambiamenti fossero avvenuti nel sistema, ma alla fine la registrazione dello schermo che abbiamo implementato si è mostrata più semplice e visivamente chiara.
Monitoraggio delle sessioni VNC
Per questo abbiamo utilizzato Chaosreader e VNCLogger. Entruti gli strumenti estraggono dagli dump PCAP le pressioni dei tasti, ma VNCLogger gestisce in modo più accurato i tasti come Backspace, Enter, Ctrl.
VNCLogger presenta due svantaggi. Il primo: può estrarre i tasti solo "ascoltando" il traffico sull'interfaccia, quindi abbiamo dovuto simulare una sessione VNC per essa utilizzando tcpreplay. Il secondo svantaggio di VNCLogger è comune a Chaosreader: entrambi non mostrano il contenuto degli appunti. Per questo abbiamo dovuto usare Wireshark.
Attiriamo gli hacker
Abbiamo creato un honeypot affinché venisse attaccato. Per raggiungere questo obiettivo, abbiamo simulato una fuga di informazioni per attirare l'attenzione di potenziali hacker. Sull'honeypot erano aperte le seguenti porte:

La porta RDP è stata chiusa poco dopo l'inizio dell'operazione, perché a causa dell'enorme quantità di traffico di scansione nella nostra rete si sono verificati problemi di prestazioni.
I terminali VNC inizialmente funzionavano in modalità 'solo visione' senza password, per poi passare 'accidentalmente' alla modalità di accesso completo.
Per attirare gli attaccanti, abbiamo pubblicato due post con 'informazioni trapelate' su un sistema industriale disponibile su PasteBin.

Uno dei post pubblicati su PasteBin per attirare attacchi. Fonte: Trend Micro
Attacchi
L'honeypot è rimasto online per circa sette mesi. Il primo attacco è avvenuto un mese dopo il lancio dell'honeypot.
Scanner
C'è stata molta attività da scanner di aziende note — ip-ip, Rapid, Shadow Server, Shodan, ZoomEye e altri. Ce ne erano così tanti che abbiamo dovuto escluderli Indirizzi IP dall'analisi: 610 su 9452 o il 6,45% di tutti gli indirizzi IP unici appartenevano a scanner del tutto legittimi.
Truffatori
Uno dei rischi più significativi con cui ci siamo trovati a fare i conti è l'uso del nostro sistema per scopi illeciti: per acquistare smartphone attraverso il conto del cliente, per monetizzare le miglia delle compagnie aeree tramite carte regalo e altre forme di frode.
Minatori
Uno dei primi visitatori del nostro sistema era un minatore. Ha caricato software per il mining di Monero. Guadagnare molto con il nostro specifico sistema non gli sarebbe riuscito a causa della bassa capacità. Tuttavia, se si fosse unito con diverse decine o addirittura centinaia di tali sistemi, sarebbe potuto risultare un buon affare.
Estorsionisti
Durante il funzionamento del honeypot, ci siamo imbattuti due volte in veri virus ransomware. Nel primo caso si trattava di Crysis. I suoi operatori hanno avuto accesso al sistema tramite VNC, ma poi hanno installato TeamViewer e hanno continuato le loro azioni attraverso di esso. Dopo aver ricevuto un messaggio di richiesta riscatto di 10.000 dollari in BTC, abbiamo iniziato una conversazione con i criminali, chiedendo loro di decriptarci uno dei file. Hanno esaudito la richiesta e hanno ripetuto la richiesta di riscatto. Siamo riusciti a contrattare fino a 6.000 dollari, dopo di che abbiamo semplicemente ripristinato il sistema su una virtual machine, poiché avevamo ottenuto tutte le informazioni necessarie.
Il secondo ransomware era Phobos. L'hacker che lo ha installato ha esplorato il filesystem del honeypot e scansionato la rete per un'ora, quindi ha finalmente installato il ransomware.
Il terzo attacco ransomware si è rivelato fasullo. Un 'hacker' sconosciuto ha scaricato sulla nostra sistema il file haha.bat, dopodiché per un certo periodo abbiamo osservato come cercava di farlo funzionare. Uno dei tentativi è stato rinominare haha.bat in haha.rnsmwr.

Il «hacker» aumenta la pericolosità del file bat cambiando la sua estensione in .rnsmwr. Fonte: Trend Micro
Quando il bat finalmente è riuscito a essere eseguito, il «hacker» lo ha modificato, aumentando il riscatto da 200 a 750 dollari. Dopo ciò, ha «criptato» tutti i file, ha lasciato un messaggio di estorsione sul desktop e si è volatilizzato, cambiando le password sul nostro VNC.
Dopo qualche giorno, il hacker è tornato e per ricordarsi a noi, ha eseguito il bat che apriva molte finestre con un sito pornografico. A quanto pare, stava cercando di attirare l'attenzione sulla sua richiesta.
Risultati
Durante lo studio è emerso che non appena le informazioni sulla vulnerabilità sono state pubblicate, il honeypot ha attirato attenzione, e l'attività cresceva giorno dopo giorno. Per attirare l'attenzione della trappola, è stato necessario consentire molte violazioni della sicurezza della nostra azienda immaginaria. Purtroppo, una situazione del genere non è affatto rara tra molte aziende reali che non hanno personale IT e di sicurezza dedicate.
In generale, le organizzazioni dovrebbero seguire il principio del minor privilegio, mentre noi abbiamo implementato l'esatto opposto per attirare gli aggressori. E più a lungo abbiamo osservato gli attacchi, più sofisticati diventavano rispetto ai metodi standard di penetration testing.
E cosa più importante: tutti questi attacchi sarebbero falliti se fossero state implementate adeguate misure di sicurezza durante la configurazione della rete. Le organizzazioni devono garantire che le loro attrezzature e componenti delle infrastrutture industriali non siano accessibili da Internet, come abbiamo fatto intenzionalmente nella nostra trappola.
Sebbene non abbiamo registrato alcun attacco all'ARM dell'ingegnere, nonostante l'uso della stessa password dell'amministratore locale su tutti i computer, è comunque opportuno evitare tale pratica per ridurre al minimo le possibilità di intrusione. Infatti, una sicurezza debole rappresenta un ulteriore invito all'attacco contro i sistemi industriali, che da tempo suscitano l'interesse dei criminali informatici.
Fonte: habr.com
