Cyberquest dal team di supporto tecnico Veeam

Quest’inverno, o meglio, in uno dei giorni tra il Natale cattolico e il Capodanno, gli ingegneri del supporto tecnico di Veeam erano impegnati in compiti insoliti: erano a caccia di un gruppo di hacker chiamato “Veeamonymous”.

Cyberquest dal team di supporto tecnico Veeam

Ha raccontato come i ragazzi stessi hanno inventato e portato avanti una vera ricerca nella realtà del loro lavoro, con compiti “vicini al combattimento” Kirill Stetsko, Ingegnere dell'escalation.

- Perché hai iniziato tutto questo?

- Più o meno nello stesso modo in cui una volta la gente ha inventato Linux: solo per divertimento, per il proprio piacere.

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

- Chi lo ha suggerito? Di chi è stata l'idea?

— L’idea è stata della nostra manager Katya Egorova, poi il concetto e tutte le altre idee sono nate grazie a sforzi congiunti. Inizialmente pensavamo di fare un hackathon. Ma durante lo sviluppo del concetto, l'idea si è trasformata in una ricerca; dopo tutto, un ingegnere del supporto tecnico è un tipo di attività diverso dalla programmazione.

Quindi abbiamo chiamato amici, compagni, conoscenti, diverse persone ci hanno aiutato con il concetto: una persona del T2 (la seconda linea di supporto è nota dell'editore), una persona affetta da T3, un paio di persone della squadra SWAT (squadra di risposta rapida per casi particolarmente urgenti - nota dell'editore). Ci siamo riuniti tutti, ci siamo seduti e abbiamo cercato di trovare compiti per la nostra ricerca.

— È stato molto inaspettato apprendere tutto questo, perché, per quanto ne so, i meccanismi delle missioni sono solitamente elaborati da sceneggiatori specializzati, cioè non solo hai affrontato una cosa così complessa, ma anche in relazione al tuo lavoro , al tuo campo di attività professionale.

— Sì, volevamo renderlo non solo intrattenimento, ma "pompare" le capacità tecniche degli ingegneri. Uno dei compiti del nostro dipartimento è lo scambio di conoscenze e formazione, ma tale ricerca è un'eccellente opportunità per far “toccare con mano” alcune nuove tecniche per loro.

— Come ti sono venuti in mente i compiti?

— Abbiamo avuto una sessione di brainstorming. Avevamo capito che dovevamo fare alcuni test tecnici, e tali che fossero interessanti e allo stesso tempo apportassero nuove conoscenze.
Ad esempio, abbiamo pensato che le persone dovrebbero provare a sniffare il traffico, utilizzare editor esadecimali, fare qualcosa per Linux, alcune cose leggermente più profonde relative ai nostri prodotti (Veeam Backup & Replication e altri).

Anche il concetto era una parte importante. Abbiamo deciso di sviluppare il tema degli hacker, dell'accesso anonimo e dell'atmosfera di segretezza. La maschera di Guy Fawkes è stata trasformata in un simbolo e il nome è venuto naturale: Veeamonymous.

"In principio era la parola"

Per suscitare interesse, abbiamo deciso di organizzare prima dell'evento una campagna PR a tema quest: abbiamo appeso dei manifesti con l'annuncio nel nostro ufficio. E pochi giorni dopo, di nascosto da tutti, li hanno dipinti con bombolette spray e hanno iniziato una “papera”, dicono che alcuni aggressori hanno rovinato i manifesti, hanno anche allegato una foto con una prova….

- Quindi l'hai fatto tu, cioè il team degli organizzatori?!

— Sì, venerdì, verso le 9, quando tutti se ne erano già andati, siamo andati a disegnare la lettera "V" in verde dai palloncini.) Molti partecipanti alla ricerca non hanno mai indovinato chi l'ha fatto: la gente è venuta da noi e ha chiesto chi ha rovinato i manifesti? Qualcuno ha preso molto sul serio la questione e ha condotto un'intera indagine su questo argomento.

Per la quest abbiamo anche scritto file audio, suoni “strappati”: ad esempio, quando un ingegnere accede al nostro sistema [CRM di produzione], c'è un robot che risponde e dice ogni sorta di frasi, numeri... Eccoci qui da quelle parole che ha registrato, ha composto frasi più o meno significative, beh, forse un po' storte - ad esempio, abbiamo ottenuto "Nessun amico per aiutarti" in un file audio.

Ad esempio, abbiamo rappresentato l'indirizzo IP in codice binario e, ancora una volta, utilizzando questi numeri [pronunciati dal robot], abbiamo aggiunto ogni sorta di suoni spaventosi. Abbiamo girato noi stessi il video: nel video abbiamo un uomo seduto con un cappuccio nero e con indosso una maschera di Guy Fawkes, ma in realtà non c'è una persona, ma tre, perché due sono in piedi dietro di lui e tengono in mano un "fondale" realizzato di una coperta :).

- Beh, sei confuso, per dirla senza mezzi termini.

- Sì, abbiamo preso fuoco. In generale, abbiamo prima elaborato le nostre specifiche tecniche e poi abbiamo composto uno schema letterario e giocoso sull'argomento di ciò che presumibilmente è accaduto. Secondo lo scenario, i partecipanti stavano dando la caccia a un gruppo di hacker chiamato “Veeamonymous”. L'idea era anche che avremmo, per così dire, "rotto il 4o muro", cioè avremmo trasferito gli eventi nella realtà - ad esempio abbiamo dipinto con una bomboletta spray.

Uno dei madrelingua inglesi del nostro dipartimento ci ha aiutato nell'elaborazione letteraria del testo.

- Aspetta, perché un madrelingua? Hai fatto tutto anche in inglese?!

— Sì, lo abbiamo fatto per le sedi di San Pietroburgo e Bucarest, quindi era tutto in inglese.

Per la prima esperienza abbiamo cercato di far sì che tutto funzionasse, quindi la sceneggiatura era lineare e abbastanza semplice. Abbiamo aggiunto più ambienti: testi segreti, codici, immagini.

Cyberquest dal team di supporto tecnico Veeam

Abbiamo usato anche i meme: c'erano un sacco di immagini su temi di investigazione, UFO, alcune storie popolari dell'orrore - alcune squadre sono state distratte da questo, cercando di trovare lì alcuni messaggi nascosti, applicando la loro conoscenza della steganografia e altre cose... ma, ovviamente, non c'era niente del genere.

A proposito di spine

Tuttavia, durante il processo di preparazione, abbiamo dovuto affrontare anche sfide inaspettate.

Abbiamo lottato molto con loro e risolto ogni sorta di problemi imprevisti, e circa una settimana prima della missione pensavamo che tutto fosse perduto.

Probabilmente vale la pena parlare un po’ delle basi tecniche della ricerca.

Tutto è stato fatto nel nostro laboratorio ESXi interno. Avevamo 6 team, il che significa che dovevamo allocare 6 pool di risorse. Pertanto, per ogni team abbiamo distribuito un pool separato con le macchine virtuali necessarie (stesso IP). Ma poiché tutto questo si trovava su server che si trovano sulla stessa rete, l'attuale configurazione delle nostre VLAN non ci permetteva di isolare le macchine in pool diversi. E, ad esempio, durante un test, abbiamo ricevuto situazioni in cui una macchina di un pool si collegava a una macchina di un altro.

— Come sei riuscito a correggere la situazione?

— All'inizio abbiamo pensato a lungo, testato tutti i tipi di opzioni con autorizzazioni, vLAN separate per le macchine. Di conseguenza, hanno fatto questo: ogni team vede solo il server Veeam Backup, attraverso il quale avviene tutto il lavoro ulteriore, ma non vede il sottopool nascosto, che contiene:

  • diverse macchine Windows
  • Server principale di Windows
  • Macchina Linux
  • accoppiare VTL (libreria di nastri virtuali)

A tutti i pool viene assegnato un gruppo separato di porte sullo switch vDS e la propria VLAN privata. Questo doppio isolamento è esattamente ciò che serve per eliminare completamente la possibilità di interazione in rete.

A proposito dei coraggiosi

— Qualcuno potrebbe prendere parte alla ricerca? Come sono state formate le squadre?

— Questa è stata la nostra prima esperienza nell’organizzazione di un evento del genere e le capacità del nostro laboratorio erano limitate a 6 squadre.

Per prima cosa, come ho già detto, abbiamo condotto una campagna di pubbliche relazioni: tramite poster e mailing abbiamo annunciato che si sarebbe tenuta una missione. Avevamo anche degli indizi: le frasi erano crittografate in codice binario sui manifesti stessi. In questo modo abbiamo suscitato l'interesse delle persone e le persone hanno già raggiunto accordi tra loro, con amici, con amici e hanno collaborato. Di conseguenza, hanno risposto più persone di quante ne avessimo a disposizione, quindi abbiamo dovuto effettuare una selezione: abbiamo ideato un semplice compito di prova e lo abbiamo inviato a tutti coloro che hanno risposto. Era un problema logico che doveva essere risolto rapidamente.

Una squadra poteva contenere fino a 5 persone. Non c'era bisogno di un capitano, l'idea era la cooperazione, la comunicazione tra loro. Qualcuno è forte, ad esempio, in Linux, qualcuno è forte nei nastri (backup su nastri) e tutti, vedendo il compito, potrebbero investire i propri sforzi nella soluzione complessiva. Tutti hanno comunicato tra loro e hanno trovato una soluzione.

Cyberquest dal team di supporto tecnico Veeam

— A che punto è iniziato questo evento? Hai avuto una sorta di "ora X"?

— Sì, avevamo un giorno rigorosamente designato, l'abbiamo scelto in modo che ci fosse meno carico di lavoro nel dipartimento. Naturalmente, i capisquadra sono stati informati in anticipo che queste o quelle squadre erano state invitate a partecipare alla missione, e avevano bisogno di un po' di sollievo [per quanto riguarda il caricamento] quel giorno. Sembrava che dovesse essere la fine dell'anno, venerdì 28 dicembre. Ci aspettavamo che richiedessero circa 5 ore, ma tutti i team lo hanno completato più velocemente.

— Erano tutti su un piano di parità, tutti avevano gli stessi compiti basati su casi reali?

— Ebbene sì, ciascuno dei compilatori ha tratto alcune storie dall'esperienza personale. Sapevamo che ciò sarebbe potuto accadere nella realtà e sarebbe stato interessante per una persona "sentirlo", guardarlo e capirlo. Hanno anche preso alcune misure più specifiche, ad esempio il recupero dei dati da nastri danneggiati. Alcuni con suggerimenti, ma la maggior parte delle squadre lo ha fatto da sola.

Oppure era necessario utilizzare la magia degli script rapidi: ad esempio, avevamo una storia secondo cui una "bomba logica" "strappava" un archivio multivolume in cartelle casuali lungo l'albero ed era necessario raccogliere i dati. Puoi farlo manualmente: trova e copia [file] uno per uno oppure puoi scrivere uno script utilizzando una maschera.

In generale, abbiamo cercato di aderire al punto di vista secondo cui un problema può essere risolto in diversi modi. Ad esempio, se sei un po 'più esperto o vuoi confonderti, puoi risolverlo più velocemente, ma esiste un modo diretto per risolverlo direttamente, ma allo stesso tempo dedicherai più tempo al problema. Cioè, quasi ogni compito aveva diverse soluzioni ed era interessante quale percorso avrebbero scelto i team. Quindi la non linearità risiedeva proprio nella scelta dell'opzione risolutiva.

A proposito, il problema di Linux si è rivelato il più difficile: solo un team lo ha risolto in modo indipendente, senza alcun suggerimento.

— Potresti prendere suggerimenti? Come in una vera ricerca??

— Sì, era possibile accettarlo, perché abbiamo capito che le persone sono diverse e che chi manca di qualche conoscenza può entrare nella stessa squadra, quindi per non ritardare il passaggio e non perdere l'interesse competitivo, abbiamo deciso di vorrei consigli. Per fare ciò, ogni squadra è stata osservata da una persona degli organizzatori. Bene, ci siamo assicurati che nessuno imbrogliasse.

Cyberquest dal team di supporto tecnico Veeam

A proposito delle stelle

— Sono stati premiati i vincitori?

— Sì, abbiamo cercato di rendere i premi più piacevoli sia per tutti i partecipanti che per i vincitori: i vincitori hanno ricevuto felpe firmate con il logo Veeam e una frase crittografata in codice esadecimale, nera). Tutti i partecipanti hanno ricevuto una maschera di Guy Fawkes e una borsa brandizzata con il logo e lo stesso codice.

- Cioè, tutto era come in una vera ricerca!

"Beh, volevamo fare una cosa bella, da adulti, e penso che ci siamo riusciti."

- Questo è vero! Qual è stata la reazione finale di coloro che hanno partecipato a questa ricerca? Hai raggiunto il tuo obiettivo?

- Sì, molti sono venuti più tardi e hanno detto che vedevano chiaramente i loro punti deboli e volevano migliorarli. Qualcuno ha smesso di aver paura di certe tecnologie, ad esempio scaricando blocchi dai nastri e cercando di afferrare qualcosa lì... Qualcuno si è reso conto che aveva bisogno di migliorare Linux e così via. Abbiamo cercato di dare una gamma abbastanza ampia di compiti, ma non del tutto banali.

Cyberquest dal team di supporto tecnico Veeam
La squadra vincente

“Chi vuole, lo realizzerà!”

— Ha richiesto molto impegno da parte di coloro che hanno preparato la ricerca?

- In effetti sì. Ma molto probabilmente ciò è dovuto al fatto che non avevamo esperienza nella preparazione di tali missioni e di questo tipo di infrastrutture. (Facciamo una prenotazione sul fatto che questa non è la nostra vera infrastruttura: avrebbe dovuto semplicemente eseguire alcune funzioni di gioco.)

È stata un'esperienza molto interessante per noi. All'inizio ero scettico, perché l'idea mi sembrava troppo bella, pensavo che sarebbe stata molto difficile da realizzare. Ma abbiamo cominciato a farlo, abbiamo cominciato ad arare, tutto ha cominciato a prendere fuoco, e alla fine ci siamo riusciti. E praticamente non c'erano nemmeno sovrapposizioni.

In totale abbiamo impiegato 3 mesi. Per la maggior parte, abbiamo elaborato un concetto e discusso cosa avremmo potuto implementare. Nel processo, naturalmente, alcune cose sono cambiate, perché ci siamo resi conto che non avevamo la capacità tecnica per fare qualcosa. Abbiamo dovuto rifare qualcosa lungo il percorso, ma in modo tale che l'intero schema, la storia e la logica non si rompessero. Abbiamo cercato non solo di fornire un elenco di compiti tecnici, ma di inserirlo nella storia, in modo che fosse coerente e logico. Il lavoro principale è stato svolto nell'ultimo mese, ovvero 3-4 settimane prima del giorno X.

— Quindi, oltre alla tua attività principale, hai dedicato del tempo alla preparazione?

— Lo abbiamo fatto parallelamente al nostro lavoro principale, sì.

- Ti è stato chiesto di farlo di nuovo?

- Sì, abbiamo molte richieste da ripetere.

- E tu?

- Abbiamo nuove idee, nuovi concetti, vogliamo attirare più persone e estenderli nel tempo - sia il processo di selezione che il processo di gioco stesso. In generale, ci ispiriamo al progetto "Cicada", puoi cercarlo su Google: è un argomento IT molto interessante, persone da tutto il mondo si uniscono lì, avviano discussioni su Reddit, sui forum, usano traduzioni di codici, risolvono enigmi , e tutto questo.

— L’idea era fantastica, basta rispetto per l’idea e la realizzazione, perché vale davvero tantissimo. Mi auguro sinceramente che tu non perda questa ispirazione e che anche tutti i tuoi nuovi progetti abbiano successo. Grazie!

Cyberquest dal team di supporto tecnico Veeam

— Sì, puoi guardare un esempio di un'attività che sicuramente non riutilizzerai?

“Sospetto che non ne riutilizzeremo nessuno.” Pertanto, posso raccontarvi lo stato di avanzamento dell'intera ricerca.

Traccia bonusAll'inizio, i giocatori hanno il nome della macchina virtuale e le credenziali di vCenter. Dopo aver effettuato l'accesso, vedono questa macchina, ma non si avvia. Qui devi indovinare che qualcosa non va nel file .vmx. Una volta scaricato, vedono il messaggio necessario per il secondo passaggio. In sostanza, dice che il database utilizzato da Veeam Backup & Replication è crittografato.
Dopo aver rimosso il prompt, scaricato nuovamente il file .vmx e acceso con successo la macchina, vedono che uno dei dischi contiene effettivamente un database crittografato base64. Di conseguenza, il compito è decrittografarlo e ottenere un server Veeam completamente funzionante.

Un po 'sulla macchina virtuale su cui accade tutto questo. Come ricordiamo, secondo la trama, il personaggio principale della ricerca è una persona piuttosto oscura e sta facendo qualcosa che chiaramente non è molto legale. Pertanto, il suo computer di lavoro dovrebbe avere un aspetto completamente da hacker, che abbiamo dovuto creare, nonostante sia Windows. La prima cosa che abbiamo fatto è stata aggiungere molti accessori, come informazioni sui principali hack, attacchi DDoS e simili. Quindi hanno installato tutto il software tipico e hanno posizionato ovunque vari dump, file con hash, ecc. Tutto è come nei film. Tra le altre cose c'erano cartelle denominate closed-case*** e open-case***
Per progredire ulteriormente, i giocatori devono ripristinare i suggerimenti dai file di backup.

Qui c'è da dire che all'inizio ai giocatori venivano fornite non poche informazioni, e la maggior parte dei dati (come IP, login e password) li ricevevano nel corso della quest, trovando indizi nei backup o nei file sparsi sulle macchine. . Inizialmente, i file di backup si trovano nel repository Linux, ma la cartella stessa sul server è montata con il flag noexec, quindi l'agente responsabile del ripristino dei file non può essere avviato.

Riparando il repository, i partecipanti ottengono l'accesso a tutti i contenuti e possono finalmente ripristinare qualsiasi informazione. Resta da capire quale sia. E per fare ciò, devono solo studiare i file archiviati su questa macchina, determinare quali di essi sono "rotti" e cosa deve essere ripristinato esattamente.

A questo punto, lo scenario si sposta dalla conoscenza IT generale alle funzionalità specifiche di Veeam.

In questo esempio particolare (quando conosci il nome del file, ma non sai dove cercarlo), devi utilizzare la funzione di ricerca in Enterprise Manager e così via. Di conseguenza, dopo aver ripristinato l'intera catena logica, i giocatori hanno un altro login/password e un altro output nmap. Questo li porta al server Windows Core e tramite RDP (in modo che la vita non sembri dolce).

La caratteristica principale di questo server: con l'aiuto di un semplice script e diversi dizionari, è stata formata una struttura di cartelle e file assolutamente priva di significato. E quando accedi, ricevi un messaggio di benvenuto del tipo "Una bomba logica è esplosa qui, quindi dovrai mettere insieme gli indizi per ulteriori passaggi".

Il seguente indizio è stato suddiviso in un archivio multivolume (40-50 pezzi) e distribuito casualmente tra queste cartelle. La nostra idea era che i giocatori mostrassero il loro talento scrivendo semplici script PowerShell per mettere insieme un archivio multivolume utilizzando una maschera ben nota e ottenere i dati richiesti. (Ma si è scoperto come in quella battuta: alcuni soggetti si sono rivelati insolitamente sviluppati fisicamente.)

L'archivio conteneva una foto di una cassetta (con la scritta "Ultima Cena - Momenti migliori"), che suggeriva l'uso di una libreria di nastri collegata, che conteneva una cassetta con un nome simile. C'è stato solo un problema: si è rivelato talmente inutilizzabile da non essere nemmeno catalogato. È qui che probabilmente è iniziata la parte più impegnativa della ricerca. Abbiamo cancellato l'intestazione dalla cassetta, quindi per recuperare i dati da essa, devi solo scaricare i blocchi "grezzi" e guardarli in un editor esadecimale per trovare i marcatori di inizio file.
Troviamo il marcatore, guardiamo l'offset, moltiplichiamo il blocco per la sua dimensione, aggiungiamo l'offset e, utilizzando lo strumento interno, proviamo a recuperare il file da un blocco specifico. Se tutto viene eseguito correttamente e i calcoli concordano, i giocatori avranno tra le mani un file .wav.

In esso, utilizzando un generatore vocale, tra le altre cose, viene dettato un codice binario, che viene espanso in un altro IP.

Si scopre che si tratta di un nuovo server Windows, dove tutto suggerisce la necessità di utilizzare Wireshark, ma non è presente. Il trucco principale è che su questa macchina sono installati due sistemi: solo il disco del secondo viene disconnesso tramite Gestione dispositivi offline e la catena logica porta alla necessità di riavviare. Quindi si scopre che per impostazione predefinita dovrebbe avviarsi un sistema completamente diverso, su cui è installato Wireshark. E per tutto questo tempo eravamo sul sistema operativo secondario.

Non è necessario fare nulla di speciale qui, basta abilitare l'acquisizione su un'unica interfaccia. Un esame relativamente attento del dump rivela un pacchetto chiaramente mancino inviato a intervalli regolari dalla macchina ausiliaria, che contiene un collegamento a un video di YouTube in cui i giocatori vengono invitati a chiamare un determinato numero. Il primo chiamante sentirà le congratulazioni per il primo posto, gli altri riceveranno un invito alle risorse umane (scherzo)).

A proposito, siamo aperti Offerte di lavoro per ingegneri e tirocinanti del supporto tecnico. Benvenuto nella squadra!

Fonte: habr.com

Aggiungi un commento