Küberotsing Veeami tehnilise toe meeskonnalt

Sel talvel või õigemini ühel katoliiklike jõulude ja aastavahetuse vahelisel päeval olid Veeami tehnilise toe insenerid hõivatud ebatavaliste ülesannetega: nad jahtisid häkkerite rühma nimega “Veeamonymous”.

Küberotsing Veeami tehnilise toe meeskonnalt

Ta rääkis, kuidas poisid ise mõtlesid välja ja viisid oma töös läbi tõelise otsingu, mille ülesanded olid "võitlemislähedased". Kirill Stetsko, Eskalatsiooniinsener.

- Miks sa seda üldse alustasid?

- Umbes samamoodi mõtlesid inimesed omal ajal Linuxi välja – lihtsalt lõbu pärast, enda rõõmuks.

Tahtsime liikumist ja samas tahtsime teha midagi kasulikku, midagi huvitavat. Lisaks oli vaja anda inseneridele nende igapäevatööst emotsionaalset leevendust.

- Kes seda soovitas? Kelle idee see oli?

— Idee oli meie juht Katja Egorova ja siis sündis kontseptsioon ja kõik edasised ideed ühisel jõul. Algselt mõtlesime teha häkatoni. Kuid kontseptsiooni väljatöötamise käigus kasvas idee questiks, tehnilise toe insener on ju teist tüüpi tegevus kui programmeerimine.

Niisiis, helistasime sõpradele, seltsimeestele, tuttavatele, erinevad inimesed aitasid meid kontseptsiooni loomisel - üks inimene T2-st (teine ​​tugiliin on toimetaja märkus), üks inimene, kellel on T3, paar inimest SWAT-i meeskonnast (eriti kiireloomuliste juhtumite kiirreageerimismeeskond - toimetaja märkus). Saime kõik kokku, istusime maha ja proovisime oma ülesandeid välja mõelda.

— Sellest kõigest teada saamine oli väga ootamatu, sest minu teada töötavad quest-mehaanika tavaliselt välja spetsialiseerunud stsenaristid, st te ei tegelenud mitte ainult nii keerulise asjaga, vaid ka oma tööga seoses. , oma erialasele tegevusalale.

— Jah, me tahtsime teha seda mitte ainult meelelahutuseks, vaid ka inseneride tehniliste oskuste “pumpamiseks”. Meie osakonna üks ülesandeid on teadmiste ja koolituste vahetamine, kuid selline püüdlus on suurepärane võimalus lasta inimestel enda jaoks mõnda uut tehnikat elus “puudutada”.

— Kuidas sa ülesanded välja mõtlesid?

— Meil ​​oli ajurünnak. Meil oli arusaam, et peame tegema mõned tehnilised testid ja sellised, et need oleksid huvitavad ja samas tooksid uusi teadmisi.
Näiteks arvasime, et inimesed peaksid proovima liiklust nuusutada, kasutada hex-redaktoreid, teha midagi Linuxi jaoks, mõnda veidi sügavamat meie toodetega seotud asja (Veeam Backup & Replication ja muud).

Kontseptsioon oli samuti oluline osa. Otsustasime tugineda häkkerite, anonüümse juurdepääsu ja saladuse õhkkonna teemale. Guy Fawkesi maskist tehti sümbol ja nimi tuli loomulikult - Veeamonymous.

"Alguses oli sõna"

Huvi äratamiseks otsustasime korraldada enne üritust otsinguteemalise PR-kampaania: riputasime oma kontori ümber kuulutusega plakatid. Ja paar päeva hiljem värvisid nad salaja kõigi eest need pihustuspurkidega ja panid käima “pardi”, räägitakse, et mõned ründajad rikkusid plakatid, lisasid isegi tõendiga foto….

- Nii et sa tegid seda ise, see tähendab korraldajate meeskond?!

— Jah, reedel, umbes kella 9 ajal, kui kõik olid juba lahkunud, läksime ja joonistasime õhupallidelt rohelise V-tähe.) Paljud otsingul osalejad ei osanud kunagi arvata, kes seda tegi – inimesed tulid meie juurde. ja küsis kes plakatid ära rikkus ? Keegi võttis seda teemat väga tõsiselt ja viis sellel teemal läbi kogu uurimise.

Ülesande jaoks kirjutasime ka helifaile, “rebisime välja” helisid: näiteks kui insener logib sisse meie [tootmis-CRM] süsteemi, on seal vastajarobot, mis ütleb igasuguseid fraase, numbreid... Siin me oleme nendest sõnadest, mis ta on salvestanud, koostanud rohkem või vähem tähendusrikkaid fraase, noh, võib-olla natuke viltu - näiteks saime helifaili "Sinuid ei aita".

Näiteks esitasime IP-aadressi kahendkoodis ja jällegi, kasutades neid numbreid [hääldab robot], lisasime kõikvõimalikke hirmutavaid helisid. Filmisime video ise: videos istub meil mees mustas kapuutsis ja Guy Fawkesi maskis, kuid tegelikkuses ei ole seal mitte üks inimene, vaid kolm, sest kaks seisavad tema selja taga ja hoiavad käest tehtud “tausta” tekk :).

- Noh, sa oled otse öeldes segaduses.

- Jah, me läksime põlema. Üldiselt mõtlesime esmalt välja oma tehnilised näitajad ja seejärel koostasime väidetavalt juhtunu teemal kirjandusliku ja mängulise ülevaate. Stsenaariumi kohaselt jahtisid osalejad häkkerite rühma nimega "Veeamonymous". Mõte oli ka selles, et me justkui "lõhkume 4. seina", st viime sündmused reaalsusesse - värvisime näiteks pihustist.

Üks meie osakonna inglise keelt emakeelena kõneleja aitas meid teksti kirjanduslikul töötlemisel.

- Oota, miks emakeelena kõneleja? Kas sa tegid seda kõike ka inglise keeles?!

— Jah, me tegime seda Peterburi ja Bukaresti kontori jaoks, nii et kõik oli inglise keeles.

Esimesel kogemusel püüdsime kõik lihtsalt tööle panna, nii et skript oli lineaarne ja üsna lihtne. Lisasime veel ümbrust: salatekste, koode, pilte.

Küberotsing Veeami tehnilise toe meeskonnalt

Kasutasime ka meeme: seal oli hunnik pilte uurimiste teemadel, UFO-d, mõned populaarsed õudusjutud - mõned meeskonnad olid sellest häiritud, püüdes leida sealt mingeid peidetud sõnumeid, rakendada oma teadmisi steganograafiast ja muust... aga loomulikult polnud midagi sellist.

Okkaste kohta

Ettevalmistusprotsessi käigus seisime aga silmitsi ka ootamatute väljakutsetega.

Me nägime nendega palju vaeva ja lahendasime igasuguseid ootamatuid probleeme ning umbes nädal enne otsingut arvasime, et kõik on kadunud.

Tõenäoliselt tasub rääkida pisut otsingu tehnilisest alusest.

Kõik tehti meie sisemises ESXi laboris. Meil oli 6 meeskonda, mis tähendab, et pidime eraldama 6 ressurssi. Seega juurutasime iga meeskonna jaoks eraldi basseini koos vajalike virtuaalmasinatega (sama IP). Kuid kuna see kõik asus serverites, mis on samas võrgus, ei võimaldanud meie VLAN-ide praegune konfiguratsioon meil masinaid erinevatesse basseinidesse isoleerida. Ja näiteks proovisõidul jõudis meile olukordi, kus ühest basseinist pärit masin ühendus teise basseini masinaga.

— Kuidas suutsite olukorda parandada?

— Algul mõtlesime pikalt, katsetasime igasuguseid lubadega võimalusi, masinatele eraldi vLANe. Selle tulemusena nad seda ka tegid - iga meeskond näeb ainult Veeam Backup serverit, mille kaudu toimub kogu edasine töö, kuid ei näe peidetud alambasseini, mis sisaldab:

  • mitu Windowsi masinat
  • Windowsi põhiserver
  • Linuxi masin
  • paar VTL (virtuaalne lindikogu)

Kõigile basseinidele on vDS-lülitile määratud eraldi portide rühm ja oma privaatne VLAN. See topeltisolatsioon on täpselt see, mida on vaja võrgu interaktsiooni võimaluse täielikuks välistamiseks.

Julgete kohta

— Kas keegi võiks otsingust osa võtta? Kuidas meeskonnad moodustati?

— See oli meie esimene kogemus sellise ürituse läbiviimisel ja meie labori võimalused piirdusid 6 meeskonnaga.

Esiteks, nagu ma juba ütlesin, viisime läbi PR-kampaania: plakatite ja kirjade abil andsime teada, et korraldatakse otsing. Meil oli isegi vihjeid – fraasid olid plakatitel endil kahendkoodina krüpteeritud. Nii tekitasime inimestes huvi ning inimesed jõudsid juba omavahel, sõpradega, sõpradega kokkuleppele ja koostööle. Selle tulemusena vastas rohkem inimesi, kui meil oli basseine, mistõttu pidime läbi viima valiku: mõtlesime välja lihtsa testülesande ja saatsime selle kõigile, kes vastasid. See oli loogikaprobleem, mis tuli kiiresti lahendada.

Võistkonda lubati kuni 5 inimest. Kaptenit polnud vaja, mõte oli koostöö, omavaheline suhtlus. Keegi on tugev näiteks Linuxis, keegi on tugev kasstide osas (varukoopiad lintidele) ja igaüks võiks ülesannet nähes panustada terviklahendusse. Kõik suhtlesid omavahel ja leidsid lahenduse.

Küberotsing Veeami tehnilise toe meeskonnalt

— Mis hetkel see üritus alguse sai? Kas teil oli mingi "tund X"?

— Jah, meil oli rangelt määratud päev, valisime selle nii, et osakonnas oleks vähem koormust. Loomulikult teatati meeskonnajuhtidele ette, et sellised ja sellised meeskonnad kutsutakse questile ja neile oli sel päeval vaja [laadimise osas] leevendust pakkuda. Näis, et peaks olema aasta lõpp, 28. detsember, reede. Eeldasime, et see võtab aega umbes 5 tundi, kuid kõik meeskonnad said selle kiiremini valmis.

— Kas kõik olid võrdsetel alustel, kas kõigil olid reaalsete juhtumite põhjal ühesugused ülesanded?

— Noh, jah, iga koostaja võttis mõned lood isiklikust kogemusest. Teadsime millegi kohta, et see võib tegelikkuses juhtuda ja inimesel oleks huvitav seda “tunnetada”, vaadata ja välja mõelda. Võtsid ka mõned spetsiifilisemad asjad – näiteks andmete taastamise kahjustatud lintidelt. Mõned vihjetega, aga enamus võistkondi tegi seda ise.

Või oli vaja kasutada kiirskriptide maagiat - näiteks oli meil selline lugu, et mingi “loogipomm” “rebis” mitmeköitelise arhiivi puu ääres suvalistesse kaustadesse ja oli vaja andmeid koguda. Saate seda teha käsitsi – otsida ja kopeerida [failid] ükshaaval või kirjutada skript maski abil.

Üldiselt püüdsime kinni pidada seisukohast, et ühte probleemi saab lahendada erineval viisil. Näiteks kui olete veidi kogenum või tahate segadusse sattuda, siis saate selle kiiremini lahendada, kuid selle lahendamiseks on otsene viis - kuid samal ajal kulutate probleemile rohkem aega. Ehk siis peaaegu igal ülesandel oli mitu lahendust ja huvitav, milliseid teid võistkonnad valivad. Seega oli mittelineaarsus just lahendusvariandi valikul.

Muide, Linuxi probleem osutus kõige keerulisemaks - ainult üks meeskond lahendas selle iseseisvalt, ilma vihjeteta.

— Kas saaksite vihjeid anda? Nagu päris otsingul??

— Jah, seda oli võimalik võtta, sest saime aru, et inimesed on erinevad ja samasse meeskonda pääsevad need, kel teadmisi napib, nii et selleks, et läbiminek ei veniks ja konkurentsihuvi ei kaoks, otsustasime, et annaks näpunäiteid. Selleks jälgis iga võistkonda inimene korraldajatest. Noh, me veendusime, et keegi ei petnud.

Küberotsing Veeami tehnilise toe meeskonnalt

Tähtede kohta

— Kas võitjatele jagati auhindu?

— Jah, püüdsime teha nii kõigile osalejatele kui ka võitjatele meeldivaimad auhinnad: võitjad said Veeami logo ja kuueteistkümnendkoodiga krüpteeritud fraasiga disaineri dressipluusid, must). Kõik osalejad said Guy Fawkesi maski ning logo ja sama koodiga kaubamärgiga koti.

- See tähendab, et kõik oli nagu tõelises otsingus!

"Noh, me tahtsime teha lahedat, täiskasvanud asja ja ma arvan, et see meil õnnestus."

- See on tõsi! Milline oli selles ülesandes osalenute viimane reaktsioon? Kas olete oma eesmärgi saavutanud?

- Jah, paljud tulid hiljem jutuks ja ütlesid, et nägid selgelt oma nõrku kohti ja tahavad neid parandada. Keegi lakkas kartmast teatud tehnoloogiaid – näiteks plokkide loopimist lintidelt ja püüdes sealt midagi haarata... Keegi sai aru, et vaja Linuxit täiustada jne. Püüdsime anda üsna laia valikut ülesandeid, kuid mitte täiesti tühiseid.

Küberotsing Veeami tehnilise toe meeskonnalt
Võitnud meeskond

"Kes tahab, see saavutab!"

— Kas see nõudis ülesande ettevalmistajatelt palju pingutust?

- Tegelikult jah. Kuid see oli tõenäoliselt tingitud asjaolust, et meil puudus kogemus selliste ülesannete, sellise infrastruktuuri ettevalmistamisel. (Teeme reservatsiooni, et see pole meie tõeline infrastruktuur – see pidi lihtsalt täitma mõningaid mängufunktsioone.)

See oli meie jaoks väga huvitav kogemus. Alguses olin skeptiline, kuna idee tundus mulle liiga lahe, arvasin, et seda on väga raske teostada. Aga hakkasime tegema, hakkasime kündma, kõik hakkas tuld võtma ja lõpuks saime hakkama. Ja isegi ülekatteid praktiliselt polnud.

Kokku veetsime 3 kuud. Enamasti mõtlesime välja kontseptsiooni ja arutasime, mida saaksime ellu viia. Selle käigus loomulikult mõned asjad muutusid, sest saime aru, et meil pole tehnilist võimekust millegi tegemiseks. Teel pidime midagi ümber tegema, aga nii, et kogu konspekt, ajalugu ja loogika ei katkeks. Püüdsime mitte lihtsalt anda tehniliste ülesannete loendit, vaid muuta see loosse nii, et see oleks ühtne ja loogiline. Põhitöö käis viimast kuud ehk siis 3-4 nädalat enne X päeva.

— Nii et põhitegevuse kõrvalt pühendasite aega ka ettevalmistuseks?

— Tegime seda paralleelselt põhitööga, jah.

- Kas teil palutakse seda uuesti teha?

- Jah, meil on palju taotlusi korrata.

- Ja sina?

- Meil ​​on uued ideed, uued kontseptsioonid, tahame meelitada rohkem inimesi ja venitada seda aja jooksul - nii valikuprotsess kui ka mänguprotsess ise. Üldiselt oleme inspireeritud projektist “Cicada”, saate seda guugeldada - see on väga lahe IT-teema, seal ühinevad inimesed üle maailma, nad alustavad teemasid Redditis, foorumites, kasutavad kooditõlkeid, lahendavad mõistatusi , ja kõik see.

— Idee oli suurepärane, lihtsalt austus idee ja teostuse vastu, sest see on tõesti palju väärt. Soovin siiralt, et te ei kaotaks seda inspiratsiooni ja et ka kõik teie uued projektid õnnestuksid. Aitäh!

Küberotsing Veeami tehnilise toe meeskonnalt

— Jah, kas saate vaadata näidet ülesandest, mida te kindlasti ei kasuta?

"Ma kahtlustan, et me ei kasuta ühtegi neist uuesti." Seetõttu võin teile rääkida kogu ülesande edenemisest.

LisaluguAlguses on mängijatel virtuaalmasina nimi ja vCenteri mandaadid. Pärast sellesse sisselogimist näevad nad seda masinat, kuid see ei käivitu. Siin peate ära arvama, et .vmx-failiga on midagi valesti. Kui nad selle alla laadivad, näevad nad teise sammu jaoks vajalikku viipa. Sisuliselt ütleb see, et Veeam Backup & Replication kasutatav andmebaas on krüptitud.
Pärast viipa eemaldamist, .vmx-faili tagasilaadimist ja masina edukat sisselülitamist näevad nad, et üks ketastest sisaldab tegelikult base64 krüptitud andmebaasi. Sellest tulenevalt on ülesandeks see dekrüpteerida ja saada täielikult toimiv Veeam server.

Natuke virtuaalmasinast, milles see kõik toimub. Nagu mäletame, on questi peategelane süžee järgi üsna tõmmu inimene ja teeb midagi, mis pole ilmselgelt väga seaduslik. Seetõttu peaks tema tööarvuti olema täiesti häkkerliku välimusega, mille pidime looma vaatamata sellele, et tegemist on Windowsiga. Esimese asjana lisasime palju rekvisiite, näiteks teavet suurte häkkide, DDoS-i rünnakute jms kohta. Seejärel installisid nad kogu tüüpilise tarkvara ja paigutasid kõikjale erinevaid prügimägesid, räsifaile jne. Kõik on nagu filmides. Seal olid muuhulgas kaustad nimega suletud ümbris*** ja avatud ümbris***
Edasiliikumiseks peavad mängijad taastama varukoopiafailidest vihjed.

Siinkohal tuleb öelda, et alguses anti mängijatele üsna vähe teavet ja nad said enamiku andmetest (nt IP, sisselogimised ja paroolid) ülesande käigus, leides vihjeid varukoopiatest või masinatele laiali paisatud failidest. . Algselt asuvad varukoopiafailid Linuxi hoidlas, kuid serveris olev kaust ise on ühendatud lipuga noexec, nii et failide taastamise eest vastutav agent ei saa alustada.

Hoidla parandamisega saavad osalejad juurdepääsu kogu sisule ja saavad lõpuks kogu teabe taastada. Jääb üle mõista, milline see on. Ja selleks peavad nad lihtsalt uurima sellesse masinasse salvestatud faile, määrama, millised neist on "katkised" ja mida täpselt tuleb taastada.

Siinkohal nihkub stsenaarium üldistelt IT-teadmistelt Veeami spetsiifilistele funktsioonidele.

Selles konkreetses näites (kui teate failinime, kuid ei tea, kust seda otsida), peate kasutama Enterprise Manageri otsingufunktsiooni ja nii edasi. Selle tulemusena on mängijatel pärast kogu loogilise ahela taastamist veel üks login/parool ja nmap väljund. See toob need Windows Core'i serverisse ja RDP kaudu (nii et elu ei tunduks kallis).

Selle serveri põhiomadus: lihtsa skripti ja mitme sõnastiku abil moodustati absoluutselt mõttetu kaustade ja failide struktuur. Ja kui logite sisse, saate tervitussõnumi nagu "Siin plahvatas loogikapomm, nii et peate edasiste sammude jaoks vihjeid kokku panema."

Järgmine vihje jagati mitmeköiteliseks arhiiviks (40-50 tükki) ja jaotati juhuslikult nende kaustade vahel. Meie idee oli, et mängijad peaksid näitama oma andeid lihtsate PowerShelli skriptide kirjutamisel, et koostada tuntud maski abil mitmeköiteline arhiiv ja hankida vajalikud andmed. (Aga see tuli välja nagu selles naljas – osad katsealused osutusid füüsiliselt ebatavaliselt arenenuks.)

Arhiivis oli foto kassetist (kirjaga “Viimane õhtusöök – parimad hetked”), mis andis vihje ühendatud lindiraamatukogu kasutamisele, milles oli sarnase nimega kassett. Oli ainult üks probleem – see osutus nii töökõlbmatuks, et seda isegi ei kataloogitud. Siit sai alguse ülesande ilmselt kõige raskem osa. Kustutasime kassetilt päise, nii et sellest andmete taastamiseks peate lihtsalt "toored" plokid tühjendama ja neid hex-redaktoris läbi vaatama, et leida faili alustamise markereid.
Leiame markeri, vaatame nihet, korrutame ploki suurusega, lisame nihke ja proovime sisemise tööriista abil faili konkreetsest plokist taastada. Kui kõik on õigesti tehtud ja matemaatika on nõus, siis on mängijatel käes .wav fail.

Selles dikteeritakse muu hulgas häälegeneraatori abil binaarkood, mis laiendatakse teise IP-ks.

Selgub, et see on uus Windowsi server, kus kõik vihjab vajadusele kasutada Wiresharki, kuid seda pole seal. Peamine nipp seisneb selles, et sellele masinale on installitud kaks süsteemi - võrguühenduseta seadmehalduri kaudu lahutatakse ainult teise ketas ja loogiline ahel viib vajaduseni taaskäivitada. Siis selgub, et vaikimisi peaks käivituma hoopis teine ​​süsteem, kuhu Wireshark on installitud. Ja kogu selle aja olime teiseses OS-is.

Siin pole vaja midagi erilist teha, lihtsalt lubage jäädvustamine ühel liidesel. Prügimäe suhteliselt põhjalikul uurimisel selgub abimasinast regulaarsete ajavahemike järel saadetud selgelt vasakukäeline pakett, mis sisaldab linki YouTube'i videole, kus mängijatel palutakse helistada teatud numbrile. Esimene helistaja kuuleb õnnitlusi esikoha puhul, ülejäänud saavad kutse HR-i (nali)).

Muide, oleme avatud tööpakkumised tehnilise toe inseneridele ja praktikantidele. Tere tulemast meeskonda!

Allikas: www.habr.com

Lisa kommentaar