Cyberquest van het Veeam supportteam

Deze winter, en dan vooral op een dag tussen Kerstmis en Nieuwjaar, waren de ingenieurs van de technische ondersteuning van Veeam bezig met ongewone taken: ze jaagden op een groep hackers genaamd 'Veeamonymous'.

Cyberquest van het Veeam supportteam

Over hoe de jongens zelf een echte quest op de werkvloer hebben bedacht en uitgevoerd, met opdrachten die 'vechtscenario's' benaderen, vertelde Kirill Stetsko, Escalation Engineer.

— Waarom zijn jullie hiermee begonnen?

— Ongeveer zoals mensen ooit Linux uitvonden – just for fun, voor hun eigen plezier.

We hadden behoefte aan wat actie, en tegelijkertijd wilden we iets nuttigs en interessants doen. Plus, we moesten de ingenieurs een emotionele ontlading geven van hun dagelijkse werk.

— Wie heeft dit voorgesteld? Wie had het idee?

— Het idee kwam van onze manager Katja Egorova, en daarna zijn het concept en alle verdere ideeën uit gezamenlijke inspanningen geboren. We dachten aanvankelijk aan een hackathon. Maar tijdens de ontwikkeling van het concept groeide het idee uit tot een quest, want een technische ondersteuning ingenieur is toch een ander soort werk dan programmeren.

Dus, we nodigden vrienden, kameraden en kennissen uit, verschillende mensen hielpen ons met het concept – één iemand van T2 (de tweede lijn ondersteuning — red. opmerking), één iemand van T3, een paar mensen uit het SWAT-team (het team dat snel reageert op dringende gevallen — red. opmerking). We kwamen allemaal samen, gingen zitten en probeerden opdrachten voor onze quest te bedenken.

— Het was heel onverwacht om dit allemaal te horen, want, voor zover ik weet, werken meestal speciale scénaristen de questmechanica uit, dat wil zeggen dat jullie niet alleen met zo'n complexe zaak bezig waren, maar ook nog eens gericht op jullie werk, in jullie professionele veld.

— Ja, we wilden niet alleen maar een vermaak creëren, maar de technische vaardigheden van de ingenieurs verbeteren. Een van de taken in onze afdeling is kennisuitwisseling en training, en zo'n quest is een uitstekende mogelijkheid voor mensen om 'nieuwe technieken' live te ervaren.

— Hoe bedachten jullie de opdrachten?

— We organiseerden een brainstormsessie. We hadden in gedachten dat we bepaalde technische tests moesten doen, en die moesten interessant zijn en tegelijkertijd nieuwe kennis moeten brengen.
Bijvoorbeeld, we dachten dat mensen de kans moesten krijgen om te experimenteren met het sniffen van verkeer, gebruik te maken van hex-editors, iets te doen voor Linux, en andere iets diepere zaken die verband houden met onze producten (Veeam Backup & Replication en anderen).

Een belangrijk onderdeel was ook het concept. We besloten ons te baseren op het thema van hackers, anonieme toegang en een sfeer van geheimhouding. We maakten de Guy Fawkes-masker als symbool en de naam kwam vanzelf — Veeamonymous.

‘In het begin was het woord’

Om de interesse aan te wakkeren, besloten we om vóór het evenement een PR-campagne te organiseren in de stijl van een quest: we hingen aankondigingsposters rond ons kantoor. Een paar dagen later, stiekem voor iedereen, hebben we ze zelf met spuitbussen beschilderd en een 'gerucht' verspreid dat een aantal kwaadwillenden de posters hadden vernield, zelfs een foto met bewijs toegevoegd…

— Dus dat hebben jullie zelf gedaan, dat is, het team van de organisatoren?!

— Ja, op vrijdag, rond 9 uur, toen iedereen al weg was, zijn we gegaan en hebben we met spuitbussen een groene ‘V’ geschilderd. Veel deelnemers van de quest hebben nooit doorgehad wie dit had gedaan – mensen kwamen naar ons toe en vroegen wie de posters had vernield? Iemand nam deze kwestie heel serieus en voerde zelfs een hele enquête hierover.

Voor de quest hebben we audio- bestanden geschreven, geluiden 'gehaald': bijvoorbeeld, wanneer een ingenieur in ons [productie CRM] systeem inlogt, is er een robot-automatische antwoordapparaat die allerlei zinnen en cijfers zegt… Van die woorden die hij heeft opgenomen, hebben we meer of minder zinnige zinnen gemaakt, misschien een beetje krom – bijvoorbeeld, we hadden ‘No friends to help you’ in het audiobestand.

Het IP-adres bijvoorbeeld, stelden we voor in binaire code, alles weer met behulp van deze cijfers [uitgesproken door de robot], we voegden allerlei angstaanjagende geluiden toe. We filmden zelf een video: in de video zit een persoon in een zwarte hoodie en een Guy Fawkes-masker, maar in werkelijkheid zijn het niet één maar drie mensen, want twee staan achter hem en houden een 'achtergrond' van een deken vast:).

— Nou, jullie hebben je er echt mee bemoeid, om het zomaar te zeggen.

— Ja, we zijn enthousiast geworden. We hebben eerst onze technische specificaties bedacht en daarna een verhalend en spelmatig concept ontwikkeld over wat er zou zijn gebeurd. Volgens het scenario jaagden de deelnemers op een groep hackers genaamd 'Veeamonymous'. Het idee was ook dat we als het ware de 'vierde muur' doorbreken, dat wil zeggen, we brengen de gebeurtenissen in de realiteit – bijvoorbeeld, we tekenden met spuitbussen.

Een medewerker van onze afdeling die een native English speaker is, heeft ons geholpen met de literaire bewerking van de tekst.

— Wacht, waarom een native speaker? Hebben jullie dit ook in het Engels gedaan?!

— Ja, we hebben het gedaan voor de kantoren in Sint-Petersburg en Boekarest, dus alles was in het Engels.

Voor de eerste ervaring probeerden we ervoor te zorgen dat alles gewoon werkte, daarom was het script lineair en vrij eenvoudig. We hebben meer sfeer toegevoegd: geheime teksten, codes, afbeeldingen.

Cyberquest van het Veeam supportteam

Ook hebben we memes gebruikt: er waren veel afbeeldingen over onderzoeken, UFO's, enkele populaire horrorverhalen – sommige teams lieten zich hierop afleiden en probeerden verborgen boodschappen te vinden, hun kennis van steganografie en dergelijke toe te passen... maar natuurlijk was daar niets van aan de hand.

Over doornen

Tijdens de voorbereiding stuitten we echter op onverwachte taken voor onszelf.

We hebben er veel aan gewerkt en allerlei onverwachte vragen opgelost, en ongeveer een week voor de quest dachten we eigenlijk dat alles verloren was.

Misschien is het goed om iets over de technische basis van de quest te vertellen.

Alles gebeurde op ons interne ESXi-lab. We hadden 6 teams, dat betekent dat we 6 resource pools moesten toewijzen. Dus voor elk team hebben we een aparte pool ingericht met de benodigde virtuele machines (gelijke IP's). Maar omdat dit alles op servers stond die in hetzelfde netwerk functioneerden, stond de huidige configuratie van onze VLAN's niet toe om machines in verschillende pools te isoleren. Bijvoorbeeld, tijdens de test-run kregen we situaties waarin een machine uit de ene pool verbinding maakte met een machine uit een andere.

— Hoe hebben jullie de situatie kunnen oplossen?

— We hebben eerst lang nagedacht, allerlei opties getest met permissies, aparte VLAN's voor machines. Uiteindelijk hebben we het zo gedaan – elk team ziet alleen de Veeam Backup-server, via welke het verdere werk plaatsvindt, maar ziet de verborgen subpool niet, waarin zich bevinden:

  • enkele Windows-machines
  • Windows core server
  • machine met Linux
  • paar VTL (Virtual Tape Library)

Aan alle pools is een aparte groep poorten toegewezen op de vDS-switch en een eigen Private VLAN. Deze dubbele isolatie is precies wat nodig is om netwerkinteractie volledig uit te sluiten.

Over de dappere

— Kon iedereen meedoen aan de quest? Hoe werden de teams gevormd?

— Dit was onze eerste ervaring met het organiseren van een dergelijk evenement, en de mogelijkheden van ons laboratorium waren beperkt tot 6 teams.

Eerst hebben we, zoals ik al zei, een PR-campagne gehouden: met behulp van posters en e-mails hebben we aangekondigd dat er een quest zou plaatsvinden. We hadden zelfs enkele hints – op de posters waren zinnen verstopt in binaire code. Zo wekten we de interesse van mensen, en zij spraken zelf met vrienden en kennissen af om samen te werken. Uiteindelijk waren er meer geïnteresseerden dan we poolen hadden, dus moesten we selecteren: we verzonnen een eenvoudige testopdracht en verspreidden deze onder iedereen die had gereageerd. Het was een logische puzzel die op snelheid moest worden opgelost.

In het team waren maximaal 5 mensen toegestaan. Een kapitein was niet vereist; het idee was samenwerking en communicatie onder elkaar. Iemand is sterk in Linux, iemand anders in tapes (back-ups op banden), en iedereen kon, bij het zien van de taak, zijn eigen inspanningen in de gezamenlijke oplossing investeren. Iedereen communiceerde met elkaar en vond een oplossing.

Cyberquest van het Veeam supportteam

— Op welk moment begon dit evenement? Hadden jullie een 'uur X'?

— Ja, we hadden een strikte datum vastgesteld; we kozen deze zo dat er minder druk op de afdeling was. Uiteraard hebben we van tevoren de teamleiders geïnformeerd dat bepaalde teams uitgenodigd werden om deel te nemen aan de quest, en dat ze enige verlichting [met betrekking tot de werklast] op die dag moesten geven. Uiteindelijk bleek dat het aan het eind van het jaar moest zijn, op 28 december, een vrijdag. We rekenden op ongeveer 5 uur, maar alle teams waren sneller klaar.

— Iedereen was in gelijke omstandigheden, en iedereen had dezelfde taken gebaseerd op echte casussen?

Ja, elke samensteller nam zijn persoonlijke ervaringen mee in de verhalen. Over sommige dingen wisten we dat ze in de werkelijkheid zouden kunnen gebeuren en dat het interessant zou zijn om te voelen, bekijken en begrijpen. We namen ook meer specifieke dingen mee, zoals dataherstel van beschadigde tapes. Sommige mensen deden dit met tips, maar de meeste teams redde zichzelf.

Of er moest magie van snelle scripts toegepast worden – bijvoorbeeld, we hadden een verhaal waarin een zogenaamde "logische bom" een meerdeelarchief in willekeurige mappen door de boom heen had "opgeblazen", en we moesten de gegevens verzamelen. Je kunt dit handmatig doen – bestanden één voor één zoeken en kopiëren, of je kunt een script op basis van een masker schrijven.

Over het algemeen probeerden we vast te houden aan het standpunt dat één taak op verschillende manieren kan worden opgelost. Bijvoorbeeld, als je iets meer ervaren bent of je wilt je echt verdiepen, kun je het sneller oplossen, maar er is ook een directe 'frontale' aanpak – waarbij je meer tijd aan de taak besteedt. Dat wil zeggen, bijna elke opdracht had meerdere oplossingsvarianten, en het was interessant om te zien welke paden de teams kozen. Dus de non-lineariteit zat juist in de keuze van de oplossing.

Overigens bleek de Linux-taak de moeilijkste te zijn – slechts één team loste het op zonder hints.

Kon je hints gebruiken? Zoals in een echte quest?

Ja, dat kon, omdat we wisten dat mensen verschillend zijn, en het is goed mogelijk dat ze in hetzelfde team zitten zonder bepaalde kennis. Dus om het spel niet te vertragen en het competitieve aspect niet te verliezen, besloten we dat er hints zouden zijn. Er was altijd iemand van de organisatoren die elk team in de gaten hield. En we zorgden ervoor dat niemand vals speelde.

Cyberquest van het Veeam supportteam

Over de sterren

Waren er prijzen voor de winnaars?

Ja, we probeerden zo aangenaam mogelijke prijzen te maken, zowel voor alle deelnemers als voor de winnaars: de winnaars kregen een designer hoodie met het Veeam-logo en een zin gecodeerd in hexadecimale code, in het zwart. Alle deelnemers kregen een Guy Fawkes-maske en een merkentas met het logo en dezelfde code.

Dus alles was net als in een echte quest!

Nou, we wilden iets cools en volwassens maken, en ik denk dat we dat ook bereikt hebben.

— Dat klopt! Maar wat was uiteindelijk de reactie van degenen die aan deze quest deelnamen? Hebben jullie jullie doelen bereikt?

— Ja, velen kwamen later naar ons toe en zeiden dat ze duidelijk hun zwakke punten hadden gezien en deze wilden verbeteren. Sommigen zijn bang geweest voor bepaalde technologieën – zoals het dumpen van blokken met tape en proberen daar iets uit te halen… Anderen realiseerden zich dat ze hun kennis van Linux moesten bijspijkeren, en ga zo maar door. We hebben geprobeerd een breed scala aan taken te bieden, maar niet allemaal triviaal.

Cyberquest van het Veeam supportteam
Het team van winnaars

„Wie wil, die kan!”

— Vereiste het veel inspanning van degene die de quest voorbereidde?

— Ja, dat wel. Maar dat had waarschijnlijk meer te maken met het feit dat we geen ervaring hadden in het voorbereiden van dergelijke quests, van dit soort infrastructuren. (Laten we opmerken dat dit niet onze echte infrastructuur is – het moest gewoon bepaalde speelfuncties vervullen.)

Voor ons was dit een zeer interessante ervaring. Ik was aanvankelijk sceptisch, omdat het idee me zelfs iets te cool leek, ik dacht dat het heel moeilijk te realiseren was. Maar we begonnen met de uitvoering, we gingen aan de slag, iedereen begon enthousiast te worden, en uiteindelijk is het gelukt. En het verliep zelfs bijna zonder problemen.

In totaal hebben we 3 maanden besteed. Voor het grootste deel hebben we het concept bedacht, bespreken wat we kunnen realiseren. Tijdens het proces veranderde er natuurlijk iets, omdat we beseften dat we voor sommige dingen niet over de technische mogelijkheden beschikten om dit te doen. We moesten ter plekke iets aanpassen, maar zonder dat het hele verhaal, de logica of de opzet verloren ging. We probeerden niet alleen een lijst met technische specificaties te geven, maar het in een verhaal te verwerken, zodat het samenhangend en logisch was. Het belangrijkste werk vond de laatste maand plaats, dus 3-4 weken voor de grote dag.

— Dus jullie reserveerden tijd voor de voorbereiding naast jullie hoofdtaken?

— Ja, we deden dit parallel aan ons reguliere werk.

— Worden jullie gevraagd om zoiets opnieuw te doen?

— Ja, we krijgen veel verzoeken om het te herhalen.

— En wat doen jullie?

— We have new ideas, new concepts, we want to attract more people and stretch this over time – both the selection process and the game itself. Overall, we take inspiration from the 'Cicada' project, which you can look up – it's a really cool IT topic where people from all over the world come together, creating threads on Reddit and forums, using and deciphering codes, solving puzzles, and all sorts of things.

— The idea was excellent, huge respect for the concept and execution because it truly costs a lot. I sincerely hope that you don't lose this inspiration and that all your new projects are equally successful. Thank you!

Cyberquest van het Veeam supportteam

— Yes, can we see an example of a task that you definitely will not reuse?

— I suspect we will not reuse any of them. So I can tell you about the progress of the entire quest.

Bonus trackAt the very beginning, players receive the name of the virtual machine and credentials for vCenter. After logging in, they see the machine, but it doesn't start. Here they need to guess that something is wrong with the .vmx file. After downloading it, they see a hint necessary for the next step. Essentially, it says that the database used by Veeam Backup & Replication is encrypted.
After removing the hint, re-uploading the .vmx file, and successfully starting the machine, they find that one of the disks really contains a database encrypted in base64. Thus, the task is to decrypt it and obtain a fully functional Veeam server.

A little about the virtual machine where all this takes place. As we remember, the plot's main character is quite dark and engages in something clearly not very legal. Therefore, his working computer should have a distinctly hacker-like appearance, which we had to create, even though it's Windows. First, we added a lot of props such as information on major hacks, DDoS attacks, and similar things. Then we installed all sorts of typical software and spread around various dumps, hashed files, etc. Just like in the movies. Among other things, there were folders named based on the closed-case*** and open-case*** principles.
To progress further, players need to recover hints from the files in the backups.

Hier moet worden opgemerkt dat de spelers in het begin vrij weinig informatie kregen, en de meeste gegevens (zoals IP's, inloggegevens en wachtwoorden) ontvangen ze tijdens de quest, terwijl ze aanwijzingen vinden in back-ups of bestanden die verspreid zijn over machines. Aanvankelijk liggen de back-upbestanden op een Linux-repository, maar de map zelf is op de server gemonteerd (mounted) met de vlag noexec, waardoor de agent die verantwoordelijk is voor het herstellen van bestanden niet kan starten.

Na het repareren van de repository krijgen de deelnemers toegang tot alle inhoud en kunnen ze eindelijk informatie herstellen. Het blijft alleen nog te begrijpen welke precies. En daarvoor moeten ze de bestanden die op deze machine zijn opgeslagen bestuderen, bepalen welke 'beschadigd' zijn en wat precies moet worden hersteld.

In deze fase verschuift het scenario van algemene IT-kennis naar specifieke functies van Veeam.

In dit specifieke voorbeeld (wanneer je de bestandsnaam weet, maar niet weet waar je deze kunt zoeken) moet je gebruik maken van de zoekfunctie in de Enterprise Manager, enzovoort. Uiteindelijk, na het herstellen van de hele logische keten, hebben de spelers nog een inlognaam/wachtwoord en de uitvoer van nmap. Dit leidt hen naar een Windows Core-server, en wel via RDP (om het leven niet te gemakkelijk te maken).

De belangrijkste eigenschap van deze server: met behulp van een simpel script en verschillende woordenboeken is er een volstrekt zinloze structuur van mappen en bestanden ontstaan. Bij het inloggen wordt een welkomstbericht weergegeven zoals 'Hier is een logische bom ontploft, dus je zult de aanwijzingen voor verdere stappen in stukjes moeten verzamelen.'.

De volgende aanwijzing was verspreid over een meer volume-archief (ongeveer 40-50 stukken) en willekeurig verdeeld over deze mappen. Ons idee was dat de spelers hun vaardigheden in het schrijven van eenvoudige PowerShell-scripts moesten tonen, om met een bekende sjabloon het meer volume-archief weer samen te stellen en de gezochte gegevens te verkrijgen. (Maar het eindigde zoals in die mop — een deel van de proefpersonen bleek buitengewoon fysiek ontwikkeld te zijn.)

In het archief lag een foto van de cassette (met de tekst 'Last Supper - Best Moments'), wat een hint gaf op het gebruik van de aangesloten bandbibliotheek, waar een cassette met een vergelijkbare naam was. Het enige probleem was echter dat deze niet operabel was, zelfs niet te catalogiseren. Hier begon waarschijnlijk het meest uitdagende deel van de quest. We hadden de titel van de cassette gewist, dus om de gegevens ervan te herstellen, moesten we alleen maar de 'ruwe' (raw) blokken dumpen en deze in een hex-editor bekijken op zoek naar bestandstartmarkers.
We vinden de marker, bekijken de offset, vermenigvuldigen het blok met de grootte ervan, tellen de offset erbij op en proberen met de interne tool het bestand van een bepaald blok te herstellen. Als alles goed is gedaan en de wiskunde klopt, hebben de spelers een .wav bestand in handen.

Hierin is met een spraakgenerator onder andere een binaire code ingesproken, die zich ontvouwt in nog een IP.

Blijkbaar is dit een nieuwe Windows-server, waar alles duidt op de noodzaak om Wireshark te gebruiken, alleen is het daar niet aanwezig. De belangrijkste focus is dat er op deze machine twee systemen zijn geïnstalleerd — alleen is de schijf met het tweede systeem via de apparaatbeheerder offline geschakeld, en de logische keten leidt tot de noodzaak van een herstart. Vervolgens blijkt dat standaard een heel ander systeem zou moeten opstarten, waar Wireshark op is geïnstalleerd. En de hele tijd waren we in het secundaire OS.

Hier hoeven we niet veel meer te doen, het is voldoende om de capture in te schakelen op de enige interface. Bij een relatief zorgvuldige inspectie van de dump valt een duidelijk vreemd pakket op, dat met gelijke tussenpozen van de ondersteunende machine wordt verzonden, waarin een link naar een YouTube-video staat, waarin spelers worden gevraagd om een bepaald nummer te bellen. De eerste beller hoort een felicitaties voor de eerste plaats, de anderen — een uitnodiging voor HR (grapje)).

Overigens, we hebben open vacatures voor support engineers en stagiairs. Welkom bij het team!

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster