Cyber ​​​​quest de la echipa de asistență tehnică Veeam

În această iarnă, sau mai bine zis, într-una dintre zilele dintre Crăciunul catolic și Anul Nou, inginerii de asistență tehnică Veeam au fost ocupați cu sarcini neobișnuite: vânau un grup de hackeri numit „Veeamonymous”.

Cyber ​​​​quest de la echipa de asistență tehnică Veeam

El a povestit cum băieții înșiși au venit cu și au efectuat o adevărată căutare în realitate la locul lor de muncă, cu sarcini „aproape de luptă” Kirill Stetsko, Inginer de escaladare.

- De ce ai început asta?

- Cam în același mod în care oamenii au venit cu Linux la un moment dat - doar pentru distracție, pentru propria lor plăcere.

Am vrut mișcare și, în același timp, am vrut să facem ceva util, ceva interesant. În plus, a fost necesar să le oferim o uşurare emoţională inginerilor din munca lor de zi cu zi.

- Cine a sugerat asta? A cui a fost ideea?

— Ideea a fost managerul nostru Katya Egorova, iar apoi conceptul și toate ideile ulterioare s-au născut prin eforturi comune. Inițial ne-am gândit să facem un hackathon. Dar în timpul dezvoltării conceptului, ideea a devenit o căutare, până la urmă, un inginer de asistență tehnică este un tip de activitate diferit de programare.

Așadar, am sunat prieteni, tovarăși, cunoștințe, ne-au ajutat diferite persoane cu conceptul - o persoană din T2 (a doua linie de sprijin este nota editorului), o persoană cu T3, câteva persoane din echipa SWAT (echipă de răspuns rapid pentru cazuri deosebit de urgente - nota editorului). Ne-am adunat cu toții, ne-am așezat și am încercat să venim cu sarcini pentru căutarea noastră.

— A fost foarte neașteptat să aflu despre toate acestea, pentru că, din câte știu eu, mecanica căutărilor sunt de obicei elaborate de scenariști specialiști, adică nu numai că te-ai ocupat de un lucru atât de complex, ci și în legătură cu munca ta. , la domeniul dumneavoastră profesional de activitate.

— Da, am vrut să facem nu doar divertisment, ci să „implicăm” abilitățile tehnice ale inginerilor. Una dintre sarcinile departamentului nostru este schimbul de cunoștințe și formare, dar o astfel de căutare este o oportunitate excelentă de a lăsa oamenii să „atingă” câteva tehnici noi pentru ei.

— Cum ai venit cu sarcinile?

— Am avut o sesiune de brainstorming. Am înțeles că trebuie să facem niște teste tehnice și astfel încât să fie interesante și să aducă în același timp cunoștințe noi.
De exemplu, ne-am gândit că oamenii ar trebui să încerce să adulmece traficul, să folosească editori hex, să facă ceva pentru Linux, unele lucruri ceva mai profunde legate de produsele noastre (Veeam Backup & Replication și altele).

Conceptul a fost, de asemenea, o parte importantă. Am decis să construim pe tema hackerilor, accesului anonim și a unei atmosfere de secret. Masca Guy Fawkes a fost transformată într-un simbol, iar numele a venit natural - Veeamonymous.

„La început a fost cuvântul”

Pentru a stârni interesul, am decis să organizăm o campanie de PR cu tematică de căutare înainte de eveniment: am agățat postere cu anunțul în jurul biroului nostru. Și câteva zile mai târziu, în secret de la toată lumea, le-au pictat cu spray-uri și au început o „răță”, spun că unii atacatori au stricat afișele, au atașat chiar și o fotografie cu o dovadă….

- Deci ai făcut-o singur, adică echipa de organizatori?!

— Da, vineri, pe la ora 9, când toată lumea plecase deja, ne-am dus și am desenat litera „V” în verde din baloane.) Mulți participanți la căutare nu au ghicit niciodată cine a făcut-o - oamenii au venit la noi și a întrebat cine a stricat afișele? Cineva a luat această problemă foarte în serios și a efectuat o întreagă investigație pe această temă.

Pentru căutare, am scris și fișiere audio, sunete „smulse”: de exemplu, când un inginer se conectează la sistemul nostru [CRM de producție], există un robot care răspunde care spune tot felul de fraze, numere... Iată-ne din acele cuvinte pe care le-a înregistrat, a compus fraze mai mult sau mai puțin semnificative, ei bine, poate puțin strâmbe - de exemplu, avem „Fără prieteni care să te ajute” într-un fișier audio.

De exemplu, am reprezentat adresa IP în cod binar și, din nou, folosind aceste numere [pronunțate de robot], am adăugat tot felul de sunete înspăimântătoare. Videoclipul l-am filmat noi înșine: în videoclip avem un bărbat care stă într-o glugă neagră și poartă o mască Guy Fawkes, dar în realitate nu există o persoană, ci trei, pentru că doi stau în spatele lui și țin în mână un „fondal” făcut. de o pătură :).

- Ei bine, ești confuz, ca să spun clar.

- Da, am luat foc. În general, am venit mai întâi cu specificațiile noastre tehnice, apoi am compus o schiță literară și jucăușă pe tema a ceea ce se presupune că s-a întâmplat. Conform scenariului, participanții vânau un grup de hackeri numit „Veeamonymous”. Ideea era, de asemenea, că vom „spărge al 4-lea perete”, adică vom transfera evenimentele în realitate - am pictat dintr-o cutie de spray, de exemplu.

Unul dintre vorbitorii nativi de engleză de la departamentul nostru ne-a ajutat cu prelucrarea literară a textului.

- Stai, de ce un vorbitor nativ? Ai făcut totul și în engleză?!

— Da, am făcut-o pentru birourile din Sankt Petersburg și București, așa că totul era în engleză.

Pentru prima experiență am încercat să facem totul să funcționeze, așa că scenariul a fost liniar și destul de simplu. Am adăugat mai multe împrejurimi: texte secrete, coduri, imagini.

Cyber ​​​​quest de la echipa de asistență tehnică Veeam

Am folosit și meme: erau o grămadă de poze pe teme de investigații, OZN-uri, niște povești horror populare - unele echipe au fost distrase de asta, încercând să găsească niște mesaje ascunse acolo, să-și aplice cunoștințele de steganografie și alte lucruri... dar, desigur, nu era nimic de genul acesta.

Despre spini

Cu toate acestea, în timpul procesului de pregătire, ne-am confruntat și cu provocări neașteptate.

Ne-am luptat mult cu ei și am rezolvat tot felul de probleme neașteptate, iar cu aproximativ o săptămână înainte de misiune am crezut că totul a fost pierdut.

Probabil că merită să spunem puțin despre baza tehnică a căutării.

Totul a fost făcut în laboratorul nostru intern ESXi. Am avut 6 echipe, ceea ce înseamnă că a trebuit să alocăm 6 pool-uri de resurse. Deci, pentru fiecare echipă am implementat un pool separat cu mașinile virtuale necesare (același IP). Dar, din moment ce toate acestea au fost localizate pe servere care se află în aceeași rețea, configurația actuală a VLAN-urilor noastre nu ne-a permis să izolăm mașinile în grupuri diferite. Și, de exemplu, în timpul unui test de rulare, am primit situații în care o mașină dintr-un grup se conectează la o mașină de la altul.

— Cum ați reușit să corectați situația?

— La început ne-am gândit mult timp, am testat tot felul de opțiuni cu permisiuni, vLAN-uri separate pentru mașini. Drept urmare, au făcut acest lucru - fiecare echipă vede doar serverul Veeam Backup, prin care au loc toate lucrările ulterioare, dar nu vede subpoolul ascuns, care conține:

  • mai multe mașini Windows
  • Server de bază Windows
  • mașină Linux
  • pereche VTL (Virtual Tape Library)

Tuturor pool-urilor li se atribuie un grup separat de porturi pe comutatorul vDS și propriul lor VLAN privat. Această dublă izolare este exact ceea ce este necesar pentru a elimina complet posibilitatea interacțiunii în rețea.

Despre cei curajoși

— Ar putea cineva să participe la această căutare? Cum s-au format echipele?

— Aceasta a fost prima noastră experiență de a organiza un astfel de eveniment, iar capacitățile laboratorului nostru au fost limitate la 6 echipe.

În primul rând, așa cum am spus deja, am desfășurat o campanie de PR: folosind afișe și mailing-uri, am anunțat că va avea loc o misiune. Am avut chiar și câteva indicii - frazele erau criptate în cod binar pe afișele în sine. În acest fel, am atras oamenii, iar oamenii au ajuns deja la înțelegeri între ei, cu prietenii, cu prietenii și au cooperat. Ca urmare, au răspuns mai mulți oameni decât am avut noi grupuri, așa că a trebuit să efectuăm o selecție: am venit cu o sarcină de testare simplă și am trimis-o tuturor celor care au răspuns. Era o problemă de logică care trebuia rezolvată rapid.

O echipă avea permisiunea de până la 5 persoane. Nu era nevoie de un căpitan, ideea era cooperarea, comunicarea între ei. Cineva este puternic, de exemplu, în Linux, cineva este puternic în benzi (backup-uri pe benzi), și toată lumea, văzând sarcina, și-ar putea investi eforturile în soluția generală. Toți au comunicat între ei și au găsit o soluție.

Cyber ​​​​quest de la echipa de asistență tehnică Veeam

— În ce moment a început acest eveniment? Ai avut un fel de „ora X”?

— Da, am avut o zi strict desemnată, am ales-o astfel încât să fie mai puțin volum de muncă în departament. Desigur, liderii echipei au fost anunțați în prealabil că astfel de echipe au fost invitate să participe la căutare și trebuiau să li se acorde o oarecare ușurare [cu privire la încărcare] în acea zi. Părea că ar trebui să fie sfârșitul anului, 28 decembrie, vineri. Ne așteptam să dureze aproximativ 5 ore, dar toate echipele l-au finalizat mai repede.

— Toți erau pe picior de egalitate, toți aveau aceleași sarcini bazate pe cazuri reale?

— Ei bine, da, fiecare dintre compilatori a luat câteva povești din experiența personală. Știam despre ceva că acest lucru s-ar putea întâmpla în realitate și ar fi interesant pentru o persoană să-l „simtă”, să privească și să-și dea seama. Au luat și câteva lucruri mai specifice - de exemplu, recuperarea datelor de pe benzi deteriorate. Unele au oferit indicii, dar majoritatea echipelor au făcut-o pe cont propriu.

Sau a fost necesar să folosim magia scripturilor rapide - de exemplu, am avut o poveste că o „bombă logică” „smulge” o arhivă cu mai multe volume în foldere aleatorii de-a lungul arborelui și a fost necesar să colectăm datele. Puteți face acest lucru manual - găsiți și copiați [fișierele] unul câte unul sau puteți scrie un script folosind o mască.

În general, am încercat să aderăm la punctul de vedere conform căruia o problemă poate fi rezolvată în moduri diferite. De exemplu, dacă ești puțin mai experimentat sau vrei să te încurci, atunci poți să o rezolvi mai repede, dar există o modalitate directă de a o rezolva frontal - dar în același timp vei petrece mai mult timp problemei. Adică, aproape fiecare sarcină avea mai multe soluții și era interesant ce căi vor alege echipele. Deci neliniaritatea a fost tocmai în alegerea opțiunii de soluție.

Apropo, problema Linux s-a dovedit a fi cea mai dificilă - doar o singură echipă a rezolvat-o independent, fără indicii.

— Ai putea să iei indicii? Ca într-o căutare adevărată??

— Da, a fost posibil să o luăm, pentru că am înțeles că oamenii sunt diferiți, iar cei cărora le lipsesc anumite cunoștințe ar putea intra în aceeași echipă, așa că pentru a nu întârzia trecerea și pentru a nu pierde interesul competitiv, am decis că ar sfaturi. Pentru a face acest lucru, fiecare echipă a fost observată de o persoană din cadrul organizatorilor. Ei bine, ne-am asigurat că nimeni nu a înșelat.

Cyber ​​​​quest de la echipa de asistență tehnică Veeam

Despre stele

— Au existat premii pentru câștigători?

— Da, am încercat să facem cele mai plăcute premii atât pentru toți participanții, cât și pentru câștigători: câștigătorii au primit hanorace de designer cu sigla Veeam și o frază criptată în cod hexazecimal, negru). Toți participanții au primit o mască Guy Fawkes și o geantă de marcă cu sigla și același cod.

- Adică totul a fost ca într-o căutare adevărată!

„Ei bine, am vrut să facem un lucru mișto, pentru adulți și cred că am reușit.”

- Asta este adevărat! Care a fost reacția finală a celor care au participat la această căutare? Ți-ai atins obiectivul?

- Da, mulți au venit mai târziu și au spus că își văd clar punctele slabe și vor să le îmbunătățească. Cineva a încetat să se mai teamă de anumite tehnologii - de exemplu, să arunce blocuri de pe benzi și să încerce să prindă ceva acolo... Cineva și-a dat seama că trebuie să îmbunătățească Linux și așa mai departe. Am încercat să oferim o gamă destul de largă de sarcini, dar nu chiar banale.

Cyber ​​​​quest de la echipa de asistență tehnică Veeam
Echipa câștigătoare

„Cine vrea, va reuși!”

— A fost nevoie de mult efort din partea celor care au pregătit misiunea?

- De fapt da. Dar acest lucru s-a datorat cel mai probabil faptului că nu aveam experiență în pregătirea unor astfel de misiuni, acest gen de infrastructură. (Să facem o rezervare că aceasta nu este infrastructura noastră reală - pur și simplu trebuia să îndeplinească unele funcții de joc.)

A fost o experiență foarte interesantă pentru noi. La început am fost sceptic, pentru că ideea mi s-a părut prea cool, am crezut că va fi foarte greu de implementat. Dar am început să o facem, am început să arăm, totul a început să ia foc, iar până la urmă am reușit. Și practic nu au existat suprapuneri.

În total am petrecut 3 luni. În cea mai mare parte, am venit cu un concept și am discutat ce am putea implementa. Pe parcursul procesului, firesc, unele lucruri s-au schimbat, pentru că ne-am dat seama că nu avem capacitatea tehnică de a face ceva. A trebuit să refacem ceva pe parcurs, dar în așa fel încât toată conturul, istoria și logica să nu se rupă. Am încercat nu doar să oferim o listă de sarcini tehnice, ci să o facem să se potrivească în poveste, astfel încât să fie coerentă și logică. Lucrarea principală a avut loc în ultima lună, adică cu 3-4 săptămâni înainte de ziua X.

— Deci, pe lângă activitatea ta principală, ai alocat timp pregătirii?

— Am făcut asta în paralel cu munca noastră principală, da.

- Ți se cere să faci asta din nou?

- Da, avem multe cereri de repetat.

- Și tu?

- Avem idei noi, concepte noi, vrem să atragem mai mulți oameni și să le extindem în timp - atât procesul de selecție, cât și procesul de joc în sine. În general, suntem inspirați de proiectul „Cicada”, îl poți pe Google - este un subiect IT foarte tare, oameni din toată lumea se unesc acolo, încep fire pe Reddit, pe forumuri, folosesc traduceri de coduri, rezolvă ghicitori , și toate astea.

— Ideea a fost grozavă, doar respect pentru idee și implementare, pentru că chiar merită foarte mult. Vă doresc din tot sufletul să nu vă pierdeți această inspirație și ca toate noile voastre proiecte să aibă, de asemenea, succes. Mulțumesc!

Cyber ​​​​quest de la echipa de asistență tehnică Veeam

— Da, poți să te uiți la un exemplu de sarcină pe care cu siguranță nu o vei reutiliza?

„Bănuiesc că nu vom reutiliza niciunul dintre ele.” Prin urmare, vă pot spune despre progresul întregii misiuni.

Bonus trackLa început, jucătorii au numele mașinii virtuale și acreditările de la vCenter. După ce s-au conectat la el, ei văd această mașină, dar nu pornește. Aici trebuie să ghiciți că ceva este în neregulă cu fișierul .vmx. Odată ce îl descarcă, ei văd promptul necesar pentru al doilea pas. În esență, spune că baza de date folosită de Veeam Backup & Replication este criptată.
După eliminarea promptului, descărcarea fișierului .vmx înapoi și pornirea cu succes a mașinii, ei văd că unul dintre discuri conține de fapt o bază de date criptată base64. În consecință, sarcina este să-l decriptați și să obțineți un server Veeam complet funcțional.

Câteva despre mașina virtuală pe care se întâmplă toate acestea. După cum ne amintim, conform intrigii, personajul principal al căutării este o persoană destul de întunecată și face ceva care în mod clar nu este foarte legal. Prin urmare, computerul lui de lucru ar trebui să aibă un aspect complet asemănător unui hacker, pe care a trebuit să-l creăm, în ciuda faptului că este Windows. Primul lucru pe care l-am făcut a fost să adăugăm o mulțime de elemente de recuzită, cum ar fi informații despre hack-uri majore, atacuri DDoS și altele asemenea. Apoi au instalat toate software-urile tipice și au plasat peste tot diverse dumpuri, fișiere cu hashuri etc. Totul este ca în filme. Printre altele, existau foldere numite closed-case*** și open-case***
Pentru a progresa mai mult, jucătorii trebuie să restabilească indicii din fișierele de rezervă.

Aici trebuie spus că la început jucătorii au primit destule informații și au primit majoritatea datelor (precum IP, autentificări și parole) pe parcursul misiunii, găsind indicii în copii de siguranță sau fișiere împrăștiate pe mașini. . Inițial, fișierele de rezervă se află în depozitul Linux, dar folderul însuși pe server este montat cu steag noexec, astfel încât agentul responsabil pentru recuperarea fișierelor nu poate porni.

Prin repararea depozitului, participanții obțin acces la tot conținutul și pot restaura în sfârșit orice informație. Rămâne să înțelegem care este. Și pentru a face acest lucru, trebuie doar să studieze fișierele stocate pe această mașină, să determine care dintre ele sunt „spărute” și ce anume trebuie restaurat.

În acest moment, scenariul trece de la cunoștințele generale IT la caracteristicile specifice Veeam.

În acest exemplu special (când cunoașteți numele fișierului, dar nu știți unde să-l căutați), trebuie să utilizați funcția de căutare din Enterprise Manager și așa mai departe. Ca rezultat, după restaurarea întregului lanț logic, jucătorii au o altă autentificare/parolă și ieșire nmap. Acest lucru îi aduce pe serverul Windows Core și prin RDP (astfel încât viața să nu pară miere).

Caracteristica principală a acestui server: cu ajutorul unui script simplu și a mai multor dicționare, s-a format o structură absolut lipsită de sens de foldere și fișiere. Și când vă conectați, primiți un mesaj de bun venit de genul „O bombă logică a explodat aici, așa că va trebui să reuniți indicii pentru pașii următori”.

Următorul indiciu a fost împărțit într-o arhivă cu mai multe volume (40-50 de bucăți) și distribuit aleatoriu între aceste foldere. Ideea noastră a fost că jucătorii ar trebui să-și arate talentele în scrierea de scripturi PowerShell simple pentru a crea o arhivă cu mai multe volume folosind o mască binecunoscută și pentru a obține datele necesare. (Dar s-a dovedit ca în gluma aceea - unele dintre subiecte s-au dovedit a fi neobișnuit de dezvoltate fizic.)

Arhiva conținea o fotografie a unei casete (cu inscripția „Last Supper - Best Moments”), care dădea un indiciu despre utilizarea unei biblioteci de casete conectate, care conținea o casetă cu un nume similar. A existat o singură problemă - sa dovedit a fi atât de inoperabilă încât nici măcar nu a fost catalogată. Aici a început, probabil, partea cea mai hardcore a căutării. Am șters antetul din casetă, așa că pentru a recupera datele din acesta, trebuie doar să aruncați blocurile „brute” și să le căutați într-un editor hexadecimal pentru a găsi marcatori de pornire a fișierului.
Găsim markerul, ne uităm la offset, înmulțim blocul cu dimensiunea sa, adăugăm offset-ul și, folosind instrumentul intern, încercăm să restaurăm fișierul dintr-un anumit bloc. Dacă totul este făcut corect și matematica este de acord, atunci jucătorii vor avea în mână un fișier .wav.

În ea, folosind un generator de voce, printre altele, este dictat un cod binar, care este extins într-un alt IP.

Acesta, se pare, este un nou server Windows, unde totul sugerează necesitatea de a utiliza Wireshark, dar nu există. Principalul truc este că există două sisteme instalate pe această mașină - doar discul de pe al doilea este deconectat prin intermediul managerului de dispozitive offline, iar lanțul logic duce la necesitatea repornirii. Apoi se dovedește că, în mod implicit, un sistem complet diferit, în care este instalat Wireshark, ar trebui să pornească. Și în tot acest timp am fost pe sistemul de operare secundar.

Nu este nevoie să faceți nimic special aici, doar activați capturarea pe o singură interfață. O examinare relativ atentă a depozitului dezvăluie un pachet clar pentru stângaci trimis de la aparatul auxiliar la intervale regulate, care conține un link către un videoclip YouTube în care jucătorii sunt rugați să sune un anumit număr. Primul apelant va auzi felicitări pentru primul loc, restul va primi o invitație la HR (glumă)).

Apropo, suntem deschiși posturi vacante pentru inginerii de suport tehnic și stagiari. Bine ai venit in echipa!

Sursa: www.habr.com

Adauga un comentariu