
Le aziende antivirus, gli esperti di sicurezza informatica e semplici appassionati pubblicano su Internet sistemi-trappola - honeypots, per "catturare con l'esca" nuove varianti di virus o scoprire tecniche di hacking insolite. I honeypot si trovano così frequentemente che i criminali informatici 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 vissuto su Internet, attirando i più svariati tipi di attacchi. Di come è andata, abbiamo parlato nella nostra ricerca "". Alcuni fatti dello studio sono riportati in questo post.
Sviluppo del honeypot: checklist
Il principale obiettivo nella creazione della nostra super trappola era evitare che gli hacker, mostratisi interessati, ci smascherassero. Per questo è stata necessaria una grande quantità di lavoro:
- Creare una leggenda realistica sull'azienda, includendo nomi, foto dei dipendenti, numeri di telefono e email.
- Ideare e implementare un modello di infrastruttura industriale che corrispondesse alla leggenda delle attività della nostra azienda.
- Decidere quali servizi di rete sarebbero stati accessibili dall'esterno, senza però esagerare con l'apertura di porte vulnerabili per non sembrare una trappola per ingenui.
- Organizzare la percezione di una fuga di informazioni su un sistema vulnerabile e diffondere queste informazioni tra i potenziali attaccanti.
- Implementare un osservatorio discreto sulle azioni degli hacker nell'infrastruttura della trappola.
E ora parliamo di tutto in ordine.
Creiamo la leggenda
I criminali informatici sono già abituati a incontrare numerosi honeypot, quindi la parte più avanzata di loro conduce ricerche approfondite su ciascun sistema vulnerabile per assicurarsi che non si tratti di una trappola. Per lo stesso motivo, abbiamo cercato di raggiungere non solo il realismo del honeypot in termini di design e aspetti tecnici, ma anche di creare l'apparenza di un'azienda reale.
Mettendosi nei panni di un ipotetico culhacker, abbiamo sviluppato un algoritmo di verifica che permettesse di distinguere un sistema reale da una trappola. Comprendeva la ricerca degli indirizzi IP dell'azienda nei sistemi di reputazione, l'analisi inversa della storia degli indirizzi IP, la ricerca di nomi e parole chiave relativi all'azienda, così come ai suoi partner e a molte altre cose. Alla fine, la leggenda si è dimostrata piuttosto convincente e accattivante.
Abbiamo deciso di posizionare la fabbrica trappola come una piccola boutique di prototipazione industriale, che lavora per clienti molto grandi e anonimi nei settori della difesa e dell'aviazione. Questo ci ha liberato da complicazioni legali legate all'uso di un marchio esistente.
Successivamente, abbiamo dovuto pensare a una visione, una missione e un nome per l'organizzazione. Abbiamo deciso che la nostra azienda sarebbe stata una startup con un numero limitato di dipendenti, ognuno dei quali sarebbe stato un cofondatore. Questo aggiungeva credibilità alla leggenda sulla specializzazione della nostra attività, che le consente di lavorare a progetti delicati per clienti importanti e di alto profilo. Volevamo che la nostra azienda apparisse debole dal punto di vista della cybersicurezza, ma al tempo stesso fosse chiaro che lavoriamo con attivi di grande rilevanza 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 template gratuito. Le immagini sono state prelevate da banche immagini, usando quelle meno popolari e modificandole per renderle meno riconoscibili.
Volevamo che l'azienda apparisse reale, quindi era necessario aggiungere dipendenti con competenze professionali in linea con il profilo dell'attività. Abbiamo inventato nomi e personalità per loro e successivamente abbiamo cercato di scegliere immagini da banche immagini in base all'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 scegliere i volti di nostro interesse. Tuttavia, successivamente abbiamo abbandonato questa opzione, poiché un potenziale hacker avrebbe potuto utilizzare la ricerca inversa delle immagini e scoprire che i nostri "dipendenti" esistono solo nelle banche immagini. Alla fine, abbiamo utilizzato foto di persone inesistenti, create con reti neurali.
I profili pubblicati sul sito contenevano informazioni importanti sulle loro competenze tecniche, ma abbiamo evitato di menzionare scuole specifiche e città.
Per creare le caselle di posta, abbiamo utilizzato il server del provider di hosting e poi abbiamo affittato alcuni numeri di telefono negli Stati Uniti, unendoli in una centrale virtuale con menu vocale e segreteria telefonica.
Infrastruttura del honeypot
Per evitare la scoperta, abbiamo deciso di utilizzare una combinazione di attrezzature industriali reali, computer fisici e macchine virtuali protette. In anticipo, diciamo 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à sul mercato mondiale dei sistemi di controllo. Inoltre, ognuno di questi controllori utilizza il proprio protocollo, il che ci ha permesso di verificare quale dei PLC sarebbe stato attaccato più spesso e se qualcuno sarebbe stato interessato.

Attrezzature della nostra trappola-fabbrica. Fonte: Trend Micro
Non ci siamo limitati a collegare le apparecchiature a Internet. Ogni controllore è stato programmato per eseguire compiti, tra cui
- mescolare,
- controllare il bruciatore e il nastro trasportatore,
- palletizzazione utilizzando un manipolatore robotico.
Per rendere il processo produttivo realistico, abbiamo programmato la logica per modificare casualmente i parametri di feedback, simulando l'accensione e lo spegnimento dei motori, l'attivazione e la disattivazione del bruciatore.
Nella nostra fabbrica c'erano tre computer virtuali e uno fisico. I computer virtuali venivano utilizzati per gestire l'impianto, il robot pallettizzatore e come postazione di lavoro per l'ingegnere programmatori PLC. Il computer fisico funzionava come server di file.
Oltre a monitorare gli attacchi al PLC, volevamo seguire lo stato dei programmi caricati sui nostri dispositivi. A tal fine, abbiamo creato un'interfaccia che consentiva di determinare rapidamente in che modo erano stati modificati gli stati dei nostri attuatori e impianti virtuali. Già nella fase di pianificazione, abbiamo scoperto che era molto più semplice implementare questo attraverso un programma di controllo piuttosto che tramite la programmazione diretta della logica del controllore. All'interfaccia di gestione dei dispositivi del nostro honeypot abbiamo aperto l'accesso tramite VNC senza password.
I robot industriali sono un componente chiave della moderna produzione intelligente. Pertanto, abbiamo deciso di aggiungere un robot e un ARM per gestirlo nel nostro impianto di produzione. Per rendere la "fabbrica" più realistica, abbiamo installato un software reale sull'ARM di gestione, utilizzato dagli ingegneri per la programmazione grafica della logica del robot. E poiché i robot industriali si trovano di solito in una rete interna isolata, abbiamo deciso di mantenere l'accesso non protetto tramite VNC solo per l'ARM di gestione.

Ambiente RobotStudio con il modello 3D del nostro robot. Fonte: Trend Micro
Sulla macchina virtuale con l'ARM per la gestione del robot, abbiamo installato l'ambiente di programmazione RobotStudio di ABB Robotics. Configurando RobotStudio, abbiamo aperto un 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, rilevando un server VNC non protetto, otterranno quest'immagine dallo schermo e la mostreranno a chi cerca robot industriali con accesso aperto alla gestione.
Il senso di tale attenzione ai dettagli era quello di creare un obiettivo attraente e il più realistico possibile per i malintenzionati, i quali, scoprendolo, ritornerebbero su di esso ripetutamente.
ARM dell'ingegnere
Per programmare la logica del PLC, abbiamo aggiunto un computer ingegneristico all'infrastruttura. Su di esso è stato installato un software industriale per la programmazione del PLC:
- TIA Portal per Siemens,
- MicroLogix per il controllore Allen-Bradley,
- CX-One per Omron.
Abbiamo deciso che il posto di lavoro per ingegneri non sarà accessibile al di fuori della rete. Invece, abbiamo impostato la stessa password per l'account dell'amministratore, come in ARM di gestione del robot e ARM di gestione della fabbrica accessibili da internet. Questa configurazione è abbastanza comune in molte aziende.
Purtroppo, nonostante i nostri sforzi, nessun attaccante è riuscito a raggiungere l'ARM dell'ingegnere.
Server file
Ci serviva come esca per i malintenzionati e come mezzo per il backup dei nostri 'lavori' nella fabbrica di trappola. Ciò 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, in cui abbiamo creato una cartella condivisa disponibile in lettura e scrittura per chiunque.
Inizialmente non abbiamo creato alcuna gerarchia di cartelle e documenti sul server file. Tuttavia, è emerso che gli attaccanti studiavano attivamente questa cartella, quindi abbiamo deciso di riempirla con vari file. Per fare ciò, abbiamo scritto uno script python che creava un file di dimensioni casuali con una delle estensioni specificate, generando il nome basato su un dizionario.

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

Risultato del lavoro dello script. Fonte: Trend Micro
Ambiente per il monitoraggio
Dopo aver speso così tanto sforzo per creare un'azienda realistica, non potevamo permetterci di fallire nell'ambiente per monitorare i nostri 'visitatori'. Dovevamo raccogliere tutti i dati in tempo reale in modo che gli attaccanti non si accorgessero di essere osservati.
Abbiamo realizzato questo utilizzando quattro adattatori USB-Ethernet, quattro derivatori Ethernet SharkTap, Raspberry Pi 3 e un grande disco esterno. Lo schema della nostra rete era il seguente:

Schema della rete dell'honeypot con attrezzatura per il monitoraggio. Fonte: Trend Micro
Abbiamo posizionato tre derivatori SharkTap 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.

Derivatore Ethernet SharkTap e router Sierra Wireless AirLink RV50. Fonte: Trend Micro
Il Raspberry Pi eseguiva la cattura del traffico su base giornaliera. La connessione a Internet è stata realizzata utilizzando un router cellulare Sierra Wireless AirLink RV50, frequentemente utilizzato nelle aziende industriali.
Sfortunatamente, questo router non consentiva di bloccare selettivamente gli attacchi che non si allineavano ai nostri piani, quindi abbiamo aggiunto alla rete un firewall Cisco ASA 5505 in modalità trasparente, per eseguire i blocchi con il minimo impatto 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 diversi gigabyte di traffico che venivano analizzati da più persone. Abbiamo utilizzato l'analizzatore open-source Moloch, sviluppato da AOL. In termini di funzionalità, è comparabile a Wireshark, ma offre maggiori possibilità di collaborazione, descrizione e tagging dei pacchetti, esportazione e altre attività.
Poiché non volevamo elaborare i dati raccolti sui computer dell'honeypot, i dump PCAP venivano esportati ogni giorno in un'archiviazione AWS, da dove 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, prendeva schermate della macchina virtuale e, confrontando con la schermata precedente, determinava se stava accadendo qualcosa o meno. Alla rilevazione di attività, lo script avviava la registrazione dello schermo. Questo approccio si è rivelato il più efficace. Abbiamo anche cercato di analizzare il traffico VNC dal dump PCAP, per capire quali modifiche erano avvenute nel sistema, ma alla fine la registrazione dello schermo che abbiamo implementato si è rivelata più semplice e chiara.
Monitoraggio delle sessioni VNC
Per questo abbiamo utilizzato Chaosreader e VNCLogger. Entruti strumenti estraggono dai dump PCAP le pressioni dei tasti, ma VNCLogger gestisce in modo più corretto i tasti come Backspace, Enter e Ctrl.
VNCLogger presenta due svantaggi. Il primo: può estrarre i tasti solo "ascoltando" il traffico sull'interfaccia, quindi abbiamo dovuto simulare per essa una sessione VNC utilizzando tcpreplay. Il secondo svantaggio di VNCLogger è comune a Chaosreader: entrambi non mostrano il contenuto degli appunti. Per questo abbiamo dovuto utilizzare Wireshark.
Attiriamo gli hacker
Abbiamo creato un honeypot per attirare attacchi. Per farlo, abbiamo messo in scena una fuga di informazioni destinata ad attirare l'attenzione di potenziali hacker. Sul honeypot erano aperte le seguenti porte:

La porta RDP è stata chiusa poco dopo l'inizio delle attività, poiché a causa dell'enorme quantità di traffico di scansione, abbiamo riscontrato problemi di performance nella nostra rete.
I terminali VNC inizialmente funzionavano in modalità 'solo visualizzazione' senza password, ma poi li abbiamo 'per sbaglio' attivati in modalità accesso completo.
Per attrarre 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'è stato molto traffico proveniente da scanner di aziende note: ip-ip, Rapid, Shadow Server, Shodan, ZoomEye e altri. Ce n'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ù grandi con cui ci siamo dovuti confrontare è l'uso del nostro sistema per scopi criminali: per acquistare smartphone a spese dell'abbonato, incassare miglia di compagnie aeree utilizzando carte regalo e altre forme di frode.
Miner
Uno dei primi visitatori del nostro sistema era un miner. Ha caricato un software per il mining di Monero. Non sarebbe riuscito a guadagnare molto sul nostro sistema specifico a causa delle basse prestazioni. Tuttavia, se si unissero gli sforzi di alcune decine o addirittura centinaia di tali sistemi, potrebbe risultare piuttosto efficace.
Ransomware
Durante il funzionamento del honeypot, ci siamo imbattuti due volte in veri ransomware. Nel primo caso, si trattava di Crysis. I suoi operatori sono entrati nel sistema tramite VNC, ma poi hanno installato TeamViewer e con esso hanno eseguito ulteriori azioni. Aspettando un messaggio di riscatto con la richiesta di 10.000 dollari in BTC, siamo entrati in contatto con i criminali, chiedendo loro di decrittografare uno dei file. Hanno soddisfatto la richiesta e hanno ribadito la richiesta di riscatto. Siamo riusciti a contrattare fino a 6.000 dollari, dopodiché abbiamo semplicemente ripristinato il sistema su una virtual machine, poiché avevamo ricevuto tutte le informazioni necessarie.
Il secondo ransomware era Phobos. L'hacker che lo ha installato ha esaminato il file system del honeypot e ha scansionato la rete per un'ora, dopodiché ha finalmente installato il ransomware.
Il terzo attacco del ransomware si è rivelato falso. Un 'hacker' ha scaricato un file haha.bat sul nostro sistema e poi, per un certo periodo, abbiamo osservato come tentasse di farlo funzionare. Una delle sue tentativi è stata quella di rinominare haha.bat in haha.rnsmwr.

L' 'hacker' aumenta la nocività del file bat, cambiandone l'estensione in .rnsmwr. Fonte: Trend Micro
Quando il file batch finalmente ha iniziato a funzionare, l' 'hacker' lo ha modificato, aumentando il riscatto da 200 a 750 dollari. Dopo di che, ha 'crittografato' tutti i file, ha lasciato un messaggio di riscatto sul desktop e si è volatilizzato, cambiando le password sul nostro VNC.
Dopo un paio di giorni, l'hacker è tornato e per farsi notare ha lanciato un batch file che apriva molte finestre con un sito di pornografia. Probabilmente in questo modo tentava di attirare attenzione sulla sua richiesta.
Conclusioni
Durante la ricerca, si è scoperto che non appena le informazioni sulla vulnerabilità sono state pubblicate, il honeypot ha attirato attenzione, con un'attività in crescita giorno dopo giorno. Per attirare l'attenzione della trappola, è stato necessario compromettere numerose misure di sicurezza della nostra azienda fittizia. Purtroppo, una situazione del genere non è affatto rara tra molte aziende reali che non hanno personale IT e di sicurezza informatica a tempo pieno.
In generale, le organizzazioni dovrebbero seguire il principio dei privilegi minimi, mentre noi abbiamo implementato il suo totale opposto per attirare i malintenzionati. E più a lungo abbiamo osservato gli attacchi, più sofisticati diventavano rispetto ai metodi standard di testing per la penetrazione.
E la cosa più importante: tutti questi attacchi sarebbero falliti se durante la configurazione della rete fossero state adottate adeguate misure di sicurezza. Le organizzazioni devono assicurarsi che la loro attrezzatura e i componenti delle infrastrutture industriali non siano accessibili da internet, proprio come abbiamo fatto appositamente nella nostra trappola.
Anche se non abbiamo registrato alcun attacco all'ARМ ingegnere, nonostante l'uso della stessa password di amministratore locale su tutti i computer, è opportuno evitare tale pratica per ridurre al minimo la possibilità di intrusione. Infatti, una sicurezza debole funge da ulteriore invito all'attacco ai sistemi industriali, che da tempo suscitano l'interesse dei cybercriminali.
Fonte: habr.com
