Cyber-quest del team di supporto Veeam

Quest'inverno, e più precisamente in uno dei giorni tra il Natale cattolico e il Capodanno, gli ingegneri del supporto tecnico di Veeam erano impegnati in compiti piuttosto insoliti: stavano dando la caccia a un gruppo di hacker chiamato «Veeamonymous».

Cyber-quest del team di supporto Veeam

Su come i ragazzi abbiano inventato e realizzato un vero e proprio quest nella realtà, con missioni «simulate di combattimento», ha raccontato Kirill Stetsko, Escalation Engineer.

— Perché l'avete fatto?

— All'incirca come le persone hanno inventato Linux: just for fun, per il proprio piacere.

Volevamo un po' di movimento e allo stesso tempo volevamo creare qualcosa di utile, qualcosa di interessante. Inoltre, era necessario dare un po' di sfogo emotivo agli ingegneri dal loro lavoro quotidiano.

— Chi ha proposto l'idea?

— L'idea è stata del nostro manager Katya Egorova, e poi il concetto e tutte le idee successive sono state create congiuntamente. Inizialmente pensavamo di organizzare un hackathon. Ma durante lo sviluppo del concetto, l'idea è cresciuta in un quest, considerando che l'ingegnere del supporto tecnico ha un ruolo diverso rispetto alla programmazione.

Quindi, abbiamo chiamato amici-colleghi-conoscenti; diverse persone ci aiutarono con il concetto: una persona da T2 (seconda linea di supporto — nota del redattore), una persona da T3, un paio di persone dal team SWAT (team di pronto intervento per casi particolarmente urgenti — nota del redattore). Ci siamo riuniti tutti insieme, ci siamo seduti e abbiamo cercato di inventare missioni per il nostro quest.

— È stato molto inaspettato scoprire tutto ciò, perché, per quanto ne so, di solito le meccaniche dei quest vengono sviluppate da sceneggiatori esperti; quindi, non solo vi siete occupati di una cosa così complessa, ma anche in relazione al vostro lavoro, al vostro campo professionale.

— Sì, volevamo fare qualcosa di più che semplice intrattenimento; volevamo «potenziare» le competenze tecniche degli ingegneri. Uno degli obiettivi del nostro dipartimento è lo scambio di conoscenze e la formazione, e un quest del genere è un'ottima opportunità per far toccare con mano a tutti alcune tecniche nuove per loro.

— Come avete inventato le missioni?

— Abbiamo organizzato un brainstorming. Avevamo chiaro che dovevamo creare alcune prove tecniche, e devono essere tali da risultare interessanti e allo stesso tempo portare nuove conoscenze.
Ad esempio, abbiamo pensato che fosse necessario dare alle persone la possibilità di provare a sniffare il traffico, utilizzare editor esadecimali, fare qualcosa per Linux, e affrontare aspetti un po' più approfonditi legati ai nostri prodotti (Veeam Backup & Replication e altri).

Anche il concetto era una parte importante. Abbiamo deciso di partire dal tema degli hacker, accesso anonimo e atmosfera di segretezza. Come simbolo abbiamo usato la maschera di Guy Fawkes e il nome è venuto da sé — Veeamonymous.

«In principio era la parola»

Per suscitare interesse, abbiamo deciso di avviare una campagna PR a tema quest prima dell'evento: abbiamo affisso dei manifesti con l'annuncio nel nostro ufficio. Qualche giorno dopo, di nascosto, li abbiamo dipinti con delle bombolette e abbiamo lanciato una ‘bufala’, dicendo che alcuni vandali avevano rovinato i manifesti, allegando anche una foto come prova….

— Quindi siete stati voi a farlo, cioè il team degli organizzatori?!

— Sì, venerdì, intorno alle 9, quando tutti erano già andati via, siamo andati a dipingere con le bombolette la lettera «V» di colore verde.) Molti partecipanti al quest non hanno capito mai chi fosse stato – la gente veniva da noi chiedendo chi avesse rovinato i manifesti? Qualcuno ha preso molto sul serio la questione e ha avviato un'intera indagine al riguardo.

Per il quest abbiamo registrato anche dei file audio, ‘estraendo’ suoni: per esempio, quando un ingegnere si collega al nostro sistema [CRM di produzione], c'è un robot risponditore che dice varie frasi, numeri… Da quelle parole registrate abbiamo composto frasi più o meno comprensibili, forse un po' storte – ad esempio, abbiamo ottenuto ‘No friends to help you’ in un file audio.

L'indirizzo IP, per esempio, lo rappresentavamo in codice binario, e tutto ciò grazie a quei numeri [pronunciati dal robot], aggiungendo vari suoni inquietanti. Abbiamo anche girato un video: nel video abbiamo una persona seduta con un cappuccio nero e con la maschera di Guy Fawkes, ma in realtà non c'è una sola persona, ce ne sono tre, perché due stanno dietro di lui e tengono come ‘sfondo’ una coperta:).

— Beh, vi siete proprio impegnati, per dirlo in maniera semplice.

— Sì, ci siamo accesi. In generale, prima abbiamo elaborato i nostri compiti tecnici e poi abbiamo creato una trama letteraria-giocosa su cosa sarebbe successo. Secondo il copione, i partecipanti cacciavano un gruppo di hacker chiamato "Veeamonymous". L'idea includeva anche il fatto che stavamo "rompendo la quarta parete", cioè trasferendo gli eventi nella realtà – ad esempio, disegnavamo con bombolette spray.

Un madrelingua inglese del nostro dipartimento ci ha aiutato con l'elaborazione letteraria del testo.

— Aspetta, a cosa serviva un madrelingua? Lo stavate facendo anche in inglese?!

— Sì, abbiamo condotto il tutto per gli uffici di San Pietroburgo e Bucarest, quindi tutto era in inglese.

Per la prima esperienza abbiamo cercato di far funzionare tutto semplicemente, quindi il copione era lineare e piuttosto semplice. Abbiamo aggiunto più atmosfera: testi segreti, cifrari, immagini.

Cyber-quest del team di supporto Veeam

Inoltre abbiamo utilizzato meme: c'erano un sacco di immagini su temi di indagini, UFO, alcune storie spaventose famose – alcune squadre si distraevano anche su questo, cercando di trovare messaggi nascosti e di applicare le loro conoscenze di steganografia e altro... ma ovviamente non c'era nulla di tutto ciò.

Su spine e rovi

Tuttavia, durante la preparazione ci siamo imbattuti anche in compiti inaspettati per noi stessi.

Abbiamo lavorato sodo su di essi e risolto varie domande che sorgevano all'improvviso, e circa una settimana prima del quiz abbiamo davvero pensato che fosse tutto andato.

Probabilmente vale la pena raccontare un po' della base tecnica del quiz.

Tutto è stato fatto sulla nostra ESXi lab interna. Avevamo 6 squadre, quindi era necessario dedicare 6 pool di risorse. Così, per ogni squadra abbiamo attivato un pool separato con le macchine virtuali necessarie (IP identici). Ma poiché tutto questo era su server che si trovano nella stessa rete, la configurazione attuale delle nostre VLAN non consentiva di isolare le macchine in diversi pool. E, ad esempio, durante il test, si verificavano situazioni in cui una macchina di un pool si connetteva a una macchina di un altro.

— Come siete riusciti a risolvere la situazione?

— All'inizio abbiamo pensato a lungo, testando varie opzioni con permessi, VLAN separate per le macchine. Alla fine, abbiamo fatto così: ogni squadra vede solo il server di Veeam Backup, attraverso il quale avviene tutto il lavoro successivo, ma non vede il pool nascosto in cui si trovano:

  • alcune macchine Windows
  • Server core Windows
  • Macchina con Linux
  • Coppia VTL (Virtual Tape Library)

A tutti i pool è stata assegnata un gruppo separato di porte su vDS switch e il proprio Private VLAN. Questa doppia isolamento è necessaria per escludere completamente la possibilità di interazione di rete.

Sugli audaci

— Chiunque potrà partecipare al quest? Come sono state formate le squadre?

— È stata la nostra prima esperienza nella conduzione di un evento del genere, e le possibilità del nostro laboratorio erano limitate a 6 squadre.

All'inizio abbiamo, come ho già detto, condotto una campagna PR: utilizzando manifesti e mailing, abbiamo comunicato che si sarebbe tenuto un quest. Avevamo persino alcune indizi: sulle stesse affissioni erano codificate frasi in codice binario. In questo modo abbiamo suscitato l'interesse delle persone, che poi si sono organizzate tra di loro, con amici e conoscenti. Alla fine, c'erano più persone interessate che pool, quindi è stato necessario fare una selezione: abbiamo pensato a un semplice compito di prova e lo abbiamo inviato a tutti quelli che si erano fatti avanti. Era un problema logico, da risolvere in velocità.

In squadra erano ammessi fino a 5 membri. Non era richiesto un capitano, l'idea era nella cooperazione e nella comunicazione tra di loro. Qualcuno era forte, ad esempio, in Linux, qualcun altro in tape (backup su nastri), e ognuno, vedendo il compito, poteva contribuire con i propri sforzi alla soluzione comune. Tutti comunicavano tra di loro, trovando la soluzione.

Cyber-quest del team di supporto Veeam

— E quando è iniziato questo evento? Avevate un certo 'ora X'?

— Sì, avevamo un giorno stabilito, lo abbiamo scelto in modo da avere meno carico nel reparto. Naturalmente, abbiamo informato in anticipo i team leader che tali squadre erano invitate a partecipare al quest, e dovevano ricevere un certo relax [riguardo al carico] in quel giorno. In generale, si prevedeva che dovesse essere alla fine dell'anno, il 28 dicembre, venerdì. Stimavamo di impiegare circa 5 ore, ma tutte le squadre si sono comportate meglio.

— Tutti erano in condizioni eguali, tutti avevano gli stessi compiti basati su casi reali?

— Sì, ogni redattore ha preso alcune storie dalla propria esperienza personale. Sapevamo che alcune cose potevano realmente accadere e sarebbe stato interessante per una persona "toccarlas", guardarle, e capirle. Abbiamo trattato anche elementi più specifici, come il recupero dei dati da nastri danneggiati. Qualcuno ha ricevuto suggerimenti, ma la maggior parte dei team ha fatto da sé.

O dovevamo applicare la magia degli script veloci - per esempio, abbiamo avuto una situazione in cui una "bomba logica" ha "spezzato" un archivio multivolume in cartelle casuali, e bisognava raccogliere i dati. Questo si può fare manualmente - trovando e copiando i [file] uno per uno, oppure si può scrivere uno script basato su un modello.

In generale, cercavamo di sostenere che un compito può essere risolto in vari modi. Se sei un po' più esperto o vuoi "impegnarti di più", puoi risolverlo più rapidamente, mentre c’è un modo diretto per risolverlo "di petto" - ma in quel caso spenderai più tempo sul compito. Quindi quasi ogni compito aveva diverse opzioni di soluzione, ed era interessante vedere quali percorsi avrebbero scelto i team. La non linearità era proprio nella scelta dell'opzione di soluzione.

A proposito, la sfida più difficile è stata quella su Linux - solo un team l'ha risolta da solo, senza suggerimenti.

— Era possibile usare suggerimenti? Come in un vero gioco di avventura??

— Sì, era possibile prenderli, perché capivamo che le persone sono diverse e potrebbero trovarsi in uno stesso team quelle che non hanno alcune conoscenze. Quindi, per non prolungare il gioco e non far perdere l'interesse competitivo, abbiamo deciso che ci sarebbero stati dei suggerimenti. Per questo, c'era una persona degli organizzatori che monitorava ogni team. E ci assicuravamo che nessuno barasse.

Cyber-quest del team di supporto Veeam

Parlare delle stelle

— C'erano premi per i vincitori?

— Sì, ci siamo sforzati di offrire premi piacevoli sia per tutti i partecipanti che per i vincitori: i vincitori hanno ricevuto felpe di design con il logo di Veeam e una frase criptata in codice esadecimale, di colore nero). Tutti i partecipanti hanno ricevuto una maschera di Guy Fawkes e una borsa con il logo e lo stesso codice.

— Quindi avevate tutto come in un vero gioco di avventura!

— Beh, volevamo creare qualcosa di davvero interessante e mi sembra che ci siamo riusciti.

— Esatto! E qual è stata la reazione finale di coloro che hanno partecipato a questo quest? Siete riusciti a raggiungere gli obiettivi?

— Sì, molte persone sono venute da noi dopo e hanno detto di aver visto chiaramente i loro punti deboli e di volerli migliorare. Alcuni hanno smesso di avere paura di certe tecnologie, per esempio, di dumpare blocchi da nastri e cercare di estrarre qualcosa… Altri hanno capito che dovevano migliorare Linux, e così via. Abbiamo cercato di offrire un ampio ventaglio di compiti, ma non del tutto banali.

Cyber-quest del team di supporto Veeam
Il team vincitore

«Chi vuole, riesce!»

— Richiede molti sforzi da parte di chi ha preparato il quest?

— Sì, in effetti è stato così. Ma questo è stato probabilmente dovuto al fatto che non avevamo alcuna esperienza nella preparazione di tali quest e di questo genere di infrastrutture. (Precisiamo che questa non è la nostra infrastruttura reale – doveva semplicemente svolgere alcune funzioni ludiche.)

Per noi è stata un'esperienza molto interessante. All'inizio ero scettico, perché l'idea mi sembrava persino troppo audace e pensavo che fosse molto difficile realizzarla. Ma ci siamo messi al lavoro, abbiamo iniziato a lavorare duramente, tutti si sono entusiasmati e alla fine ce l'abbiamo fatta. È andato praticamente tutto liscio.

In totale abbiamo impiegato 3 mesi. Per lo più abbiamo elaborato il concetto, discutendo cosa potessimo realizzare. Durante il processo, naturalmente, alcune cose sono cambiate, perché capivamo che non avevamo le possibilità tecniche per realizzarle. Abbiamo dovuto apportare modifiche al volo, ma in modo che la trama, la storia e la logica non si rompessero. Abbiamo cercato di non fornire solo un elenco di requisiti tecnici, ma di fare in modo che fosse inserito nella storia, in modo che fosse coerente e logico. Il lavoro principale è stato fatto nell'ultimo mese, cioè nelle 3-4 settimane prima del giorno X.

— Quindi, oltre alla vostra attività principale, avete riservato del tempo per la preparazione?

— Sì, ci siamo dedicati a questo parallelamente al lavoro principale.

— Vi chiedono di organizzare un altro evento simile?

— Sì, abbiamo molte richieste per ripetere.

— E voi cosa ne pensate?

— Abbiamo nuove idee, nuovi concetti, vogliamo attrarre più persone e distendere tutto nel tempo – sia il processo di selezione che il processo di gioco stesso. In generale, ci ispiriamo al progetto "Cicada", che si può cercare su Google – è un tema IT davvero interessante, lì le persone di tutto il mondo si uniscono, creano thread su Reddit, nei forum, usano codici di traduzione e risolvono enigmi, e varie altre cose.

— L'idea era fantastica, davvero rispetto per l'idea e l'implementazione, perché vale davvero oro. Spero sinceramente che non perdiate questo entusiasmo e che tutti i vostri nuovi progetti siano altrettanto di successo. Grazie!

Cyber-quest del team di supporto Veeam

— Sì, sarà possibile vedere un esempio di un compito che sicuramente non riutilizzerete?

— Sospetto che non ne riutilizzeremo neanche uno. Pertanto, posso raccontare il progresso dell'intero quest.

Bonus trackAll'inizio, i giocatori hanno il nome della macchina virtuale e le credenziali di vCenter. Accedendo a quest'ultimo, vedono questa macchina, ma non si avvia. Qui bisogna capire che c'è qualcosa che non va nel file .vmx. Scaricandolo, vedono un indizio necessario per il secondo passaggio. In sostanza, c'è scritto che il database utilizzato da Veeam Backup & Replication è crittografato.
Eliminando l'indizio, caricando nuovamente il file .vmx e accendendo con successo la macchina, vedono che su uno dei dischi c'è effettivamente un database crittografato in base64. Di conseguenza, il compito è decifrarlo e ottenere un server Veeam completamente funzionante.

Un po' della macchina virtuale su cui tutto questo avviene. Come ricordiamo, secondo la trama, il protagonista del quest è una persona piuttosto oscura e si occupa di qualcosa di non molto legale. Pertanto, il suo computer di lavoro doveva avere un aspetto decisamente hacker, che dovevamo creare noi, nonostante si trattasse di Windows. La prima cosa da fare è stata aggiungere una serie di oggetti di scena come informazioni su grandi hack, attacchi DDoS e simili. Poi abbiamo installato un po' di software tipico e sparpagliato vari dump, file con hash, ecc. Tutto come al cinema. Tra le altre cose, c'erano cartelle denominate secondo il principio closed-case*** e open-case***.
Per andare avanti, i giocatori devono ripristinare gli indizi dai file nei backup.

Qui è necessario dire che all'inizio ai giocatori veniva fornita piuttosto poca informazione e la maggior parte dei dati (come IP, login e password) venivano ottenuti durante il quest, trovando indizi nei backup o nei file sparsi sulle macchine. Inizialmente, i file di backup si trovano in un repository Linux, ma la cartella stessa è server montata (mounted) con il flag noexec, quindi l'agente responsabile del ripristino dei file non può avviarsi.

Riparando il repository, i partecipanti ottengono accesso a tutti i contenuti e finalmente possono ripristinare qualsiasi informazione. Resta da capire quale esattamente. E per questo devono studiare i file presenti su questa macchina, determinare quali di essi sono 'rotti' e cosa esattamente è necessario ripristinare.

A questo punto, lo scenario si sposta da conoscenze IT generali a funzioni specifiche di Veeam.

In questo caso specifico (quando sai il nome del file ma non sai dove cercarlo) devi utilizzare la funzione di ricerca in Enterprise Manager, e così via. Alla fine, dopo aver ripristinato l'intera catena logica, i giocatori si ritrovano con un altro login/password e l'output di nmap. Questo li porta a un server Windows Core, tramite RDP (per rendere le cose più interessanti).

La caratteristica principale di questo server: con un semplice script e alcuni dizionari è stata formata una struttura di cartelle e file assolutamente priva di senso. E al login viene visualizzato un messaggio di benvenuto del tipo 'Qui è esplosa una bomba logica, quindi dovrete raccogliere gli indizi per i prossimi passaggi a pezzi'.

Il suggerimento successivo è stato suddiviso in un archivio multivolume (circa 40-50 pezzi) e distribuito casualmente in queste cartelle. Il nostro obiettivo era che i giocatori dovessero mostrare il loro talento nella scrittura di semplici script PowerShell per assemblare l'archivio multivolume secondo un modello noto e ottenere i dati richiesti. (Ma è andata come in quella barzelletta: parte dei soggetti si è rivelata straordinariamente sviluppata fisicamente.)

Nell'archivio c'era una foto della cassetta (con la scritta «Last Supper — Best Moments»), che dava un suggerimento sull'uso di una biblioteca a nastro collegata, dove si trovava una cassetta con un nome simile. Solo che c'era un problema: si rivelava inoperabile a tal punto da non essere nemmeno catalogata. Qui iniziava, probabilmente, la parte più hardcore del quest. Abbiamo cancellato il titolo della cassetta, quindi per ripristinare i dati da essa, era sufficiente estrarre i blocchi
troviamo il marcatori, controlliamo l'offset, moltiplichiamo il blocco per la sua dimensione, aggiungiamo l'offset e con l'aiuto di un tool interno cerchiamo di ripristinare il file da un determinato blocco. Se tutto è stato fatto correttamente e la matematica si è allineata, i giocatori avranno un file .wav in mano.

Al suo interno, con un generatore di voce, oltre ad altro, è stato dettato un codice binario, che si svela in un altro IP.

Si scopre che è un nuovo server Windows, dove tutto fa pensare alla necessità di utilizzare Wireshark, solo che non è presente. Il punto principale è che su questa macchina sono installati due sistemi: solo che il disco del secondo è stato disabilitato tramite il gestore dispositivi in offline, e la catena logica porta alla necessità di un riavvio. Dopo di che si scopre che per impostazione predefinita dovrebbe caricarsi un sistema completamente diverso, dove è installato Wireshark. E noi per tutto questo tempo eravamo sul sistema secondario.

Qui non c'è molto da fare, è sufficiente attivare la cattura sull'unico interface. Con una relativa attenta analisi del dump si nota un pacchetto chiaramente sospetto, inviato dalla macchina ausiliaria a intervalli regolari, contenente un link a un video di youtube, dove si chiede ai giocatori di chiamare un numero specifico. Il primo a chiamare ascolterà un messaggio di congratulazioni per il primo posto, gli altri un invito all'HR (scherzo)).

Tra l'altro, abbiamo aperto posizioni per ingegneri di supporto tecnico e per stagisti. Benvenuti nel team!

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster