Selle talvel, tĂ€psemalt â ĂŒhel pĂ€eval katoliku joulupĂŒhade ja uue aasta vahel â oli Veeami tehnilise toe inseneridel kĂ€sil ebatavalised ĂŒlesanded: nad jahtisid hĂ€kkerigruppi nimega «Veeamonymous».

Kuidas need poisid iseseisvalt lĂ”id ja korraldasid oma töökohas tĂ”elise elukutse mĂ€ngu, ĂŒlesannetega, mis olid âlahedaltâ lĂ€hedased lahinguolukorrale, rÀÀkis Kirill Stetsko, Eskalatsiooni insener.
â Miks te seda ĂŒldse ette vĂ”tsite?
â Umbes samamoodi nagu inimesed ĂŒhel ajal Linuxi lĂ”id â just for fun, enda rÔÔmuks.
Soovisime elevust, samal ajal soovisime teha midagi kasulikku, midagi huvitavat. Pealegi pidi see olema teatud emotsionaalne puhkus inseneridele nende igapÀevasest tööst.
â Kes selle ettepaneku tegi? Kellest see idee oli?
â Idee oli meie juhi Katja Jegorova oma, seejĂ€rel tekkisid kontseptsioon ja kĂ”ik edasised ideed ĂŒhiselt. Esialgu mĂ”tleme teha hackathoni. Kuid kontseptsiooni arendamise kĂ€igus kasvas idee kvestiks, kuna tehnilise toe insener - see on erinev tegevusala kui programmeerimine.
Nii kutsusime sĂ”pru-kaaslasi-tuttavaid, erinevad inimesed aitasid meid kontseptsiooniga â ĂŒks inimene T2-st (teise taseme tugi - toimetamise mĂ€rk.), ĂŒks inimene T3-st, paar inimest SWAT meeskonnast (kiire reageerimise meeskond eriti kriitiliste juhtumite jaoks - toimetamise mĂ€rk.). Kogusime kĂ”ik kokku, istusime maha ja pĂŒĂŒdsime vĂ€lja mĂ”elda ĂŒlesandeid meie kvesti jaoks.
â Oli vĂ€ga ĂŒllatav sellest kĂ”igest teada saada, sest niipalju kui mina tean, töötavad tavaliselt kvestimehhanisme spetsiaalsed stsenaariumi autorid, nii et te ei tegelenud mitte ainult sellise keerulise asjaga, vaid ka oma töö, oma eriala kontekstis.
â Jah, soovisime teha mitte lihtsalt meelelahutust, vaid âtĂ”staâ inseneride tehnilisi oskusi. Ăks meie osakonna ĂŒlesanne on teadmiste vahetus ja koolitus, ning see kvest on suurepĂ€rane vĂ”imalus anda inimestele âmĂ€ngidaâ mĂ”ne nende jaoks uue tehnikaga reaalajas.
â Kuidas te ĂŒlesandeid vĂ€lja mĂ”tlesite?
â Korraldasime ajurĂŒnnaku. Meil oli arusaam, et peame tegema teatud tehnilisi testimisĂŒlesandeid, mis peaksid olema huvitavad ja samas tooma uusi teadmisi.
NÀiteks mÔtlesime, et inimestele vÔiks anda vÔimaluse proovida liiklust nuhkida, kasutada hex-redaktoreid, teha midagi Linuxi jaoks, tegeleda pisut keerukamate asjadega, mis on seotud meie toodetega (Veeam Backup & Replication ja teised).
Samuti oli oluline osa kontseptsioon. Otsustasime lĂ€htuda hĂ€kkerite temaatikast, anonĂŒĂŒmsest juurdepÀÀsust ja saladuse Ă”hkkonnast. SĂŒmboliks sai Guy Fawkesi mask ja nimi tekkis iseenesest â Veeamonymous.
âAlguses oli sĂ”naâ
Et huvi tĂ”sta, otsustasime enne ĂŒrituse algust korraldada PR-kampaania teema jĂ€rgi: riputasime meie kontorisse plakatid teadete jaoks. MĂ”ne pĂ€eva pĂ€rast mĂ€rkamatult kĂ”igilt nende lĂ”uendeid spray-kreemiga vĂ€rvisime ja kĂ€ivitasime 'tilku', et mingid kurjategijad rikkusid plakateid, isegi foto tĂ”enditega lisasime....
â Nii et te tegite seda ise, korraldaja meeskond?!
â Jah, reedel, umbes kell 9, kui kĂ”ik olid juba lahkunud, kĂ€isime ja vĂ€rvisime spray-kreemiga rohelise vĂ€rviga tĂ€he 'V'.) Paljud kvesti osalejad ei arvanud ĂŒldse vĂ€lja, kes seda tegi â inimesed tulid meie juurde ja kĂŒsisid, kes rikkus plakateid? Keegi vĂ”ttis selle kĂŒsimuse vĂ€ga tĂ”siselt ja korraldas selle kohta isegi uurimise.
Kvesti jaoks kirjutasime ja audiofaile, 'vĂ€ljasuurides' helisid: nĂ€iteks, kui insener logib meie [tootmis-CRM] sĂŒsteemi, siis seal on roboti-automaatvastaja, mis ĂŒtleb igasuguseid fraase, numbreid... Nii et koostasime nende sĂ”nade hulgast, mis tal on salvestatud, enam-vĂ€hem mĂ”istetavaid fraase, noh, vĂ”ib-olla natuke kummalisi â nĂ€iteks saime 'No friends to help you' audiofailis.
IP-aadressi, nĂ€iteks, kujutasime binaarkoodina, kĂ”ik jĂ€lle nende numbritega [robotist vĂ€ljaöeldud], lisasime igasugu hirmutavaid helisid. Me ise filmisime videot: videos istub inimene mustas kapuutsis ja Guy Fawkesi maskis, aga tegelikult ei ole seal mitte ĂŒks inimene, vaid kolm, sest kaks seisavad tema taga ja hoiavad 'tausta' tekiga :).
â Te olite tĂ”eliselt vaeva nĂ€inud, otse öeldes.
â Jah, me oleme pĂ”letanud. ĂhesĂ”naga, alguses mĂ”tlesime vĂ€lja oma tehnilised ĂŒlesanded ja seejĂ€rel koostasime kirjanduslik-mĂ€ngulise telje selle ĂŒle, mis justkui juhtus. SĂŒĆŸee kohaselt jahtisid osalejad rĂŒhma hĂ€kkerite nimega âVeeamonymousâ. Idee oli ka selles, et me justkui âpurustame neljanda seinaâ, viies sĂŒndmused reaalsusesse â nĂ€iteks maaliti spray purgist.
Kirjandusliku teksti töötlemisel aitas meid ĂŒks inglise keele spetsialist meie osakonnast.
â Oota, miks ingliskeelne inimene? Te tegite seda veel ka inglise keeles?!
â Jah, me ju korraldasime Peterburi ja Bukaresti bĂŒroode jaoks, seega kĂ”ik oli inglise keeles.
Esimese kogemuse jaoks pĂŒĂŒdsime, et kĂ”ik lihtsalt toimiks, seega oli stsenaarium lineaarne ja piisavalt lihtne. Lisatud oli palju atmosfÀÀri: salajased tekstid, krĂŒptid, pildid.

Kasutame ka meemide, seal oli palju pilte uurimiste, UFO-de ja populaarsete hirmulugude teemadel â mĂ”ned meeskonnad isegi hĂ€irisid seda, pĂŒĂŒdes leida seal mingeid varjatud sĂ”numeid, rakendades oma teadmisi steganograafiast ja muust⊠kuid seal polnud muidugi midagi sellist.
Terad
Kuid ettevalmistamise kĂ€igus kohtasime ka ootamatuid ĂŒlesandeid.
Palju vaeva nĂ€gime nende lahendamisega ja lahendasime igasuguseid jĂ€rsku tekkinud kĂŒsimusi ning umbes nĂ€dal enne mĂ€ngu mĂ”tlesime, et kĂ”ik on kadunud.
VÔib-olla tasub veidi rÀÀkida mÀngu tehnilisest alusest.
KĂ”ik toimus meie sisemises ESXi laboris. Meil oli 6 meeskonda, seega pidime eraldama 6 ressursipoolt. Nii et iga meeskonna jaoks kĂ€ivitasime eraldi koolituspunkti vajalike virtuaalmasinatega (sama IP). Kuid kuna see kĂ”ik asus serverites, mis on ĂŒhes vĂ”rgus, ei vĂ”imaldanud meie VLANide praegune konfiguratsioon masinaid erinevatesse gruppidesse isoleerida. NĂ€iteks testimise kĂ€igus tekkisid olukorrad, kus ĂŒks grupi masin ĂŒhendus teise grupi masinaga.
â Kuidas probleem lahendati?
â Esiteks mĂ”tlesime pikalt, testisime erinevaid variante lubadustega, eraldi vLANide masinate jaoks. LĂ”puks tegime nii â iga meeskond nĂ€eb ainult Veeam Backup serverit, mille kaudu toimub kogu edasine töö, kuid ei nĂ€e peidetud alamgruppi, kus asuvad:
- mitmed Windowsi masinad
- Windows core server
- Linux masin
- VTL (Virtual Tape Library) paar
Iga puule on mÀÀratud eraldi portide grupp vDS lĂŒlitil ja oma Private VLAN. Selline kahefoolne eraldatus on just vajalik, et tĂ€ielikult vĂ€listada vĂ”imalus vĂ”rgus suhtlemiseks.
Julgetest
â Kas mistahes soovija sai osaleda questis? Kuidas meeskonnad moodustati?
â See oli meie esimene kogemus sellise ĂŒrituse korraldamisel ja meie labori vĂ”imalused olid piiratud 6 meeskonnaga.
Alguses korraldasime, nagu ma juba ĂŒtlesin, PR-kampaania: kasutades plakateid ja ringkirju, teatasime, et quest toimub. Meil olid isegi mingid vihjed â plakatitel olid kodeeritud fraasid binaarkoodis. Nii huvitusime inimestest ja inimesed leppisid omavahel kokku, et koonduda. LĂ”puks oli soovijaid rohkem kui meil oli puule, seega tuli teha valik: me mĂ”tlesime vĂ€lja lihtsa testiĂŒlesande ja saatsime selle kĂ”igile, kes soovisid osaleda. See oli loogiline ĂŒlesanne, mille tuli lahendada kiiresti.
Meeskonnas tohtis olla kuni 5 inimest. Kaptenit seal ei nĂ”utud, idee oli kooperatsioonis, omavahelise suhtlemise kaudu. Keegi oli tugev Linuxis, keegi oli tugev tape (lindile varundamine) alal, ja igaĂŒks, nĂ€hes ĂŒlesannet, sai panustada oma jĂ”ud ĂŒhisesse lahendusse. KĂ”ik suhtlesid omavahel, leidsid lahenduse.

â Millal see ĂŒritus algas? Kas teil oli mingi 'X tund'?
â Jah, meil oli rangelt mÀÀratud pĂ€ev, me valisime selle nii, et osakonnas oleks vĂ€hem koormust. Loomulikult teavitati eelnevalt tiimijuhte, et sellised meeskonnad on kutsutud questis osalema ja neile tuleb anda mingit leevendust [koormuse suhtes] sel pĂ€eval. KĂ”ik kokku pidi olema aasta lĂ”pp, 28. detsember, reede. Arvestasime, et see vĂ”iks vĂ”tta umbes 5 tundi, kuid kĂ”ik meeskonnad said kiiremini hakkama.
â KĂ”ik olid vĂ”rdses olukorras, kĂ”igil olid samad ĂŒlesanded reaalseid juhtumeid silmas pidades?
â Jah, iga korraldaja vĂ”ttis oma isiklikest kogemustest mĂ”ningaid lugusid. Me teadsime, et sellised asjad vĂ”ivad reaalsuses juhtuda, ja oleks huvitav, et inimene saaks seda "katsuda", vaadata, aru saada. VĂ”tsime kaasa ka mĂ”ned spetsiifilisemad asjad â nĂ€iteks andmete taastamine kahjustatud lintidelt. MĂ”ni kasutas vihjeid, kuid enamik meeskondi taandus iseseisvalt.
VĂ”i tuli kasutada kiirete skriptide maagiat â nĂ€iteks meil oli lugu, kus teatud "loogiline pomm" "purustas" mitme köite arhiivi juhuslikeks kaustadeks puus, ja andmed tuli kokku koguda. Selle vĂ”iks teha kĂ€sitsi â ĂŒkshaaval otsida ja kopeerida [faile], vĂ”i vĂ”id kirjutada skripti mustri jĂ€rgi.
Ăldiselt pĂŒĂŒdsime jÀÀda sellele arvamusele, et ĂŒhte ĂŒlesannet saab lahendada erinevate meetoditega. NĂ€iteks, kui oled veidi kogenum vĂ”i tahad rohkem vaeva nĂ€ha, saad selle kiiremini lahendada, aga on ka otsetee lahendamise "nĂ€o" kaudu â kuid sellega kulutad ĂŒlesande peale rohkem aega. See tĂ€hendab, et peaaegu igal ĂŒlesandel oli mitu lahendusvarianti, ja oli huvitav, milliseid teid meeskonnad valivad. Nii et mittelineaarsus seisnes just lahendusvariandi valikus.
Muide, kĂ”ige raskemaks osutus Linuxi ĂŒlesanne â vaid ĂŒks meeskond lahendas selle iseseisvalt, ilma vihjeteta.
â Kas vihjeid sai vĂ”tta? Nagu pĂ€ris mĂ€ngus??
â Jah, vihjeid sai vĂ”tta, kuna me mĂ”istsime, et inimesed on erinevad, ja ĂŒhte meeskonda vĂ”ivad sattuda need, kellel puuduvad teatud teadmised. SeetĂ”ttu, et mĂ€ngimine ei veniks ja konkurentsihimu ei kaduks, otsustasime, et vihjed on olemas. Iga meeskonna juurde jĂ€lgis ĂŒks korraldajatest. Ja me jĂ€lgisime ka, et keegi ei petaks.

TĂ€htedest
â Kas oli auhindu vĂ”itjatele?
â Jah, me pĂŒĂŒdsime teha vĂ”imalikult meeldivad auhinnad nii kĂ”ikidele osalejatele kui ka vĂ”itjatele: vĂ”itjad said disainitud kapuutsiga sĂ€rgid Veeami logoga ja fraasiga, mis oli kodeeritud 16-ndal pĂ”hikoodis, mustas vĂ€rvuses). KĂ”ik osalejad said Guy Fawkesi maski ja brĂ€nditud kotti logoga ning sama koodiga.
â Nii et teil oli nagu pĂ€ris mĂ€ngus!
â Jah, me tahtsime teha lahedat, tĂ€iskasvanutele mĂ”eldud asja, ja mulle tundub, et meil Ă”nnestus.
â Just like that! What was the reaction of those who participated in this quest? Did you achieve your goals?
â Yes, many approached us later, saying that they clearly saw their weak points and wanted to improve them. Some stopped being afraid of certain technologies â for example, dumping blocks with tapes and trying to pull something out⊠Some realized they needed to improve their Linux skills, and so on. We aimed to provide a wide range of tasks, but not trivial ones.

Winning team
âWho wants, can achieve!â
â Did it require a lot of effort from those who organized the quest?
â Yes, it did. But this was mostly due to the fact that we had no experience preparing such quests or that kind of infrastructure. (Letâs clarify that this is not our real infrastructure â it was just supposed to function in certain game aspects.)
For us, it was a very interesting experience. I was initially skeptical because the idea seemed too cool to me, and I thought it would be very challenging to implement. But we started working, we began to dig in, everyone got excited, and in the end, we succeeded. And it even went practically without any hitches.
Overall, we spent 3 months. Primarily, we were brainstorming the concept, discussing what we could implement. During the process, of course, some things changed because we realized that we lacked the technical capabilities for something. We had to redo some parts on the fly, but in a way that didnât break the overall storyline, history, and logic. We were trying not just to provide a list of technical tasks, but to ensure it fit into the narrative, making it coherent and logical. The main work was done in the last month, that is, 3-4 weeks before the big day.
â So you set aside time for preparation in addition to your main activities?
â We were doing this alongside our main work, yes.
â Are you being asked to conduct something like this again?
â Yes, we have a lot of requests to repeat it.
â And what about you?
â Meil on uusi ideid, uued kontseptsioonid, soovime tuua rohkem inimesi ja seda pikendada nii valiku protsessi kui mĂ€ngu enda protsessis. KokkuvĂ”ttes inspireerime end projektist 'Tsikaada', seda saab googeldada â see on tĂ”eliselt Ă€ge IT teema, kus inimesed kogu maailmast ĂŒhendavad jĂ”ud, Redditis loovad nad teemasid, foorumites, seal kasutatakse krĂŒpteerimise tĂ”lkeid, lahendavad mĂ”istatusi ja muud sarnast.
â Idee oli suurepĂ€rane, lihtsalt respekt idee ja teostuse eest, sest see on tĂ”eliselt suur vÀÀrtus. Soovin siiralt, et teie innustus ei raugeks, et kĂ”ik teie uued projektid oleksid samuti edukad. AitĂ€h!

â Jah, kas saaks nĂ€ha nĂ€idet ĂŒlesandest, mida te kindlasti ei kavanda uuesti kasutada?
â Kahtlustan, et me ei kasuta ĂŒhtegi. Seega vĂ”in rÀÀkida kogu mĂ€ngu kĂ€igust.
BoonusrajaMĂ€ngijatel on alguses virtuaalmasina nimi ja credentials vCenter'i jaoks. Kui nad sisse logivad, nĂ€evad nad seda masinat, kuid see ei kĂ€ivitu. Siin peavad nad mĂ”istma, et .vmx failiga on midagi valesti. Faili allalaadides nĂ€evad nad vihjet, mis on vajalik teiseks sammuks. Sisuliselt on seal öeldud, et Veeam Backup & Replication'i kasutatav andmebaas on krĂŒpteeritud.
Kustutades vihje, laadides .vmx faili tagasi ja masinat edukalt kĂ€ivitades, nĂ€evad nad, et ĂŒhel kettal on tĂ”epoolest andmebaas, mis on base64 krĂŒpteeritud. SeetĂ”ttu on ĂŒlesanne â dekrĂŒpteerida see ja saada tĂ€isfunktsionaalne Veeam server.
Veidi virtuaalmasinast, kus see kĂ”ik toimub. Kuidas me mĂ€letame, on kvesti peategelane ĂŒsna tumeda iseloomuga ja tegeleb millegagi, mis ei ole kĂŒll eriti seaduslik. Seega peab tema tööarvuti olema tĂ€iesti hĂ€kkeri vĂ€limusega, mida pidime looma, hoolimata sellest, et see on Windows. Esiteks lisasime palju rekvisiitide elemente, nagu teave suurte hĂ€kkimise, DDoS rĂŒnnakute ja sarnaste kohta. Siis installisime igasugust tĂŒĂŒpilist tarkvara ja laotasime igale poole erinevaid dump'e, faile hash'idega jne. KĂ”ik nagu filmis. Seal olid ka kaustad, mis olid nimetatud printsiibil closed-case*** ja open-case***.
Edasi pÀÀsemiseks peavad mÀngijad taastama vihjed failidest varukoopiatest.
Siin tuleb mainida, et alguses anti mĂ€ngijatele vĂ€ga vĂ€he infot, ning enamik andmeid (nagu IP, kasutajanimed ja paroolid) saavad nad mĂ€ngu kĂ€igus, leidnud vihjeid varukoopiatest vĂ”i failidest, mis on laiali jĂ€etud masinatesse. Esialgu asusid varukoopiad Linuxi repo-s, kuid kaust ise on serveris ĂŒhendatud (mounted) flagi noexec, seega ei saa failide taastamise eest vastutav agent kĂ€ivituda.
Repo parandades saavad osalejad juurde pÀÀseda kogu sisule ja lÔpuks saavad nad taastada millist tahes teavet. JÀÀb alles mÔelda, mida tÀpselt. Selleks peavad nad uurima failide, mis on sellel masinal, sisu, tuvastama, millised neist on "rikkis" ja mida on otstarbekas taastada.
Sellel etapil kalduvad sĂŒndmused ĂŒldistest IT-teadmistest Veeami spetsiifiliste funktsioonide poole.
Antud konkreetses nĂ€ites (kui sa tead faili nime, aga ei tea, kust seda otsida) tuleb kasutada Enterprise Manageri otsingufunktsiooni, ja nii edasi. LĂ”puks, pĂ€rast kogu loogilise ahela taastamist, on mĂ€ngijatel kĂ€es veel ĂŒks kasutajanimi/parool ja nmap'i vĂ€ljund. See viib neid Windows Core serverisse, ja seda RDP kaudu (et elu ei oleks liialt lihtne).
Selle serveri peamine eripĂ€ra: lihtsa skripti ja mitme sĂ”naraamatuga loodi seal tĂ€iesti mĂ”ttetu kaustade ja failide struktuur. Ja logimisel kuvatakse tervitusmessaaĆŸ, mis kĂ”lab nagu "Siin plahvatas loogiline pomm, seega peate jĂ€rgmiste sammude vihjed kokku koguma tĂŒkkhaaval."
JĂ€rgmine vihje oli jagatud mitme köite arhiiviks (tĂŒkke 40-50) ja juhuslikult paigutatud nende kaustade vahel. Meie plaan oli, et mĂ€ngijad peaksid nĂ€itama oma andeid lihtsate PowerShell skriptide kirjutamises, et tuntud mustri jĂ€rgi kokku koguda mitme köite arhiiv ja hankida otsitavad andmed. (Aga lĂ”ppes nagu anekdoot â osa katsealuseid osutusid erakordselt fĂŒĂŒsiliselt arenenuks.)
Arhiivis oli foto kassetist (kirjaga «Last Supper â Best Moments»), mis viitas ĂŒhendatud lintbiblioteegi kasutusele, kus oli kassett sarnase nimega. Ainult, et ĂŒks probleem â see osutus nii mittetoimivaks, et seda isegi ei kataloogitud. Siit hakkas ilmselt mĂ€ngu kĂ”ige hardcore'likum osa. Me kustutasime kasseti pealkirja, seetĂ”ttu, et andmete taastamiseks tuleb lihtsalt «toores» (raw) blokid vĂ€lja tĂ”mmata ja neid hex-redigeerijaga vaatama hakata, et leida failide algusmarkerid.
Leiame markeri, vaatame ofseti, korrutame bloki selle suurusega, lisame ofseti ja proovime sisemise tööriista abil taastada faili teatud blokist. Kui kÔik on Ôigesti tehtud ja matemaatika klapib, siis on mÀngijatel kÀes .wav fail.
Selles on hÀÀlega generaatori abil dikteeritud kahekĂŒmnenumbriline kood, mis avab veel ĂŒhe IP aadressi.
Tegelikult on see uus Windowsi server, kus kĂ”ik viitab vajadusele kasutada Wireshark'i, kuid seal ei ole seda. Peamine fookus on selles, et sellel masinal on kaks sĂŒsteemi â ainult teise ketas on seadme halduri kaudu offline'i lĂŒlitatud, ja loogiline ahel viib vajaduseni taaskĂ€ivitada. PĂ€rast seda selgub, et vaikimisi peaks laadima hoopis teist sĂŒsteemi, kus on paigaldatud Wireshark. Ja me olime kogu selle aja jooksul teisel OS-l.
Siin ei ole midagi erilist teha, lihtsalt piisab, kui aktiveerida pĂŒĂŒdmine ainukesel liidesel. Suhteliselt tĂ€helepaneliku vaatamise korral mĂ€rgatakse, et dumpis on selgelt vale pakett, mida saadab abimasin vĂ”rdselt ajavahemike jĂ€rel, milles on link YouTube'i videole, kus mĂ€ngijaid palutakse helistada kindlale numbrile. Esimene helistaja kuulab Ă”nnitlema esimese koha puhul, teised â kutse HR-i (naljaga).
Muide, meil on avatud tehnilise toe inseneridele ja praktikantidele. Tere tulemast meeskonda!
Allikas: habr.com
