Indicibilmente attraente: come abbiamo creato un honeypot che non può essere esposto

Indicibilmente attraente: come abbiamo creato un honeypot che non può essere esposto
Le società di antivirus, gli esperti di sicurezza informatica e semplicemente gli appassionati inseriscono sistemi honeypot su Internet per "catturare" una nuova variante del virus o identificare tattiche hacker insolite. Gli honeypot sono così diffusi che i criminali informatici hanno sviluppato una sorta di immunità: riconoscono subito di trovarsi di fronte a una trappola e semplicemente la ignorano. Per esplorare le tattiche degli hacker moderni, abbiamo creato un honeypot realistico che ha vissuto su Internet per sette mesi, attirando una serie di attacchi. Abbiamo parlato di come ciò sia avvenuto nel nostro studio”Caught in the Act: gestire un Honeypot di fabbrica realistico per catturare minacce reali" Alcuni fatti dello studio sono in questo post.

Sviluppo di honeypot: lista di controllo

Il compito principale nella creazione della nostra supertrappola era evitare di essere smascherati dagli hacker che mostravano interesse nei suoi confronti. Ciò ha richiesto molto lavoro:

  1. Crea una leggenda realistica sull'azienda, inclusi nomi completi e foto dei dipendenti, numeri di telefono ed e-mail.
  2. Ideare e realizzare un modello di infrastruttura industriale che corrisponda alla leggenda delle attività della nostra azienda.
  3. Decidi quali servizi di rete saranno accessibili dall'esterno, ma non lasciarti trasportare dall'apertura di porte vulnerabili in modo che non sembri una trappola per i cretini.
  4. Organizzare la visibilità delle fughe di informazioni su un sistema vulnerabile e distribuire queste informazioni tra potenziali aggressori.
  5. Implementare un monitoraggio discreto delle attività degli hacker nell'infrastruttura honeypot.

E ora su tutto in ordine.

Creare una leggenda

I criminali informatici sono già abituati a incontrare molti honeypot, quindi la parte più avanzata di loro conduce un'indagine approfondita su ciascun sistema vulnerabile per assicurarsi che non sia una trappola. Per lo stesso motivo abbiamo cercato di garantire che l'honeypot non fosse solo realistico in termini di design e aspetti tecnici, ma che creasse anche l'aspetto di una vera azienda.

Mettendoci nei panni di un ipotetico cool hacker, abbiamo sviluppato un algoritmo di verifica in grado di distinguere un sistema reale da una trappola. Comprendeva la ricerca di indirizzi IP aziendali nei sistemi di reputazione, la ricerca inversa nella cronologia degli indirizzi IP, la ricerca di nomi e parole chiave relativi all'azienda, nonché alle sue controparti e molte altre cose. Di conseguenza, la leggenda si è rivelata piuttosto convincente e attraente.

Abbiamo deciso di posizionare la fabbrica di esche come una piccola boutique di prototipazione industriale che lavora per clienti anonimi molto grandi nel segmento militare e dell'aviazione. Questo ci ha liberato dalle complicazioni legali associate all’utilizzo di un marchio esistente.

Successivamente abbiamo dovuto elaborare 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 è un fondatore. Ciò ha aggiunto credibilità al racconto della natura specialistica della nostra azienda, che le consente di gestire progetti delicati per clienti grandi e importanti. Volevamo che la nostra azienda apparisse debole dal punto di vista della sicurezza informatica, ma allo stesso tempo era ovvio che stavamo lavorando con risorse importanti sui sistemi target.

Indicibilmente attraente: come abbiamo creato un honeypot che non può essere esposto
Screenshot del sito web honeypot di MeTech. Fonte: TrendMicro

Abbiamo scelto la parola MeTech come nome dell'azienda. Il sito è stato realizzato sulla base di un template gratuito. Le immagini sono state prese da banche fotografiche, utilizzando quelle più impopolari e modificandole per renderle meno riconoscibili.

Volevamo che l'azienda sembrasse reale, quindi avevamo bisogno di inserire dipendenti con competenze professionali adeguate al profilo dell'attività. Abbiamo pensato a nomi e personalità per loro e poi abbiamo provato a selezionare le immagini dalle banche fotografiche in base all'etnia.

Indicibilmente attraente: come abbiamo creato un honeypot che non può essere esposto
Screenshot del sito web honeypot di MeTech. Fonte: TrendMicro

Per evitare di essere scoperti, abbiamo cercato foto di gruppo di buona qualità dalle quali poter scegliere i volti di cui avevamo bisogno. Tuttavia, abbiamo poi abbandonato questa opzione, poiché un potenziale hacker potrebbe utilizzare la ricerca inversa delle immagini e scoprire che i nostri “dipendenti” vivono solo in banche fotografiche. Alla fine, abbiamo utilizzato fotografie di persone inesistenti create utilizzando le reti neurali.

I profili dei dipendenti pubblicati sul sito contenevano informazioni importanti sulle loro competenze tecniche, ma abbiamo evitato di identificare scuole o città specifiche.
Per creare le caselle di posta abbiamo utilizzato il server di un provider di hosting, poi abbiamo affittato diversi numeri di telefono negli Stati Uniti e li abbiamo combinati in un centralino virtuale con menu vocale e segreteria telefonica.

Infrastruttura Honeypot

Per evitare esposizione, abbiamo deciso di utilizzare una combinazione di hardware industriale reale, computer fisici e macchine virtuali sicure. Guardando al futuro, diremo che abbiamo verificato il risultato dei nostri sforzi utilizzando il motore di ricerca Shodan e ha dimostrato che l'honeypot assomiglia a un vero sistema industriale.

Indicibilmente attraente: come abbiamo creato un honeypot che non può essere esposto
Il risultato della scansione di un honeypot utilizzando Shodan. Fonte: TrendMicro

Abbiamo utilizzato quattro PLC come hardware per la nostra trappola:

  • Siemens S7-1200,
  • due AllenBradley MicroLogix 1100,
  • Omron CP1L.

Questi PLC sono stati selezionati per la loro popolarità nel mercato globale dei sistemi di controllo. E ciascuno di questi controller utilizza il proprio protocollo, che ci ha permesso di verificare quale dei PLC verrebbe attaccato più spesso e se in linea di principio potrebbero interessare a qualcuno.

Indicibilmente attraente: come abbiamo creato un honeypot che non può essere esposto
Attrezzatura della nostra trappola “di fabbrica”. Fonte: TrendMicro

Non ci siamo limitati a installare l'hardware e collegarlo a Internet. Abbiamo programmato ciascun controller per eseguire attività, tra cui

  • miscelazione,
  • controllo del bruciatore e del nastro trasportatore,
  • pallettizzazione tramite manipolatore robotico.

E per rendere realistico il processo di produzione, abbiamo programmato la logica per modificare in modo casuale i parametri di feedback, simulare l'avvio e l'arresto dei motori e l'accensione e lo spegnimento dei bruciatori.

La nostra fabbrica aveva tre computer virtuali e uno fisico. I computer virtuali sono stati utilizzati per controllare un impianto, un robot di pallettizzazione e come stazione di lavoro per un ingegnere del software PLC. Il computer fisico funzionava come un file server.

Oltre a monitorare gli attacchi ai PLC, volevamo monitorare lo stato dei programmi caricati sui nostri dispositivi. Per fare ciò, abbiamo creato un'interfaccia che ci ha permesso di determinare rapidamente come sono stati modificati gli stati dei nostri attuatori e le impostazioni virtuali. Già in fase di progettazione abbiamo scoperto che è molto più semplice realizzarlo tramite un programma di controllo piuttosto che tramite la programmazione diretta della logica del controller. Abbiamo aperto l'accesso all'interfaccia di gestione dei dispositivi del nostro honeypot tramite VNC senza password.

I robot industriali sono una componente chiave della moderna produzione intelligente. A questo proposito, abbiamo deciso di aggiungere un robot e una postazione di lavoro automatizzata per controllarlo all'attrezzatura della nostra fabbrica di trappole. Per rendere la “fabbrica” più realistica, abbiamo installato un vero e proprio software sulla postazione di controllo, che gli ingegneri utilizzano per programmare graficamente la logica del robot. Ebbene, poiché i robot industriali si trovano solitamente in una rete interna isolata, abbiamo deciso di lasciare l'accesso non protetto tramite VNC solo alla postazione di controllo.

Indicibilmente attraente: come abbiamo creato un honeypot che non può essere esposto
Ambiente RobotStudio con un modello 3D del nostro robot. Fonte: TrendMicro

Abbiamo installato l'ambiente di programmazione RobotStudio di ABB Robotics su una macchina virtuale con una workstation di controllo robot. Dopo aver configurato RobotStudio, abbiamo aperto un file di simulazione con il nostro robot al suo interno in modo che la sua immagine 3D fosse visibile sullo schermo. Di conseguenza, Shodan e altri motori di ricerca, dopo aver rilevato un server VNC non protetto, cattureranno questa immagine dello schermo e la mostreranno a coloro che sono alla ricerca di robot industriali con accesso aperto al controllo.

Lo scopo di questa attenzione ai dettagli era creare un bersaglio attraente e realistico per gli aggressori che, una volta trovato, vi sarebbero tornati ancora e ancora.

Postazione di lavoro dell'ingegnere


Per programmare la logica del PLC, abbiamo aggiunto all'infrastruttura un computer di ingegneria. Su di esso è stato installato il software industriale per la programmazione del PLC:

  • Portale TIA per Siemens,
  • MicroLogix per controllore Allen-Bradley,
  • CX-One per Omron.

Abbiamo deciso che lo spazio di lavoro di ingegneria non sarebbe stato accessibile al di fuori della rete. Impostiamo invece per l'account amministratore la stessa password della postazione di controllo del robot e della postazione di controllo della fabbrica accessibile da Internet. Questa configurazione è abbastanza comune in molte aziende.
Purtroppo, nonostante tutti i nostri sforzi, nessun utente malintenzionato è riuscito a raggiungere la postazione di lavoro dell’ingegnere.

File server

Ne avevamo bisogno come esca per gli aggressori e come mezzo per sostenere il nostro “lavoro” nella fabbrica di esche. Questo ci ha permesso di condividere file con il nostro honeypot utilizzando dispositivi USB senza lasciare traccia sulla rete honeypot. Abbiamo installato Windows 7 Pro come sistema operativo per il file server, in cui abbiamo creato una cartella condivisa che può essere letta e scritta da chiunque.

Inizialmente non abbiamo creato alcuna gerarchia di cartelle e documenti sul file server. Tuttavia, in seguito abbiamo scoperto che gli aggressori stavano studiando 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 indicate, formando un nome in base al dizionario.

Indicibilmente attraente: come abbiamo creato un honeypot che non può essere esposto
Script per generare nomi di file attraenti. Fonte: TrendMicro

Dopo aver eseguito lo script, abbiamo ottenuto il risultato desiderato sotto forma di una cartella piena di file con nomi molto interessanti.

Indicibilmente attraente: come abbiamo creato un honeypot che non può essere esposto
Il risultato della sceneggiatura. Fonte: TrendMicro

Ambiente di monitoraggio


Avendo dedicato così tanti sforzi alla creazione di un'azienda realistica, semplicemente non potevamo permetterci di fallire nell'ambiente per il monitoraggio dei nostri "visitatori". Avevamo bisogno di ottenere tutti i dati in tempo reale senza che gli aggressori si rendessero conto di essere osservati.

Lo abbiamo implementato utilizzando quattro adattatori da USB a Ethernet, quattro prese Ethernet SharkTap, un Raspberry Pi 3 e una grande unità esterna. Il nostro diagramma di rete assomigliava a questo:

Indicibilmente attraente: come abbiamo creato un honeypot che non può essere esposto
Schema di rete Honeypot con apparecchiature di monitoraggio. Fonte: TrendMicro

Abbiamo posizionato tre tap SharkTap in modo da monitorare tutto il traffico esterno al PLC, accessibile solo dalla rete interna. Il quarto SharkTap monitorava il traffico degli ospiti di una macchina virtuale vulnerabile.

Indicibilmente attraente: come abbiamo creato un honeypot che non può essere esposto
Rubinetto Ethernet SharkTap e router Sierra Wireless AirLink RV50. Fonte: TrendMicro

Raspberry Pi ha eseguito l'acquisizione del traffico giornaliero. Ci siamo collegati a Internet utilizzando un router cellulare Sierra Wireless AirLink RV50, spesso utilizzato nelle imprese industriali.

Sfortunatamente, questo router non ci ha permesso di bloccare selettivamente gli attacchi che non corrispondevano ai nostri piani, quindi abbiamo aggiunto alla rete un firewall Cisco ASA 5505 in modalità trasparente per eseguire il blocco con un impatto minimo sulla rete.

Analisi del traffico


Tshark e tcpdump sono adatti per risolvere rapidamente i problemi attuali, ma nel nostro caso le loro capacità non erano sufficienti, poiché avevamo molti gigabyte di traffico, che sono stati analizzati da più persone. Abbiamo utilizzato l'analizzatore Moloch open source sviluppato da AOL. È paragonabile in termini di funzionalità a Wireshark, ma ha più funzionalità per la collaborazione, la descrizione e l'etichettatura dei pacchetti, l'esportazione e altre attività.

Poiché non volevamo elaborare i dati raccolti su computer honeypot, i dump PCAP venivano esportati ogni giorno nello spazio di archiviazione AWS, da dove li avevamo già importati sulla macchina Moloch.

Registrazione dello schermo

Per documentare le azioni degli hacker nel nostro honeypot, abbiamo scritto uno script che acquisiva screenshot della macchina virtuale a un determinato intervallo e, confrontandolo con lo screenshot precedente, determinava se stava succedendo qualcosa oppure no. Quando veniva rilevata un'attività, lo script includeva la registrazione dello schermo. Questo approccio si è rivelato il più efficace. Abbiamo provato anche ad 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 è rivelata più semplice e visiva.

Monitoraggio delle sessioni VNC


Per questo abbiamo utilizzato Chaosreader e VNCLogger. Entrambe le utility estraggono le sequenze di tasti da un dump PCAP, ma VNCLogger gestisce tasti come Backspace, Invio, Ctrl in modo più corretto.

VNCLogger presenta due svantaggi. Primo: può estrarre le chiavi solo “ascoltando” il traffico sull'interfaccia, quindi abbiamo dovuto simulare una sessione VNC utilizzando tcpreplay. Il secondo svantaggio di VNCLogger è comune a Chaosreader: entrambi non mostrano il contenuto degli appunti. Per fare questo ho dovuto utilizzare Wireshark.

Attiriamo gli hacker


Abbiamo creato l'honeypot per essere attaccato. Per raggiungere questo obiettivo, abbiamo organizzato una fuga di informazioni per attirare l’attenzione di potenziali aggressori. Su Honeypot sono state aperte le seguenti porte:

Indicibilmente attraente: come abbiamo creato un honeypot che non può essere esposto

La porta RDP ha dovuto essere chiusa poco dopo la nostra messa in funzione poiché l'enorme quantità di traffico di scansione sulla nostra rete stava causando problemi di prestazioni.
I terminali VNC hanno funzionato inizialmente in modalità di sola visualizzazione senza password, quindi "per errore" li abbiamo passati alla modalità di accesso completo.

Per attirare gli aggressori, abbiamo pubblicato due post con informazioni trapelate sul sistema industriale disponibile su PasteBin.

Indicibilmente attraente: come abbiamo creato un honeypot che non può essere esposto
Uno dei post pubblicati su PasteBin per attirare attacchi. Fonte: TrendMicro

Attacchi


Honeypot è vissuto online per circa sette mesi. Il primo attacco è avvenuto un mese dopo la messa online di Honeypot.

scanner

C'era molto traffico da scanner di aziende famose: ip-ip, Rapid, Shadow Server, Shodan, ZoomEye e altri. Erano così tanti che abbiamo dovuto escludere i loro indirizzi IP dall'analisi: 610 su 9452 ovvero il 6,45% di tutti gli indirizzi IP univoci appartenevano a scanner completamente legittimi.

truffatori

Uno dei maggiori rischi che abbiamo affrontato è l'utilizzo del nostro sistema per scopi criminali: acquistare smartphone tramite il conto di un abbonato, incassare miglia aeree utilizzando carte regalo e altri tipi di frode.

Minatori

Uno dei primi visitatori del nostro sistema si è rivelato essere un minatore. Ha scaricato su di esso il software di mining Monero. Non sarebbe stato in grado di guadagnare molto con il nostro particolare sistema a causa della bassa produttività. Tuttavia, se uniamo gli sforzi di diverse dozzine o addirittura centinaia di tali sistemi, il risultato potrebbe essere piuttosto positivo.

ransomware

Durante il lavoro di Honeypot, ci siamo imbattuti due volte in veri virus ransomware. Nel primo caso si trattava di Crysis. I suoi operatori hanno effettuato l'accesso al sistema tramite VNC, ma hanno poi installato TeamViewer e lo hanno utilizzato per eseguire ulteriori azioni. Dopo aver atteso un messaggio di estorsione che richiedeva un riscatto di 10 dollari in BTC, siamo entrati in corrispondenza con i criminali, chiedendo loro di decriptare uno dei file per noi. Hanno ottemperato alla richiesta e hanno ripetuto la richiesta di riscatto. Siamo riusciti a negoziare fino a 6mila dollari, dopodiché abbiamo semplicemente ricaricato il sistema su una macchina virtuale, poiché abbiamo ricevuto tutte le informazioni necessarie.

Il secondo ransomware si è rivelato essere Phobos. L'hacker che lo ha installato ha trascorso un'ora esplorando il file system honeypot e scansionando la rete, quindi alla fine ha installato il ransomware.
Il terzo attacco ransomware si è rivelato falso. Un "hacker" sconosciuto ha scaricato il file haha.bat sul nostro sistema, dopodiché lo abbiamo osservato per un po' mentre cercava di farlo funzionare. Uno dei tentativi è stato quello di rinominare haha.bat in haha.rnsmwr.

Indicibilmente attraente: come abbiamo creato un honeypot che non può essere esposto
L'“hacker” aumenta la nocività del file bat cambiando la sua estensione in .rnsmwr. Fonte: TrendMicro

Quando finalmente il file batch ha iniziato a essere eseguito, l’“hacker” lo ha modificato, aumentando la somma del riscatto da 200 a 750 dollari. Successivamente ha “crittografato” tutti i file, ha lasciato un messaggio di estorsione sul desktop ed è scomparso, cambiando le password sul nostro VNC.

Un paio di giorni dopo, l'hacker è tornato e, per ricordarselo, ha lanciato un file batch che apriva molte finestre con un sito porno. Apparentemente, in questo modo ha cercato di attirare l'attenzione sulla sua richiesta.

Risultati di


Durante lo studio si è scoperto che non appena venivano pubblicate le informazioni sulla vulnerabilità, l'honeypot attirava l'attenzione e l'attività cresceva di giorno in giorno. Affinché la trappola attirasse l’attenzione, la nostra azienda fittizia ha dovuto subire numerose violazioni della sicurezza. Sfortunatamente, questa situazione è tutt’altro che rara tra molte aziende reali che non dispongono di dipendenti IT e di sicurezza informatica a tempo pieno.

In generale, le organizzazioni dovrebbero utilizzare il principio del privilegio minimo, mentre noi ne abbiamo implementato l’esatto opposto per attirare gli aggressori. E quanto più a lungo osservavamo gli attacchi, tanto più sofisticati diventavano rispetto ai metodi standard di penetration testing.

E, cosa più importante, tutti questi attacchi sarebbero falliti se durante la realizzazione della rete fossero state implementate adeguate misure di sicurezza. Le organizzazioni devono garantire che le loro apparecchiature e i componenti delle infrastrutture industriali non siano accessibili da Internet, come abbiamo fatto specificatamente nella nostra trappola.

Anche se non abbiamo registrato un solo attacco alla postazione di lavoro di un tecnico, pur utilizzando la stessa password di amministratore locale su tutti i computer, questa pratica dovrebbe essere evitata per ridurre al minimo la possibilità di intrusioni. Dopotutto, una sicurezza debole costituisce un ulteriore invito ad attaccare i sistemi industriali, che da tempo interessano ai criminali informatici.

Fonte: habr.com

Aggiungi un commento