Kyber-kvest od týmu technické podpory Veeam

Tento zimu, přesněji řečeno — v jeden z dnů mezi katolickým Vánoce a Novým rokem — inženýři technické podpory Veeam byli zaměstnáni ne úplně běžnými úkoly: lovili skupinu hackerů nazvanou „Veeamonymous“.

Kyber-kvest od týmu technické podpory Veeam

O tom, jak si kluci sami vymysleli a uspořádali skutečný kvest v reálném světě, s úkoly „přiblíženými k bojovým“, vyprávěl Kirill Stecko, Escalační inženýr.

— Proč jste to vůbec udělali?

— Přibližně tak, jak lidé vymysleli v době Linux – just for fun, pro vlastní potěšení.

Chtěli jsme akci, ale zároveň jsme chtěli udělat něco užitečného, něco zajímavého. Navíc bylo třeba trochu odreagovat inženýry od jejich každodenní práce.

— Kdo to navrhl? Čí to byla myšlenka?

— Myšlenka byla našeho manažera Katje Egorové, a poté už byl koncept a všechny další nápady vytvořeny společnými silami. Původně jsme mysleli na hackathon. Ale během vývoje konceptu se myšlenka přetavila v kvest, protože inženýr technické podpory je jiný typ činnosti než programování.

Takže jsme pozvali přátele, známé a různé lidi, kteří nám pomohli s konceptem – jeden člověk z T2 (druhá linie podpory — pozn. red.), jeden člověk z T3, pár lidí z týmu SWAT (tým rychlé reakce na zvlášť urgentní případy — pozn. red.). Sešli jsme se všichni dohromady, sedli si a pokusili se vymyslet úkoly pro náš kvest.

— Bylo velmi nečekané o tom všem se dozvědět, protože, jak vím, obvykle se kvestovou mechaniku zpracovávají specialisté-scenáristé, takže jste se nejen zaobírali tak těžkým úkolem, ale navíc v kontextu své práce, svého profesního oboru.

— Ano, chtěli jsme udělat nejen zábavu, ale „vylepšit“ technické dovednosti inženýrů. Jedním z úkolů v našem oddělení je výměna znalostí a vzdělávání, a takový kvest — to je skvělá příležitost dát lidem „osahat“ nějaké nové techniky v praxi.

— Jak jste vymýšleli úkoly?

— Uspořádali jsme brainstorm. Měli jsme vizi, že musíme vytvořit určitá technická zkoušky, a to tak, aby byly zajímavé a zároveň nesly nové znalosti.
Například jsme si mysleli, že lidem je potřeba dát možnost vyzkoušet si sniffing provozu, používat hex-editory, dělat něco pro Linux, prostě se zabývat trochu hlubšími věcmi souvisejícími s našimi produkty (Veeam Backup & Replication a další).

Také důležitou součástí byl koncept. Rozhodli jsme se vycházet z tématu hackerů, anonymního přístupu a atmosféry tajemství. Jako symbol jsme zvolili masku Guye Fawkese, a název vznikl sám od sebe — Veeamonymous.

„Na začátku bylo slovo“

Abychom podněcovali zájem, rozhodli jsme se před zahájením akce uspořádat PR kampaň na téma questu: po našem kanceláři jsme vyvěsili plakáty s oznámením. A za pár dní jsme je tajně sami přetřeli spray a pustili „fake news“, že jakési osoby je zničily, dokonce jsme přiložili fotku jako důkaz....

— Tak to jste to dělali vy, tedy tým organizátorů?!

— Ano, v pátek, kolem deváté, když už všichni odešli, jsme chodili a malovali sprayem písmeno „V“ zelenou barvou.) Mnoho účastníků questu vůbec netušilo, kdo to udělal – lidé k nám přicházeli a ptali se, kdo zničil plakáty? Někdo se k této otázce postavil velmi vážně a uspořádal na toto téma celé vyšetřování.

Pro quest jsme psali audiové soubory, „vydělávali“ zvuky: například, když se inženýr přihlásí do našeho [produktivního CRM] systému, tak tam je robot-automatický záznamník, který říká různé fráze, čísla… Z těch slov, která má nahraná, jsme skládali více méně smysluplné fráze, no, možná trochu křivé – například se nám podařilo „No friends to help you“ v audiovém souboru.

IP adresa, například, byla představena v binárním kodu, vše opět s pomocí těchto čísel [vyslovených robotem], přidávali jsme různé strašidelné zvuky. Sami jsme nahrávali video: ve videu máme osobu sedící v černém kapuci a s maskou Guye Fawkese, ale ve skutečnosti tam nejsou jedna, ale tři osoby, protože dvě stojí za ním a drží „pozadí“ z deky:).

— No vy jste se do toho fakt ponořili, to se musí říct.

— Ano, dostali jsme se do toho. Nejprve jsme vymysleli technické úkoly a poté vytvořili literárně-herní osnovu na téma, co se údajně stalo. Podle scénáře účastníci lovili skupinu hackerů s názvem „Veeamonymous“. Myšlenka byla také v tom, že jakoby „prolamujeme čtvrtou stěnu“, tedy přenášíme události do reality – například jsme malovali z spreje.

S literární úpravou textu nám pomohl jeden z rodilých mluvčích angličtiny z našeho oddělení.

— Počkej, a rodilý mluvčí proč? Dělali jste to i v angličtině?!

— Ano, protože jsme to pořádali pro kanceláře v Petrohradě a Bukurešti, takže to bylo celé anglicky.

Pro první zkušenost jsme se snažili udělat, aby to všechno jednoduše fungovalo, proto byl scénář lineární a dost jednoduchý. Přidali jsme více atmosféry: tajné texty, šifry, obrázky.

Kyber-kvest od týmu technické podpory Veeam

Také jsme používali memy: bylo spousta obrázků na témata vyšetřování, UFO, nějakých populárních hororů – některé týmy se na to také odvracely, snažily se najít nějaké skryté zprávy, využít své znalosti steganografie a podobně… ale samozřejmě tam nic takového nebylo.

O trnech

Během přípravy jsme se však setkali s neočekávanými úkoly, které nás samé překvapily.

Mnoho jsme se s nimi potýkali a řešili různé náhle se objevující otázky, a asi týden před questem jsme si dokonce mysleli, že je vše ztraceno.

Možná by stálo za to trochu přiblížit technický základ questu.

Všechno se dělalo v naší interní ESXi laboratoři. Měli jsme 6 týmů, takže jsme potřebovali vyhradit 6 zdrojových poolů. Takže pro každý tým jsme nasadili samostatný pool s potřebnými virtuálními stroji (stejné IP). Ale protože to bylo všechno na serverech, které leží v jedné síti, aktuální konfigurace našich VLANů neumožňovala izolaci strojů v různých poolech. A například během testovacího běhu jsme měli situace, kdy se stroj z jednoho poolu připojoval k stroji z jiného.

— Jak se vám podařilo situaci vyřešit?

— Nejprve jsme dlouho přemýšleli, testovali různé možnosti s oprávněními, samostatnými VLANy na stroje. Nakonec jsme to udělali tak, že každý tým vidí pouze Veeam Backup server, přes který probíhá veškerá další činnost, ale nevidí skrytý podpool, v němž se nacházejí:

  • několik Windows strojů
  • Windows core server
  • stroj s Linuxem
  • pár VTL (Virtual Tape Library)

Každé pooly mají vyhrazenou skupinu portů na vDS switch a vlastní Private VLAN. Taková dvojitá izolace je právě potřeba, aby se zcela vyloučila možnost síťové interakce.

O odvážných

— Mohl se zúčastnit kdokoliv? Jak se tvořily týmy?

— To byla naše první zkušenost s pořádáním takové akce a možnosti naší laboratoře byly omezeny na 6 týmů.

Nejprve jsme, jak jsem již řekl, provedli PR kampaň: pomocí plakátů a rozesílek jsme oznámili, že se bude konat kvíz. Měli jsme dokonce jisté nápovědy - na samotných plakátech byly zašifrované fráze v binárním kódu. Tímto způsobem jsme zaujali lidi, kteří si pak již sami mezi sebou domlouvali s přáteli a známými kooperaci. Nakonec se přihlásilo více zájemců, než kolik jsme měli poolů, a proto jsme museli provést výběr: vymysleli jsme jednoduchý testovací úkol a rozeslali ho všem, kdo se přihlásili. Byla to logická úloha, kterou bylo potřeba vyřešit co nejrychleji.

V týmu mohlo být maximálně 5 lidí. Kapitán nebyl potřeba, myšlenka byla v kooperaci, v komunikaci mezi sebou. Někdo byl silný, dejme tomu, v Linuxu, někdo jiný v tapech (zálohách na pásky), a každý, kdo uviděl úkol, mohl přispět svými silami k celkovému řešení. Všichni mezi sebou komunikovali, našli řešení.

Kyber-kvest od týmu technické podpory Veeam

— Kdy akce začala? Měli jste nějaký 'hodinu X'?

— Ano, měli jsme přesně určený den, vybírali jsme ho tak, aby bylo co nejméně zatížení v oddělení. Samozřejmě jsme dopředu informovali team leady, že takové týmy jsou zvány k účasti v kvízu, a že je potřeba dát nějaké uvolnění [pokud jde o zatížení] v tento den. Nakonec to mělo být na konci roku, 28. prosince, v pátek. Plánovali jsme, že to zabere přibližně 5 hodin, ale všechny týmy si s tím poradily rychleji.

— Všichni byli v rovných podmínkách, všichni měli stejné úkoly na základě reálných případů?

— Ano, každý z organizátorů přinesl nějaké příběhy z osobního zkušenosti. O něčem jsme věděli, že by to mohlo existovat v realitě, a bylo zajímavé, aby si člověk to „osahal“, podíval se na to, zjistil to. Vzali jsme i nějaké specifické věci – například obnovení dat z poškozených pásků. Někdo s nápovědami, ale většina týmů se s tím vypořádala sama.

Nebo bylo třeba použít kouzlo rychlých skriptů – například jsme měli příběh, kdy jakási „logická bomba“ „roztrhla“ vícestavový archiv do náhodných složek ve struktuře, a bylo třeba shromáždit data. To lze udělat ručně – hledat a kopírovat [soubory] jedno po druhém, nebo napsat skript podle masky.

Celkově jsme se snažili držet názoru, že jednu úlohu lze vyřešit různými způsoby. Například, pokud jsi o něco zkušenější nebo se chceš „potrápit“, můžeš ji vyřešit rychleji, a existuje přímá cesta „přes hlavu“ – ale pak na úlohu vynaložíš více času. To znamená, že téměř každá úloha měla několik variant řešení, a bylo zajímavé, jaké cesty si týmy vyberou. Takže nelinearita byla právě ve výběru varianty řešení.

Mimochodem, největší problém představovalo úkol na Linux – pouze jeden tým jej vyřešil sám, bez nápověd.

— Mohli jste brát nápovědy? Jako v pravém questě?

— Ano, bylo možné je brát, protože jsme chápali, že lidé jsou různí, a mohli se do jednoho týmu dostat ti, kdo mají nedostatek určitých znalostí, a proto, abychom neprotahovali průběh a neztratili soutěživý zájem, rozhodli jsme, že budou nápovědy. Pro každý tým sledoval člověk z organizátorů. A my jsme také dohlíželi, aby nikdo nepodváděl.

Kyber-kvest od týmu technické podpory Veeam

O hvězdách

— A byly ceny pro vítěze?

— Ano, snažili jsme se udělat co nejpříjemnější ceny pro všechny účastníky i pro vítěze: vítězové dostali designové mikiny s logem Veeam a frází zakódovanou v 16-ti ciferném kódu, černé barvy). Všichni účastníci dostali masku Guy Fawkese a brandovanou tašku s logem a stejným kódem.

— To znamená, že jste to měli jako v reálném questě!

— No, chtěli jsme udělat skvělou, dospělou věc, a myslím, že se nám to podařilo.

— No, bylo to tak! Jaká byla reakce těch, kteří se tohoto questu zúčastnili? Cílů jste dosáhli?

— Ano, mnozí se poté přiblížili a říkali, že si jasně uvědomili svá slabá místa a chtěli je zlepšit. Někdo přestal mít strach z určitých technologií – například dumpovat bloky z tape a snažit se tam něco vyzvednout… Někdo pochopil, že se musí zlepšit v Linuxu, a tak dál. Snažili jsme se poskytnout dostatečně široký okruh úkolů, ale ne zcela triviálních.

Kyber-kvest od týmu technické podpory Veeam
Tým vítězů

„Kdo chce, ten dosáhne!“

— Vyžadovalo to hodně úsilí od těch, kteří připravovali quest?

— Ano, bylo to tak. Ale spíše to souviselo s tím, že jsme neměli žádné zkušenosti s přípravou takových questů, takového druhu infrastruktury. (Upozorníme, že to není naše reálná infrastruktura – ta měla pouze plnit nějaké herní funkce.)

Pro nás to byla velmi zajímavá zkušenost. Zpočátku jsem byl skeptický, protože mi ta myšlenka přišla až příliš skvělá, myslel jsem, že to bude velmi složité realizovat. Ale začali jsme to dělat, začali jsme pracovat, všichni se nadchli, a nakonec to vyšlo. A dokonce to dopadlo téměř bez problémů.

Celkově jsme strávili 3 měsíce. Většinou jsme vymýšleli koncept, diskutovali, co můžeme realizovat. V průběhu se samozřejmě něco měnilo, protože jsme chápali, že na něco nemáme technické možnosti to udělat. Museli jsme něco předělávat za běhu, ale tak, aby se neporušila celá struktura, příběh a logika. Snažili jsme se poskytnout nejen seznam technických úkolů, ale aby to zapadlo do příběhu, aby to bylo souvislé a logické. Hlavní práce probíhala poslední měsíc, tedy 3-4 týdny před Dnem D.

— To znamená, že kromě své hlavní činnosti jste si vyčlenili čas na přípravu?

— Ano, tím jsme se zabývali paralelně s naší hlavní prací.

— Požádali vás ještě, abyste takové něco provedli?

— Ano, máme mnoho žádostí o opakování.

— A co vy?

— Máme nové nápady, nové koncepty, chceme přilákat více lidí a rozložit to v čase – jak proces výběru, tak samotný proces hry. Celkově nás inspiroval projekt "Cikáda", což si můžete vygooglit – je to opravdu skvělá IT téma, tam se lidé z celého světa spojují, na Redditu zakládají vlákna, na fórech, tam používají překlady šifer, luští hádanky a podobné věci.

— Nápad byl skvělý, opravdu respekt za nápad a realizaci, protože to má skutečně velkou hodnotu. Upřímně přeji, aby vás to nadšení neopustilo a aby všechny vaše nové projekty byly také úspěšné. Děkuji!

Kyber-kvest od týmu technické podpory Veeam

— Ano, mohu se podívat na příklad úkolu, který určitě nebudete znovu používat?

— Podezřívám, že žádný nebudeme znovu používat. Můžu tedy vyprávět o průběhu celého questu.

Bonusová skladbaNa začátku mají hráči název virtuálního stroje a přihlašovací údaje k vCenter. Po přihlášení vidí tento stroj, ale ten se nespustí. Je třeba si uvědomit, že něco není v pořádku se .vmx souborem. Po jeho stažení vidí nápovědu potřebnou pro druhý krok. V podstatě tam je napsáno, že databáze, používaná Veeam Backup & Replication, je šifrovaná.
Po odstranění nápovědy, zpětném nahrání .vmx souboru a úspěšném zapnutí stroje, vidí, že na jednom z disků skutečně leží databáze, zašifrovaná base64. Úkolem je tedy tuto databázi dešifrovat a získat plně funkční Veeam server.

Trochu o virtuálce, na které se to všechno odehrává. Jak si pamatujeme, v příběhu je hlavní postava questu poměrně temná osobnost, která se zabývá něčím evidentně ne zcela legálním. Proto by její pracovní počítač měl mít dost hackerý vzhled, který jsme museli vytvořit, přestože jde o Windows. Jako první bylo přidáno množství rekvizit, jako jsou informace o velkých hackech, DDoS útocích a podobně. Poté jsme nainstalovali různé typické programy a rozházeli různé dumpy, soubory s hash anim a podobně. Všechno jako v filmu. Mezi jiným tam byly složky pojmenované podle principu closed-case*** a open-case***.
Aby postoupili dál, musí hráči obnovit nápovědy ze souborů v zálohách.

Zde je třeba říct, že na začátku dostávali hráči poměrně málo informací, a většinu dat (jako IP adresy, přihlašovací jména a hesla) získávají během questru, když nacházejí nápovědy v zálohách nebo v souborech rozptýlených na strojích. Původně jsou záložní soubory umístěny na Linuxovém repozitáři, ale samotná složka je serveru připojena (mounted) s flagem noexec, takže agent odpovědný za obnovení souborů se nemůže spustit.

Opravením repozitáře získávají účastníci přístup ke všemu obsahu a konečně mohou obnovit jakékoli informace. Zbývá zjistit, které konkrétně. A k tomu potřebují prostudovat soubory uložené na tomto stroji, určit, které z nich jsou „poškozené“ a co konkrétně je nutné obnovit.

V této fázi se scénář posune od obecných IT znalostí k specifickým funkcím Veeam.

V tomto konkrétním příkladu (když znáš název souboru, ale nevíš, kde ho hledat) je třeba využít funkci vyhledávání v Enterprise Manageru, a tak dále. Nakonec, po obnovení celé logické řetězce, mají hráči v rukou další přihlašovací jméno/heslo a výstup z nmapu. To je přivádí na Windows Core server, a to přes RDP (aby život nebyl příliš jednoduchý).

Hlavní zajímavost tohoto serveru: s pomocí jednoduchého skriptu a několika slovníků byla vytvořena naprosto bezvýznamná struktura složek a souborů. A při přihlášení se objevuje uvítací zpráva ve stylu „Zde explodovala logická bomba, takže nápovědy pro další kroky budete muset sbírat kousek po kousku.“

Další nápověda byla rozdělena do více svazků (kousky 40-50) a náhodně rozložena po těchto složkách. Náš záměr byl v tom, že hráči by měli prokázat své talenty v psaní jednoduchých PowerShell skriptů, aby podle známého vzoru sestavili více svazkový archiv a získali požadované údaje. (Ale dopadlo to jako v tom vtipu – část pokusných subjektů se ukázala být neobyčejně fyzicky rozvinutá.)

V archivu byla fotografie kazety (s nápisem „Last Supper — Best Moments“), což naznačovalo použití připojené pásek knihovny, kde byla kazeta se podobným názvem. Jenže, jedna věc — byla tak nefunkční, že nebyla ani katalogizována. Zde začínala pravděpodobně ta nejtěžší část úkolu. Smazali jsme nadpis kazety, takže abychom obnovili data z ní, stačí „sundat“ neopracované (raw) bloky a prohlédnout je v hex editoru s cílem najít markery začátku souborů.
Najdeme marker, podíváme se na offset, vynásobíme blok jeho velikostí, přidáme offset a pomocí interního nástroje se snažíme obnovit soubor z určitého bloku. Pokud bylo všechno uděláno správně a matematika sedí, hráči dostanou .wav soubor.

V něm je pomocí generátoru hlasu mimo jiné nadiktován binární kód, který se odhaluje v další IP.

To je, ukazuje se, nový Windows server, kde vše naznačuje potřebu použít Wireshark, ale není tam. Hlavní pointa je, že na tomto stroji jsou nainstalovány dvě systémy — jenže druhý disk je odpojen přes správce zařízení v offline režimu, a logická řetězová reakce vede k nutnosti restartování. Po restartu se ukáže, že by se měl načíst úplně jiný systém, kde je nainstalovaný Wireshark. A celou dobu jsme byli na sekundární OS.

Tady už není třeba nic zvlášť dělat, stačí zapnout zachytávání na jediném rozhraní. Při relativně pozorném prozkoumání dumpu je zřejmý podezřelý paket, který je odesílán z pomocného stroje v pravidelných intervalech, ve kterém je odkaz na youtube video, kde hráči žádají, aby zavolali na určitý číslo. První, kdo zavolá, uslyší gratulaci k prvnímu místu, ostatní — pozvání na HR (vtip).

Mimochodem, máme otevřené pozice pro technické podpůrné inženýry a stážisty. Vítejte v týmu!

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster