Cyberquest fra Veeams supportteam

Denne vinter, nærmere bestemt en af dagene mellem den katolske jul og nytår, var Veeams tekniske supportingeniører optaget af nogle usædvanlige opgaver: de jagede en gruppe hackere kaldet "Veeamonymous".

Cyberquest fra Veeams supportteam

Om hvordan de selv fandt på og afholdte et virkelig quest på jobbet, med opgaver "nær kamp", fortalte Kirill Stetsko, Escalation Engineer.

— Hvorfor gjorde I overhovedet dette?

— Lidt ligesom folk fandt på Linux – just for fun, for deres egen fornøjelse.

Vi ønskede noget aktivitet, og samtidig ville vi lave noget nyttigt, noget interessant. Plus, vi skulle give ingeniørerne en slags følelsesmæssig aflastning fra deres daglige arbejde.

— Hvem foreslog dette? Hvem havde idéen?

— Ideen kom fra vores leder Katya Egorova, og derefter blev konceptet og alle efterfølgende ideer født i fællesskab. Oprindeligt tænkte vi på at lave et hackathon. Men under udviklingen af konceptet voksede idéen til et quest, da teknisk supportingeniører arbejder med noget andet end programmering.

Så vi inviterede venner-kammerater-kendte, forskellige mennesker hjalp os med konceptet – en person fra T2 (anden linje support — red. anm.), en person fra T3, et par personer fra SWAT-teamet (hurtig reaktionsteam til især presserende sager — red. anm.). Vi samlet os alle sammen, satte os ned og forsøgte at finde på opgaver til vores quest.

— Det var meget uventet at høre om det hele, fordi, så vidt jeg ved, er det normalt specialister-scenarister, der arbejder med quest-mekanikken, så I ikke alene arbejdede med en så kompleks ting, men også i forhold til jeres arbejde, til jeres professionelle område.

— Ja, vi ville ikke bare lave underholdning, men "opgradere" ingeniørernes tekniske færdigheder. En af opgaverne i vores afdeling er vidensdeling og træning, og et sådan quest er en fantastisk mulighed for folk til at "røre" ved nogle nye teknikker i praksis.

— Hvordan fandt I på opgaverne?

— Vi afholdte en brainstorm. Vi havde en forståelse af, at vi skulle skabe nogle tekniske prøver, som både skulle være interessante og samtidig bibringe ny viden.
For eksempel tænkte vi, at folk skulle få mulighed for at snuse til trafikken, bruge hex-editorer, lave noget for Linux, nogle lidt dybere ting relateret til vores produkter (Veeam Backup & Replication og andre).

En vigtig del var også konceptet. Vi besluttede at basere os på temaet hackere, anonym adgang og en atmosfære af hemmelighed. Vi valgte Guy Fawkes masken som symbol, og navnet kom tidligt — Veeamonymous.

«I begyndelsen var ordet»

For at øge interessen besluttede vi at køre en PR-kampagne indtil arrangementets start i form af et quest: vi hængte plakater op med annoncer i vores kontor. Og nogle dage efter, i hemmelighed for alle, gik vi selv hen og sprayede dem med spraymaling og lancerede et rygte om, at nogle aktører havde ødelagt plakaterne, endda vedhæftede et billede som bevis…

— Var det jer, der gjorde det, altså arrangører?!

— Ja, om fredagen, omkring kl. 21, da alle allerede var gået, gik vi rundt og malede et 'V' med grøn spraymaling. Mange deltagere i questen gættede aldrig, hvem der havde gjort det – folk kom hen til os og spurgte, hvem der havde ødelagt plakaterne? Nogen tog emnet meget alvorligt og iværksatte en hel efterforskning.

Til questen skrev vi og optog lydfiler, 'udvandt' lyde: for eksempel, når en ingeniør logger ind i vores [produktions CRM] system, er der en robot-svarer, der siger forskellige sætninger, tal… Vi samlede mere eller mindre meningsfulde sætninger fra de ord, han havde optaget, måske lidt skæve – for eksempel fik vi 'No friends to help you' i lydfilen.

IP-adressen forsøgte vi også at repræsentere i binær kode, alt igen ved hjælp af de tal [udtalt af robotten], og tilføjede alle mulige skræmmende lyde. Vi optog endda videoer: i videoen sidder en person i en sort hætte og Guy Fawkes-maske, men faktisk er der ikke én person, men tre, da to står bagved ham og holder en 'baggrund' af et tæppe:).

— I har virkelig lagt tid i det, må man sige.

— Ja, vi blev tændt. Generelt fandt vi først på vores tekniske specifikationer, og derefter udarbejdede vi en litterær-spilskabelon om, hvad der angiveligt skete. Ifølge scenariet jagede deltagerne en gruppe hackere kaldet "Veeamonymous". Ideen var også, at vi på en måde "brød den fjerde væg", altså flyttede begivenhederne ind i virkeligheden – for eksempel malede vi med spraydåser.

Med den litterære behandling af teksten fik vi hjælp fra en af vores engelsktalende kolleger.

— Vent, hvorfor en engelsktalende? Gjorde I det hele på engelsk?!

— Ja, vi afholdt det for vores kontorer i Sankt Petersborg og Bukarest, så alt var på engelsk.

Til vores første erfaring forsøgte vi at få det hele til at fungere simpelt, så scenariet var lineært og ret enkelt. Vi tilføjede en masse stemning: hemmelige tekster, koder, billeder.

Cyberquest fra Veeams supportteam

Vi brugte også memes: der var en masse billeder om undersøgelser, UFO’er, nogle populære skrækhistorier – nogle hold blev endda distraheret af dette, forsøgte at finde skjulte budskaber der og anvendte deres viden om steganografi og sådan noget... men selvfølgelig var der ikke noget af den art.

Om tornene

Men under forberedelsen stødte vi på nogle uventede opgaver.

Vi kæmpede meget med dem og besvarede forskellige pludseligt opståede spørgsmål, og omkring en uge før questen tænkte vi faktisk, at alt var tabt.

Det er nok værd at fortælle lidt om den tekniske basis for questen.

Alt blev gjort på vores interne ESXi-laboratorium. Vi havde 6 hold, hvilket betød, at vi skulle oprette 6 ressourcepuljer. Så til hvert hold oprettede vi en separat pulje med de nødvendige virtuelle maskiner (samme IP). Men da alt dette var placeret på servere, der ligger i det samme netværk, tillod den nuværende konfiguration af vores VLAN'er ikke at isolere maskinerne i forskellige puljer. Og for eksempel under testkørslen oplevede vi situationer, hvor en maskine fra en pulje bragte forbindelse til en maskine fra en anden.

— Hvordan fik I løst situationen?

— Først tænkte vi længe over det, testede forskellige muligheder med tilladelser, separate VLAN'er til maskinerne. I sidste ende gjorde vi det sådan, at hvert hold kun ser Veeam Backup-serveren, som alle senere aktiviteter foregår gennem, men ikke ser den skjulte underpulje, hvor der er:

  • flere Windows-maskiner
  • Windows core server
  • maskine med Linux
  • VTL (Virtual Tape Library) enhed

Alle puljer er tildelt en separat gruppe porte på vDS switchen og deres egen Private VLAN. Denne dobbelte isolering er netop nødvendig for helt at udelukke muligheden for netværksinteraktion.

Om de modige

— Kunne enhver deltage i questen? Hvordan blev holdene dannet?

— Det var vores første oplevelse med at gennemføre et sådant arrangement, og vores laboratoriums kapacitet var begrænset til 6 hold.

Først, som jeg allerede har nævnt, gennemførte vi en PR-kampagne: ved hjælp af plakater og nyhedsbreve informerede vi om, at der ville finde en quest sted. Vi havde endda nogle hints – på plakaterne var der kodede sætninger i binær kode. På den måde fangede vi folks interesse, og folk begyndte at aftale det indbyrdes med venner og bekendte og koopererede. I sidste ende var der flere interesserede, end vi havde puljer, så vi måtte gennemføre en udvælgelse: vi opfandt en enkel testopgave og sendte den til alle, der svarede. Det var en logisk opgave, som skulle løses hurtigt.

Der kunne være op til 5 personer i teamet. Der var ikke behov for en kaptajn, da ideen var samarbejde og kommunikation mellem hinanden. Nogen er stærk i Linux, nogen er gode til tapes (backup på bånd), og hver kunne bidrage med deres styrker til den fælles løsning. Alle kommunikerede med hinanden og fandt løsningen.

Cyberquest fra Veeams supportteam

— Hvornår startede dette arrangement? Havde I et slags 'time X'?

— Ja, vi havde en strengt fastsat dato, og vi valgte den således, at der var mindre belastning på afdelingen. Selvfølgelig blev teamlederne informeret på forhånd om, at sådanne og sådanne hold blev inviteret til at deltage i questen, og de skulle give nogle lempelser [vedrørende belastningen] denne dag. Det viste sig at være sidst på året, 28. december, fredag. Vi forventede at tage cirka 5 timer, men alle hold klarede det hurtigere.

— Var alle i lige vilkår, havde alle de samme opgaver baseret på virkelige cases?

— Ja, hver af forfatterne tog nogle historier fra deres personlige erfaringer. Nogle ting vidste vi, kunne være virkelige, og det ville være interessant for folk at "føle" det, se det og forstå det. Vi tog også nogle mere specifikke emner — for eksempel datarekonstruktion fra beskadigede bånd. Nogen med hjælp, men de fleste hold klarede det selv.

Eller man skulle have anvendt magien fra hurtige scripts – for eksempel havde vi en historie om, at en "logisk bombe" "sprængte" en flerbindsarkiv i tilfældige mapper i træet, og man skulle samle data. Man kan gøre det manuelt – finde og kopiere [filer] én ad gangen, eller man kan skrive et script baseret på et mønster.

Generelt forsøgte vi at holde os til den opfattelse, at man kan løse en opgave på forskellige måder. For eksempel, hvis du er lidt mere erfaren eller ønsker at "beskæftige dig" mere, kan du løse den hurtigere, og der er en direkte „brute force“ løsning – men det vil tage mere tid. Så der var næsten altid flere måder at løse hver opgave, og det var interessant at se, hvilke veje holdene valgte. Så ikke-lineæriteten lå netop i valget af løsningsmetode.

For øvrigt var den sværeste opgave Linux-opgaven — kun én gruppe løste den uden hjælp.

— Kunne man tage hints? Ligesom i et rigtigt escape room??

— Ja, man kunne tage dem, fordi vi forstod, at folk er forskellige, og at der kunne være personer i samme hold, der manglede nogle færdigheder, så for at undgå at forlænge spillet og miste konkurrencemomentet besluttede vi, at der skulle være hints. En person fra arrangørerne overvågede hvert hold. Og så sørgede vi for, at ingen snydte.

Cyberquest fra Veeams supportteam

Om stjernerne

— Var der præmier til vinderne?

— Ja, vi forsøgte at lave så dejlige præmier som muligt til både deltagerne og vinderne: vinderne fik designerhoodies med Veeam's logo og en sætning, der var krypteret i 16-tals kode, i sort farve). Alle deltagere fik en Guy Fawkes-maske og en firmataske med logoet og den samme kode.

— Så det var ligesom i et rigtigt escape room!

— Ja, vi ville lave noget imponerende og voksent, og jeg synes, vi lykkedes.

— Sådan er det! Hvad blev reaktionen fra dem, der deltog i denne quest? Nåede I jeres mål?

— Ja, mange kom bagefter og sagde, at de klart så deres svage punkter og ønskede at forbedre dem. Nogle stoppede med at være bange for bestemte teknologier – for eksempel at dumpere blokke med tapes og forsøge at finde noget ud der... Nogle indså, at de måtte forbedre deres Linux-færdigheder, og så videre. Vi forsøgte at give en bred vifte af opgaver, men ikke helt trivielle.

Cyberquest fra Veeams supportteam
Vinderholdet

«Den, der vil, vil lykkes!»

— Krævede det meget arbejde fra dem, der forberedte questen?

— Generelt, ja. Men det skyldtes sandsynligvis, at vi ikke havde nogen erfaring med at forberede denne type quests, denne slags infrastruktur. (Vi skal nævne, at dette ikke var vores virkelige infrastruktur – den skulle blot udføre visse spillefunktioner.)

For os var det en meget interessant erfaring. I starten var jeg skeptisk, fordi ideen syntes mig lidt for ambitiøs, og jeg tænkte, at det ville være meget svært at realisere. Men vi begyndte at arbejde, begyndte at engagere os, og til sidst lykkedes det os. Og det gik næsten uden komplikationer.

I alt brugte vi 3 måneder. Størstedelen af tiden brugte vi på at udvikle konceptet, diskutere hvad vi kunne realisere. Undervejs ændrede vi naturligvis nogle ting, fordi vi indså, at vi ikke havde de tekniske muligheder for at gøre det. Vi måtte ændre noget undervejs, men uden at ødelægge hele fortællingen, historien og logikken. Vi forsøgte ikke kun at give en liste over tekniske opgaver, men at det skulle passe ind i historien, være sammenhængende og logisk. Det meste arbejde fandt sted den sidste måned, altså 3-4 uger før dagen X.

— Så I afsatte tid til forberedelsen ved siden af jeres hovedarbejde?

— Ja, vi arbejdede på det parallelt med vores hovedopgaver.

— Bliver I bedt om at lave sådan noget igen?

— Ja, vi har mange anmodninger om at gentage det.

— Hvad med jer?

– Vi har nye ideer, nye koncepter, vi ønsker at tiltrække flere mennesker og strække det over tid - både udvælgelsesprocessen og selve spilprocessen. Overordnet set er vi inspireret af projektet "Cicada", som man kan søge på - det er et virkelig spændende IT-tema, hvor folk fra hele verden samles, opretter tråde på Reddit, på forums, der bruges også kryptografi, og de løser gåder og meget andet.

– Ideen var fremragende, virkelig respekt for ideen og gennemførelsen, fordi det er ganske værdifuldt. Jeg ønsker oprigtigt, at I ikke mister den inspiration, og at alle jeres nye projekter også bliver succesfulde. Tak!

Cyberquest fra Veeams supportteam

– Ja, kan man se et eksempel på en opgave, som I bestemt ikke vil genbruge?

– Jeg har en mistanke om, at vi ikke vil genbruge en eneste. Så jeg kan fortælle om forløbet i hele quest'en.

Bonus TrackI starten har spillerne navnet på den virtuelle maskine og legitimationsoplysninger til vCenter. Når de logger ind, ser de denne maskine, men den vil ikke starte. Her skal de finde ud af, at der er noget galt med .vmx-filen. Når de downloader den, ser de en ledetråd, der er nødvendig for andet trin. I princippet står der, at databasen, der bruges af Veeam Backup & Replication, er krypteret.
Når de fjerner ledetråden, uploader .vmx-filen tilbage, og med succes tænder maskinen, ser de, at der på en af diske faktisk ligger en krypteret database i base64. Derfor er opgaven at dekryptere den og få en fuldt funktionel Veeam-server.

Lidt om virtuel maskine, hvor alt dette sker. Som vi husker, er hovedpersonen i questen en ret mørk personlighed, der beskæftiger sig med noget, der åbenlyst ikke er helt lovligt. Så hans arbejdscomputer skal have et ganske hacker-agtigt udseende, som vi skulle skabe, på trods af at det er Windows. Først blev der tilføjet en masse rekvisitter som information om store hacking-episoder, DDoS-angreb osv. Derefter blev der installeret al mulig typisk software og spredt forskellige dumps, filer med hashes osv. Alt som i en film. Blandt andet var der mapper, der var navngivet efter princippet closed-case*** og open-case***.
For at komme videre skal spillerne genoprette ledetrådene fra filer i backupene.

Her skal det siges, at spillerne i starten fik meget lidt information, og de fleste data (som IP, login og adgangskoder) modtager de undervejs i questen ved at finde spor i backupfiler eller dokumenter, der er spredt på maskinerne. Oprindeligt ligger backupfilerne på et Linux-repositorium, men selve mappen er serveren monteret (mounted) med flaget noexec, så agenten, der står for gendannelse af filer, kan ikke starte op.

Når repositoriet er repareret, får deltagerne adgang til alt indholdet og kan endelig gendanne enhver information. Det eneste, der er tilbage, er at forstå, hvilken information der præcist skal gendannes. For at gøre det skal de netop undersøge de filer, der er gemt på denne maskine, bestemme hvilke der er "defekte", og hvad der skal gendannes.

På dette stadium skifter scenariet fra generelle IT-viden til specifikke funktioner i Veeam.

I dette specifikke eksempel (når du kender filnavnet, men ikke ved, hvor du skal lede) skal man bruge søgefunktionen i Enterprise Manager, og så videre. Til sidst, efter at have gendannet hele den logiske sekvens, har spillerne endnu et login/adgangskode og output fra nmap. Dette fører dem til en Windows Core-server, specifikt via RDP (for at gøre livet lidt mere udfordrende).

Hovedtræk ved denne server: Ved hjælp af et simpelt script og flere ordbøger blev der dannet en fuldstændig meningsløs struktur af mapper og filer. Og ved login vises en velkomstmeddelelse af typen "Her eksploderede den logiske bombe, så du må samle sporene til de næste skridt i stykker."

Det næste spor var opdelt i en flerbindsarkiv (omkring 40-50 stykker) og blev tilfældigt fordelt i disse mapper. Vores plan var, at spillerne skulle bruge deres talenter til at skrive simple PowerShell-scripts for at samle det flerbindsarkiv, baseret på et kendt mønster, for at få de ønskede data. (Det endte dog som i den anekdote — en del af deltagerne viste sig at være usædvanligt fysisk udviklede.)

I arkivet lå et foto af en kassette (med teksten «Last Supper — Best Moments»), hvilket gav et hint om brugen af den tilsluttede båndbibliotek, hvor der var en kassette med et lignende navn. Problemet var bare, at den var så ikke-fungerende, at den endda ikke blev katalogiseret. Her begyndte, sandsynligvis, den mest hardcore del af questen. Vi slettede overskriften på kasetten, så for at gendanne dataene fra den, skulle man bare dumpe de «rå» (raw) blokke og se dem i en hex-editor for at finde filernes begyndelsesmærker.
Vi finder mærket, ser på offset, ganger blokken med dens størrelse, lægger offset til og bruger det indvendige værktøj til at forsøge at gendanne filen fra en bestemt blok. Hvis alt er gjort korrekt, og matematikken stemmer, så har spillerne en .wav fil i hånden.

I den er der, ved hjælp af en stemmegenerator, blandt andet dikteret en binær kode, som afslører endnu en IP.

Dette viser sig at være en ny Windows-server, hvor alt indikerer nødvendigheden af at bruge Wireshark, men det er der ikke. Hovedfokus er, at der er installeret to systemer på denne maskine - kun disken med det andet system er frakoblet via enhetshåndtering offline, og den logiske kæde fører til behovet for at genstarte. Herefter viser det sig, at der som standard skal indlæses et helt andet system, hvor Wireshark er installeret. Og vi har hele tiden været på det sekundære OS.

Her er der ikke meget, der skal gøres, det er nok at aktivere indfangning på den eneste interface. Ved relativt nøje at kigge på dumpen bemærkes tydeligvis et falsk pakke, der bliver sendt fra den hjælpmaskine med lige intervaller, hvori der ligger et link til en YouTube-video, hvor spillerne bliver bedt om at ringe til et bestemt nummer. Den første der ringer, vil høre en besked med en tillykke med førstepladsen, de øvrige - en invitation til HR (det er en joke)).

Forresten, vi har åbne stillinger for supportingeniører og for praktikanter. Velkommen til teamet!

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster