Cyber-quest from the Veeam support team

This winter, specifically on one of the days between Christmas and New Year's, the Veeam support engineers were busy with quite unusual tasks: they were hunting for a group of hackers called “Veeamonymous.”

Cyber-quest from the Veeam support team

About how the team came up with and conducted a real-life quest at work, with tasks 'close to combat,' explained Kirill Stetsko, Escalation Engineer.

— Why did you even start this?

— About the same way people once invented Linux – just for fun, for their own enjoyment.

We wanted some action, and at the same time, we wanted to do something useful, something interesting. Plus, we needed to provide some emotional relief for the engineers from their daily work.

— Who suggested this? Whose idea was it?

— The idea was our manager Katya Egorova's, and then the concept and all further ideas were born from collective efforts. Initially, we thought of organizing a hackathon. But during the development of the concept, the idea grew into a quest; after all, a technical support engineer works in a different field than programming.

So, we invited friends, mates, and acquaintances; different people helped us with the concept – one person from T2 (the second line of support — editor's note), one person from T3, a couple of people from the SWAT team (the rapid response team for particularly urgent cases — editor's note). Everyone gathered, sat down, and tried to come up with tasks for our quest.

— It was very unexpected to learn about this because, as far as I know, usually quest mechanics are developed by scenario specialists. So not only did you handle such a complex thing, but also applied it to your work, to your professional field.

— Yes, we wanted to create not just entertainment, but to 'upgrade' the technical skills of the engineers. One of the goals in our department is knowledge sharing and training, and a quest like this is a great opportunity for people to 'touch' some new techniques in real life.

— How did you come up with the tasks?

— We organized a brainstorming session. We understood that we needed to create some technical challenges, while making them interesting and also imparting new knowledge.
Për shembull, menduam se njerëzit duhet të provojnë të analizojnë trafikun, të përdorin redaktorët hex, të bëjnë disa gjëra për Linux, disa gjëra pak më të thella që lidhen me produktet tona (Veeam Backup & Replication dhe të tjera).

Gjithashtu, një pjesë e rëndësishme ishte koncepti. Të fokusoheshim në temën e hakera, aksesin anonim dhe atmosferën e sekretit. Si simbol përzgjodhëm maskën e Guy Fawkes, ndërsa emri erdhi vetë — Veeamonymous.

«Në fillim ishte fjala»

Për të rritur interesin, vendosëm që para fillimit të ngjarjes të organizojmë një fushatë PR në temën e një enigme: ngjitëm postera me njoftimin në zyrën tonë. Disa ditë më vonë, fshehurazi nga të gjithë, i pikturuam ato me shërbim spray dhe lansuam një «dezinformim», duke thënë se disa sulmues kishin prishur posterat, madje dhe një foto me provë e bashkëngjitëm....

— Pra, ju e bëtë këtë, ekipi organizues?!

— Po, të premten, rreth orës 9, kur të gjithë kishin shkuar, ne dolëm dhe pikturuam me spray shkronjën «V» të gjelbër.) Shumë pjesëmarrës të enigmes as nuk kuptuan se kush e bëri – njerëzit na afroheshin dhe pyesnin kush e prishi posterin? Disa e morën shumë seriozisht këtë çështje dhe bënë një hetim të tërë lidhur me atë temë.

Për enigmat, ne shkruam dhe skedarë audio, «nxorëm» tinguj: për shembull, kur inxhinieri logon në sistemin tonë [prodhues CRM], ka një robot përgjegjës që thotë të gjitha llojet e frazave, numrave... Kështu që ne përbëmë fraza më të kuptueshme nga ato fjalë që ai kishte regjistruar, ndoshta pak të çoroditura – për shembull, na doli «No friends to help you» në skedarin audio.

IP-adresa, për shembull, ne e paraqisnim në kod binar, gjithçka, përsëri, me këtë numra [të shqiptuar nga roboti], shtonim çdo lloj zëri të frikshëm. Ne vetë xhiruam një video: në video kemi një person që qëndron me një kapuç të zi dhe me maskën e Guy Fawkes, por në të vërtetë aty nuk është një person, por tre, sepse dy qëndrojnë prapa dhe mbajnë një «sfond» prej deke:).

— Po, ju jeni përkushtuar, duhet thënë.

— Po, po, na fillmin tonën, ne filluam me detyrat tona teknike dhe më pas shkruam një histori letraro-lojërash mbi atë që supozohej të kishte ndodhur. Sipas skenarit, pjesëmarrësit gjuanin një grup hakerash të quajtur "Veeamonymous". Ideja ishte gjithashtu që ne të "thyenim murin e katërt", dmth, të shpërngulnim ngjarjet në realitet – kështu që, p.sh., vizatonim me një sprajt.

Na ndihmoi një nga anglishtfolësit e departamentit tonë me përpunimin letrar të tekstit.

— Po prita, pse anglishtfolësi? A e bëtë gjithçka edhe në anglisht?!

— Po, ne e zhvilluam për zyrat e Shën Petersburgut dhe Bukharestit, kështu që gjithçka ishte në anglisht.

Për përvojën e parë, ne përpiqeshim të bënim që gjithçka të funksiononte thjesht, kështu që skenari ishte linear dhe mjaft i thjeshtë. Shtuam më shumë atmosferë: tekste sekrete, kode, imazhe.

Cyber-quest from the Veeam support team

Po ashtu përdorëm meme: kishte shumë imazhe mbi tema hetimesh, UFO, disa përralla të njohura të frikshme – disa ekipe madje u shpërqendruan dhe provuan të gjenin mesazhe të fshehura përmes njohurive të tyre në steganografi dhe çfarëdo tjetër… por, natyrisht, nuk kishte asgjë të tillë.

Për të pasur një ide

Megjithatë, gjatë përgatitjes ne u përballëm edhe me detyra të papritura për veten tonë.

Luftuam shumë mbi to dhe zgjidhëm shumë çështje që u shfaqën papritur, dhe diku një javë përpara kërkimit, menduam se gjithçka ishte humbur.

Ndoshta vlen të flasim pak për bazën teknike të kërkimit.

Gjithçka u realizua në laboratorin tonë të brendshëm ESXi. Kishim 6 ekipe, që do të thoshte se duhej të ndanim 6 grupe burimesh. Kështu që për secilën ekip, ne vendosëm një grup të veçantë me makinat virtuale të nevojshme (IP të njëjta). Por, sepse e gjithë kjo ishte në serverët që ndodheshin në një rrjet, konfigura aktuale e VLAN-eve tona nuk lejonte izollimin e makinave në grupe të ndryshme. Dhe, p.sh., gjatë provës testuese, përballeshim me situata ku makina nga një grup lidhej me një makinë nga një tjetër.

— Si e ndreqët situatën?

— Fillimisht menduam gjatë, testuam disa mundësi me lejet, VLAN të veçanta për makinat. Në fund, bëmë kështu — çdo ekip sheh vetëm serverin Veeam Backup, përmes të cilit ndodh e gjithë puna e mëtejshme, por nuk sheh grupin e fshehtë, ku ndodhen:

  • disa makina Windows
  • Windows core server
  • makinë me Linux
  • për çiftin VTL (Virtual Tape Library)

Çdo pool-i i është caktuar një grup i veçantë portesh në switch-in vDS dhe VLAN-i i tij privat. Kjo dyfish izolim është pikërisht ajo që nevojitet për të përjashtuar plotësisht mundësinë e ndërveprimit rrjetor.

Për guximtarët

— Të gjithë do të mund të merrnin pjesë në quest? Si u formuan ekipet?

— Ky ishte përvoja jonë e parë në organizimin e një eventi të tillë, dhe mundësitë e laboratorit tonë ishin të kufizuara në 6 ekipe.

Fillimisht, siç kam thënë, ne kemi realizuar një fushatë PR: duke përdorur posterë dhe dërgimin e email-eve, njoftuam se do të organizohej një quest. Madje patëm edhe disa pista - në posterë ishin të koduara frazat në kodin binar. Kështu, ne ngjallëm interesin e njerëzve, dhe ata vetë filluan të bisedonin me miqtë, duke bashkëpunuar. Si rezultat, pati më shumë të interesuar se sa kishim pula, kështu që u desh të kryejmë një seleksion: ne kemi menduar një detyrë testuese të thjeshtë dhe e kemi dërguar të gjithëve që u përgjigjën. Kjo ishte një problemin logjik që duhej të zgjidhej shpejt.

Në ekip, lejohej deri në 5 persona. Kapitani nuk ishte i nevojshëm, ideja ishte në kooperim, në komunikim mes tyre. Disa ishin të fortë në Linux, disa të tjerë ishin të fortë në tape (backup në banda), dhe çdo kush, duke parë detyrën, mund të kontribuonte në zgjidhjen e përbashkët. Të gjithë komunikonin mes tyre, dhe gjenin zgjidhjen.

Cyber-quest from the Veeam support team

— Në cilën çast filloi ky event? Kishit një 'orë X'?

— Po, kishim një ditë të caktuar, e seç e zgjodhëm në mënyrë që të kishte sa më pak ngarkesë në departament. Natyrisht, paraprakisht njoftuam liderët e ekipeve që këto ekipe ishin të ftuara për të marrë pjesë në quest, dhe ata duhej të jepnin disa lehtësira [në lidhje me ngarkesën] atë ditë. Sipas të gjitha gjerave, kjo duhej të ishte fundi i vitit, më 28 dhjetor, të premten. Kishim parashikuar të zgjaste rreth 5 orë, por të gjitha ekipet u përfunduan më shpejt.

— Të gjithë ishin në kushte të barabarta, të gjithë kishin të njëjtat detyra të bazuara në raste reale?

— Po, secili nga përbërësit mori histori nga përvoja personale. Për disa gjëra e dinim se diçka e tillë mund të ndodhte në realitet dhe ishte interesante që njeriu ta "prekte" atë, ta shikonte, ta kuptonte. Merrnim edhe disa gjëra më specifike — për shembull, rikuperimin e të dhënave nga kasetat e dëmtuara. Disa me sugjerime, por shumica e ekipeve u përballën vetë.

Ose duhej të aplikonim magjinë e skenarëve të shpejtë – për shembull, kishim një histori ku një "bombë logjike" "shkatërroi" një arkiv shumëvëllimësh në dosje të rastësishme në strukturë, dhe duhej të mbledhje të dhënat. Mund ta bësh këtë manualisht – duke i gjetur dhe kopjuar [skedarët] një nga një, apo mund të shkruash një skenar sipas një maske.

Në përgjithësi, ne tentonim të mbaheshim pas asaj pikëpamjeje se një detyrë mund të zgjidhet në mënyra të ndryshme. Për shembull, nëse je pak më me përvojë ose dëshiron të "pëshpërish" më shumë, mund ta zgjidhesh më shpejt, ndërsa ka një rrugë të drejtpërdrejtë për ta zgjidhur "ballë për ballë" – por kështu do të harxhosh më shumë kohë për detyrën. Pra, pothuajse çdo detyrë kishte disa variante zgjidhjeje, dhe ishte interesante se cilat rrugë do të zgjidhnin ekipet. Pra, nonlineariteti ishte pikërisht në zgjedhjen e variantit të zgjidhjes.

Nga ana tjetër, detyra më e vështirë doli të ishte ajo për Linux — vetëm një ekip e zgjidhi atë vetë, pa sugjerime.

— A mund të merrje sugjerime? Si në një aventurë të vërtetë??

— Po, mund të merrje, sepse ne e kuptonim se njerëzit janë të ndryshëm, dhe mund të ishin në një ekip ata që u mungonin disa njohuri, prandaj që kalimi të mos zgjaste dhe që interesi garues të mos humbiste, ne vendosëm që do të ishin sugjerime. Për këtë, pas çdo ekipi do të kishte një person nga organizatorët. Po ashtu, ne e vëzhgonim që askush të mos tradhtonte.

Cyber-quest from the Veeam support team

Rreth yjeve

— A kishte çmime për fituesit?

— Po, ne u përpoqëm të bënim çmime sa më të këndshme për të gjithë pjesëmarrësit, si dhe për fituesit: fituesit morën hunj dizajni me logon Veeam dhe një frazë të koduar në kodin 16-çifror, ngjyrë e zezë). Të gjithë pjesëmarrësit morën një maskë të Guy Fawkes dhe një çantë markë me logon dhe të njëjtin kod.

— Pra, gjithçka e kishit si në një aventurë të vërtetë!

— Po, ne dëshiruam të bënim një gjë të shkallës së lartë dhe më duket se ia dolëm.

— Po, ashtu është! Cila ishte reagimi përfundimtar i atyre që morën pjesë në këtë aventurë? A arritët qëllimet tuaja?

— Po, shumë prej tyre më vonë erdhën dhe thanë se kishin vënë re dobësitë e tyre dhe dëshironin t'i përmirësonin ato. Disa nuk kanë më frikë nga disa teknologji – për shembull, nga dalja e informacionit nga blloqet dhe përpjekja për të nxjerrë diçka atje... Disa kuptuan se duhej të përmirësonin njohuritë në Linux, etj. Ne u përpoqëm të ofronim një gamë të gjerë detyrash, por jo krejtësisht banale.

Cyber-quest from the Veeam support team
Ekipi i fituesve

«Kush dëshiron, arrin!»

— Kjo kërkoi shumë përpjekje nga ata që përgatitën aventurën?

— Po, në përgjithësi, kërkoi. Por kjo ishte kryesisht për shkak se ne nuk kishim asnjë përvojë në përgatitjen e aventurave të tilla, të tillë lloji infrastrukturash. (Duhet të sqarojmë se kjo nuk ishte infrastruktura jonë reale – thjesht duhej të bënte disa funksione lojëra.)

Për ne, ishte një përvojë shumë interesante. Në fillim isha skeptik, sepse ideja më dukej tepër ambicioze, mendoja se do të ishte shumë e vështirë për t'u zbatuar. Por filluam të punojmë, të angazhohemi dhe në fund ia dolëm. Dhe kaloi edhe pothuajse pa pengesa.

Në përgjithësi, ne e kaluam 3 muaj. Kryesisht, ne po mendonim konceptin, diskutonim se çfarë mund të realizonim. Gjatë procesit, natyrisht, disa gjëra ndryshonin, sepse kuptonim se për disa gjëra nuk kishim mundësi teknike për t'i realizuar. Duhej të rindërtonim disa elemente në ecje, por pa prishur tërë kanavacën, historinë dhe logjikën. Po përpiqeshim të ofronim diçka më shumë se një listë detyrash teknike, në mënyrë që të lidhej me historinë, të ishte koherente dhe logjike. Pjesa kryesore e punës kishte ndodhur muajin e fundit, përkatësisht 3-4 javët para datës X.

— Pra, ju po ndanit kohë për përgatitje përveç aktiviteteve tuaja kryesore?

— Po, këtë e bëmë paralelisht me punën e zakonshme, po.

— A ju kërkojnë edhe të organizoni diçka të tillë përsëri?

— Po, kemi shumë kërkesa për ta përsëritur.

— Dhe ju, çfarë thoni?

Kemi disa ide të reja, koncepte të reja, duam të tërheqim më shumë njerëz dhe ta shtrijmë këtë në kohë – si procesin e përzgjedhjes ashtu edhe procesin e lojës. Në tërësi, frymëzohemi nga projekti "Cikada", mund ta kërkoni – është një temë shumë interesante teknologjike, aty ndodhen njerëz nga e gjithë bota, hapin tema në Reddit, në forume, përdorin përkthime kodesh dhe zgjidhin enigmat, dhe shumë gjëra të tjera.

Ideja ishte fantastike, thjesht respekt për idenë dhe realizimin, sepse kjo vërtetë ka vlerë të madhe. Me sinqeritet, u uroj që të mos e humbni këtë frymëzim, që të gjitha projektet tuaja të reja të jenë po aq të suksesshme. Faleminderit!

Cyber-quest from the Veeam support team

A është e mundur të shohim një shembull të një detyre që ju me siguri nuk do ta ripërdorni?

Dyshoj se ne do të ripërdorim ndonjë detyrë. Prandaj mund të flas për zhvillimin e gjithë aventurës.

Kënga bonusNë fillim, lojtarët kanë emrin e makinës virtuale dhe kredencialet për vCenter. Pasi të bëjnë login, ata e shohin këtë makinë, por ajo nuk ndizet. Këtu duhet të kuptojnë se diçka nuk shkon me skedarin .vmx. Pasi ta shkarkojnë, ata shohin një sugjerim të nevojshëm për hapin e dytë. Në thelb, aty shkruhet se baza që përdoret për Veeam Backup & Replication është e enkriptuar.
Duke hequr sugjerimin, duke ngarkuar sërish skedarin .vmx dhe duke nxjerrë me sukses makinën, ata shohin se në një nga disqet e saj ndodhet një bazë e enkriptuar në base64. Prandaj, detyra është të dekriptojnë atë dhe të marrin një server Veeam funksional.

Për pak rreth makinës virtuale në të cilën ndodh gjithçka. Siç e kujtojmë, sipas historisë, protagonista i aventurës është një personazh mjaft i errët dhe merret me diçka qartë jo shumë ligjore. Prandaj, kompjuteri i tij duhet të ketë një pamje të mirë hacker-i, të cilën duhej ta krijonim ne, pavarësisht se është Windows. E para ishte shtuar një masë e madhe scenografike, si informacion për thyerje të mëdha, sulme DDoS dhe të ngjashme. Pastaj instaluam lloje të ndryshme software-i dhe shpërndamë kudo skeda të ndryshme, skedarë me hash-e të tjerë, etj. Si në filma. Ndër të tjera, aty ishin dosjet të emëruara sipas parimit closed-case*** dhe open-case***.
Për të avancuar më tej, lojtarët duhet të rikthejnë sugjerimet nga skedarët në kopjet rezervë.

Këtu duhet të theksohet se në fillim lojtarët merrnin disa informacionet e kufizuara, dhe shumica e të dhënave (si IP, emrat e përdoruesve dhe fjalët kalim) i merrnin gjatë misionit, duke gjetur pista në backup ose skedarë të shpërndarë në makina. Fillimisht, skedarët e backup-it ndodhen në një depozitë Linux, por vetë dosja është сервере e montuar (mounted) me flamurin noexec, prandaj agjenti përgjegjës për rikuperimin e skedarëve nuk mund të fillojë.

Pasi të rregullohet depozita, pjesëmarrësit fitojnë akses në të gjithë përmbajtjen dhe më në fund mund të rikuperojnë çdo informacion. Një tjetër pyetje mbetet: çfarë lloj informacioni? Dhe për këtë, ata pikërisht duhet të studiojnë skedarët e ruajtur në këtë makinë, të përcaktojnë se cili prej tyre është 'i prishur' dhe çfarë saktësisht duhet rikuperuar.

Në këtë fazë, skenari largohet nga njohuritë e përgjithshme IT në funksionet specifike të Veeam.

Në këtë rast specifik (kur di emrin e skedarit, por nuk e di ku ta kërkosh) duhet të përdoret funksioni i kërkimit në Enterprise Manager, etj. Në fund, pasi të rikuperohet e gjithë zinxhiri logjik, lojtarët kanë në duar një tjetër emër përdoruesi/fjalë kalimi dhe rezultatin e nmap. Kjo i çon ata në një server Windows Core, ndonëse përmes RDP (për ta bërë jetën më të vështirë).

Tipari kryesor i këtij serveri: me ndihmën e një skripti të thjeshtë dhe disa fjalorëve, është formuar një strukturë krejtësisht pa kuptim për dosje dhe skedarë. Kur lidhen, ata marrin një mesazh mirëseardhjeje të tipit 'Këtu shpërtheu një bombë logjike, prandaj duhet të mbledhni pista për hapat e ardhshëm pjesë pjesë'.

Pista tjetër ishte e ndarë në një arkiv multifolik (rreth 40-50 copë) dhe ishte shpërndarë rastësisht në këto dosje. Ideja jonë ishte që lojtarët duhet të shfaqin talente të tyre në shkruajtjen e skripteve të vogla PowerShell, për të mbledhur një arkiv multifolik sipas një modeli të njohur dhe për të marrë të dhënat e kërkuara. (Por rezultati ishte si në atë anekdotë - një pjesë e subjekteve u gjetën jashtëzakonisht të zhvilluara fizikisht.)

Në arkiv ishte një foto e kasetës (me mbishkrim "Last Supper — Best Moments"), që sugjeronte përdorimin e bibliotekës me kasetë, ku ishte një kasetë me një emër të ngjashëm. Por kishte një problem — ajo ishte kaq jo-funksionale, saqë nuk katalogizohej as. Këtu fillonte, ndoshta, pjesa më e ashpër e aventurës. Ne fshihëm titullin e kasetës, kështu që për të rikuperuar të dhënat prej saj, duhej thjesht të shqyhen blloqet "e papërpunuara" (raw) dhe të shqyrtohen në një editor hex për të gjetur shenjat e fillimit të skedarëve.
Gjejmë shenjën, shikojmë offset-in, shumëzojmë bllokun me madhësinë e tij, i shtojmë offset-in dhe me anë të një mjeti të brendshëm përpiqemi të rikthejmë skedarin nga një bllok i caktuar. Nëse gjithçka është bërë siç duhet dhe matematika përputhet, atëherë lojtarët kanë në duar një skedar .wav.

Në të, me ndihmën e një gjeneratori zëri, përveç të tjerash, është regjistruar një kod binar, i cili zbulohet në një IP tjetër.

Kjo, duket, është një server i ri Windows, ku gjithçka sugjeron nevojën për të përdorur Wireshark, por atje nuk ka një. Fokus kryesor është se në këtë makinë janë instaluar dy sisteme — vetëm disku me të dytin është shkëputur përmes menaxherit të pajisjeve offline, dhe zinxhiri logjik çon në nevojën për një rinisje. Pasi bëhet kjo, rezulton se për default duhet të ngarkohet një sistem krejt tjetër, ku është instaluar Wireshark. Dhe ne gjithnjë kemi qenë në OS-në dytësore.

Këtu nuk ka shumë për të bërë, mjafton të aktivizosh kapjen në një ndërfaqe. Me një vëzhgim relativisht të kujdesshëm të dump-it, vërehet një paketë të dukshme që dërgohet nga makina ndihmëse në intervale të barabarta, në të cilën ndodhet një lidhje për një video në youtube, ku lojtarët kërkohen të telefonojnë një numër të caktuar. I pari që telefonon dëgjon një urim për vendin e parë, të tjerët — një ftesë në HR (shaka)).

Nga ana tjetër, ne kemi të hapura pozita të lira për inxhinierë mbështetje teknike dhe për praktikantë. Mirë se vini në ekip!

Burimi: habr.com

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster