Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

For et par dager siden fullførte vi en av de mest følelsesladede hendelsene som vi har vært så heldige å arrangere som en del av bloggen – et online hackerspill med serverødeleggelse.

Resultatene overgikk alle våre forventninger: Deltakerne deltok ikke bare, men organiserte seg raskt i et godt koordinert fellesskap på 620 personer på Discord, som bokstavelig talt tok søket med storm på to dager uten en pause for å sove.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren
Og slik endte det:

Hvordan startet det hele og hva handler det om?

Spillet startet 12. august da vi la ut på bloggen post med en video der en hacker i form av en hodeskalle tilbyr å spille et spill, ødelegge serveren, forårsake kortslutning i rommet (vel, eller en minibrann) og ta de resterende pengene i makuleringsmaskinen.

Det var et nettoppdrag: vi lanserte en YouTube-sending fra et rom som var fylt med iot-enheter, en server under sengen (som måtte ødelegges), og et akvarium ble festet over serveren og en vekt hang over den. For å gjøre spillet mer actionfylt, bestemte vi oss for å lage et premiefond på 200 000 rubler, som vi lastet inn i makuleringsmaskinen og satte den til å slå seg på hvert 60. minutt. Hver time spiste makuleringsmaskinen 1000 rubler - jo før spillerne stoppet det, jo mer penger ville de vinne.

Å bygge dette oppdraget var et oppdrag i seg selv - vi måtte bare spise mat og sove flere timer om dagen rett i samme rom. Men det mest fantastiske var å se tankeflukten til spillerne og deres følelsesmessige innvirkning i prosessen.

For å være ærlig, oppfinnsomheten til spillerne i å løse gåtene oversteg vår beskjedne idé mange ganger: hvert ledig minutt leste vi discord-chatten og i noen tilfeller bokstavelig talt gråt av latter, for å finne ut hva spillerne gjorde og hvordan de spøkte i prosessen.

7 personer jobbet utrettelig med prosjektet: en backender, en maskinvarespesialist, en ekte filmprodusent, en CG-designer og to ideologiske medprodusenter.

Vi vil fortelle deg i de følgende innleggene nøyaktig hvordan oppdraget ble implementert fra et teknisk synspunkt, men foreløpig vil jeg fortelle deg løsningen: nøyaktig hvordan det var nødvendig å hacke dette rommet på sendingen. La oss samtidig huske kronologien til hendelsene, så vel som alle de gale Illuminati-teoriene fra discord-chatten, og det er det.

Hva hadde spillerne i begynnelsen av spillet?

Alle gjenstandene i rommet ble delt inn i tre kategorier:

  • Enkel å bruke, ikke-gaming iot-enheter
  • Spillenheter for å fullføre oppdraget
  • Entourage

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Vi plasserte 8 svært enkle å administrere elementer: to lamper, en krans, fem FALCON-bokstaver, som hver kunne endres i farge. Alt dette kunne slås på/av direkte fra nettsiden og umiddelbart se resultatet på sendingen - vi gjorde dem spesifikt tilgjengelige for alle spillere, uavhengig av deres tekniske kunnskapsnivå.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren
Alt som rett og slett var inkludert fra siden

Av de viktige spillelementene som var nødvendig for å fullføre oppdraget, og som ikke var så lett å få tilgang til:

  1. Server med åpent lokk og akvarium over
  2. Vekten suspendert for å knekke et akvarium
  3. Megatron 3000 - en kraftig laserpeker rettet mot tauet som holder vekten
  4. En kraftig vifte som startet når serveren var under belastning
  5. Flippovertavle som påloggingsinformasjon og passord for Megatron ble skrevet på
  6. En telefon du kan ringe og se anropet ditt live
  7. Makuleringsmaskinen som spiste 1000-rubelsedler i timen

Hvordan ble oppdraget løst?

Jeg vil si med en gang: kisten åpnet seg ganske enkelt.

Målet med spillet var å stoppe makuleringsmaskinen ved å forårsake kortslutning i rommet. For å gjøre dette var det nødvendig å bryte akvariet ved å kaste en vekt inn i det og fylle serveren med vann. Vekten ble holdt på en snor som Megatron siktet mot. Ved å ta kontroll over Megatron kunne tauet kuttes. Dette ble gjort i 5 enkle trinn:

Trinn 1. Last inn serveren i rommet

For eksempel å sende pakker med en kommando.

ab -r -n 10000 -c 100 -s 280 -l https://ws.ooosokol.ru/captcha

Hintet var veldig lastende captchaPrislisteside.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren
Den samme captchaen som måtte angripes

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Når serveren ble lastet, økte temperaturen og dette kunne overvåkes på overvåkingssystemet åpnet rett foran kameraet. Deretter skrudde viften seg på, som åpnet et lysgardin på flippoveren. Deretter åpnet login og passord for tilgang til Megatrons side, skrevet på tavlen.

Og selve Megatron-administrasjonssiden kunne bli funnet ved å sjekke alle sertifikatene som er utstedt for domenet ooosokol.ru.

På et underdomene megatron.ooosokol.ru det var en Megatron-kontrollside. Men den åpnet ikke før Megatron ble forsynt med primærstrøm.

Spillerne gikk gjennom alle disse stadiene nesten umiddelbart i kommentarene til sendingen på YouTube. Da ble oppgavene mer kompliserte og spillerne opprettet RUVDS Hack Room discord-serveren og fortsatte diskusjonen der.

Trinn 2: Bruk primærkraft til Megatron

Alle smartenheter kontrollert fra siden (de samme lampene som spillere skrudde av og på uten å stoppe) hadde sine egne identifikatorer.

For å levere primærstrøm til Megatron og samtidig belyse den, var det nødvendig å finne og slå på en skjult enhet på kontoradministrasjonssiden.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

For å gjøre dette, måtte du se på enhetsidentifikatorene og legge merke til at det er 4 enheter totalt, men bare 3 er tilgjengelige på nettstedet.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Da den fjerde enheten ble slått på, ble Megatron-siden tilgjengelig og selve laseren ble uthevet. Men samtidig var det umulig å skyte laser, og det side Det var en melding om at laseren ennå ikke var tilgjengelig og et hint: det var en trafikkork på kontoret, du må ringe administrasjonsselskapet og be om strøm.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren
Hint om forvaltningsselskapet

3. Ring administrasjonsselskapet og be om å slå på Megatrons strøm

Ifølge ENT kunne ikke Megatron skyte fordi trafikkorkene på kontoret ble slått ut. Bare forvaltningsselskapet kunne slå på strømmen igjen, som måtte kontaktes og identifiseres som eieren av LLC.

Det var enkelt å finne forvaltningsselskapsnummeret - vi satte det direkte inn i bunnteksten.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Men identifiseringen var mye vanskeligere.

Da han ringte nummeret +74991130688, tok en kvinnelig operatør telefonen og spurte med en kjedelig stemme om selskapets INN og det fulle navnet på eieren. Uten dette nektet hun å skru på strømmen og forklarte dette med at hun er et ordinært outsourcet kontrollrom, de har 2000 klienter og kontorer, og uten denne informasjonen er det rett og slett umulig å finne den de trenger.

Dette viste seg å være den vanskeligste etappen for spillerne. Det tok nesten to dager å finne riktig TIN og fullt navn på eieren, og jeg (representert av kontrollromsoperatøren) mottok mer enn 400 oppringninger i løpet av denne tiden. Telefonen ringte hvert 2-3 minutt.

Gutta gravde så godt de kunne. Alt ble brukt: de fjernet nettstedets kildekode, googlet nettstedets eier, Sokolov, og søkte gjennom sosiale nettverk.

De lette etter skatteidentifikasjonsnummer for forskjellige selskaper
Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren
Nesten komplett søkeskjema

På et tidspunkt ringte de til og med med et forfalsket nummer - som om de ringte fra kontoret til Sokol-selskapet som er oppført i bunnteksten.

Så fikk vi vite hvor mange selskaper som heter Sokol. Nesten alle disse selskapene mottok anrop fra spillere, men dette var ingenting sammenlignet med det nettstedet opplevde lasermasters.ru, som vi faktisk kjøpte den samme Megatron fra for omtrent en måned siden.

Først angrep uenigheten Lasersmasters-støtten.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Da kunne vi finne noens konto der! Mens støtten til Lasermasters allerede har sluttet å spare på uttrykk.

Forsiktig, hold barn unna skjermen
Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren
Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Til slutt bestemte Lasermasters seg for å bare irritere dem og siden deres krasjet. Akkurat som vi klarte å legge ned Sokol-området, selv om vi raskt hevet det.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Under etterforskningen fant gutta fra uenigheten til og med en skuespiller, hvis bilde vi kjøpte fra aksjer, slik at han skulle spille rollen som hovedantagonisten, eieren av LLC Andrei Sokolov. Det viste seg at han heter Yuri og han har absolutt ingen anelse om hva slags rot han havnet i.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren
Andrey Sokolov, spillkarakter

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren
Yuri, modell

Hvis han bare visste hvordan han tvang 600 mennesker til å ikke sove på to dager...)

Så begynte de å grave spesifikt for meg, som arrangør av oppdraget (som godt kunne endt med suksess hvis gutta hadde gjettet å hacke arbeidskanalene mine).

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Jeg ble til og med litt bekymret da de navnga patronymet mitt og til og med skattebetalerens identifikasjonsnummer. Men det var lettet da jeg, mens den skadede telefonen fungerte, plutselig hadde en eldre bror, som plutselig viste seg å være Habrs tekniske direktør.

Min kjære bror, som også led
Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

I mellomtiden ble gjetningene mer og mer utrolige
Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Og det kom til Illuminati-teorier.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

De saftigste konspirasjonsteoriene gjaldt SpongeBob, Harry Potter og blinkingen av den kinesiske diodekransen som vi plasserte inne i systemenheten.

Hvor er SpongeBob og Harry Potter fra, sier du? Vi la adressene deres på Sokols kontaktside og dette ga opphav til mye spekulasjoner i discord-miljøet. Selv om vi bare ville hylle favorittverkene våre i barndommen.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren
Samme referanse på siden "kontakter"

Og som et resultat

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren
Det viste seg at det virkelig er SpongeBob-dokumenter i serien. De ble kalt som TIN

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

En av de mest komplekse teoriene var at den blinkende kinesiske kransen inneholdt en melding i morsekode.

Flimringen ble registrert og forsøkt dechiffrert
Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

En enklere teori er at gutta prøvde å finne ut om ledetråden var skjult i kortene.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Underveis ble vi sammenlignet med Cicada 3301 — en ufortjent høy vurdering, men likevel hyggelig.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Spillere prøvde sosial ingeniørkunst med all kraft. De ringte meg under dekke av FSB, brannmenn, Sokolov selv, hans ekskone og sikkerhetsvakten som angivelig sitter nede. De sa at det hadde startet en brann, at noen satt fast i heisen, og den mest hjerteskjærende historien var at hunden til den som ringte visstnok satt på kontoret, oppslukt av brann.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren
Det var også forsøk på bestikkelser

Sakte begynte mine egne memer å dukke opp i chatten.

Her er et par
Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

I mellomtiden sto fabrikkene uvirksomme
Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

hjelpe

Det ble mindre og mindre penger i makuleringsmaskinen. For at vinneren i det minste får noe, bestemte vi oss for å gi et hint. Samtidig, følg reglene for spilldesign, øke spenningen rett før finalen.

Skille post Vi la ut en video på bloggen. I begynnelsen ble et stykke fra Fight Club satt inn som en referanse til Tyler Durden, som tenkte på å sette inn den 25. rammen i filmer mens han jobbet på kino.

Vi bestemte oss for å bruke den samme mekanikken og la inn et hint på den 25. rammen om hvordan til Google riktig TIN og fullt navn på eier.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren
Etter det skjønte gutta det veldig raskt

Trinn 4. Skyt en laser i ikke-kampmodus

Da strøm ble levert av administrasjonsselskapet og etter at pluggene ble slått på, skrudde Megatron seg på og kunne fyre i testmodus. Et token for et testskudd er allerede satt inn i inndataskjemaet.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren
Hvert 25. sekund ble det generert et nytt token, dette kan brukes til å slå på laseren i 10 sekunder ved 10/255 strøm

Deretter avkjølte laseren i 1 minutt og var i løpet av dette minuttet utilgjengelig og godtok ikke nye forespørsler om et skudd.

Denne kraften var helt utilstrekkelig til å brenne gjennom tauet, men enhver spiller kunne skyte fra Megatron og se laserstrålen i aksjon.

Samfunnets reaksjon var mer enn kraftig
Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Men alle slo seg raskt til ro og skjønte at dette ikke var slutt på spillet.
Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Så begynte samfunnet å finne ut hvordan de skulle starte kampmodus

brainstorm
Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren
Det er forfalskninger på splid

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren
Vi visste ikke at det sto noe på bordbeinet på sendingen

Fellesskapet har kommet til trinn 4. Forstå hvordan tokens genereres: finn kjernen og generer et token som slår på laseren i kampmodus

Megatrons kampmodus er 100 % laserkraft på 3 watt. Dette er nok i 2 minutter til å brenne gjennom tauet som holdt vekten, knuse akvariet og oversvømme serveren med vann.

Vi har lagt igjen noen tips prosjekt github: nemlig tokengenereringskoden, hvorfra man kunne forstå at test- og kampsymbolene genereres basert på samme tellerindikator. Når det gjelder en kampbrikke, brukes i tillegg til tellerverdien også et salt, som er nesten helt igjen i historien om å endre denne hovedsaken, med unntak av de to siste karakterene.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren
Som alle raskt gjettet, var det 42

I kommentarene til hovedsaken var det en korrespondanse mellom Andrey Sokolov og utvikleren ("klok utvikler," som gutta fra discord kalte ham).

I korrespondansen sendte Andrey et av kampsymbolene, og utvikleren svarte at dette tokenet ble initialisert med en tellerverdi på 42.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Når du kjenner disse dataene, var det mulig å sortere gjennom de to siste symbolene i saltet og faktisk finne ut at tallene fra Lost, konvertert til det heksadesimale systemet, ble brukt for det.

Deretter måtte spillerne fange tellerverdien (ved å analysere testtokenet) og generere et kamptoken ved å bruke neste tellerverdi og saltet valgt i forrige trinn.

Telleren økte ganske enkelt for hvert testskudd og hvert 25. sekund. Vi skrev ikke om dette noe sted, det skulle være en liten spilloverraskelse. Gutta skjønte det veldig raskt og lanserte megatronen i kampmodus.

Trinn 5. Laserbrenn tauet


Hvordan det var

Alt er enkelt her. Å sende et kamptoken ville gjøre laseren til kampmodus, og rommet ville endre seg og gå inn i "katastrofemodus", som vi kalte det i det generelle scenariet:

  • Alle lysene i rommet slo seg av
  • Knapper for iot-enheter på nettstedet ble utilgjengelige
  • Blinkende lys og sirenelyd
  • Den røde vekten ble opplyst
  • En nedtelling begynte på TV-skjermen til laseren ble lansert i kampmodus.

Vi ga nedtellingen halvannen time slik at alle som spilte fikk tid til å slå på sendingen og se finalen. Og med god grunn: mens jeg ventet med tilbakeholdt pust på lyden av støt og knusende glass fra neste rom, begynte hele teamet som bygde oppdraget, uten å si et ord, å gå til basen for å se slutten med deres egne øyne. De bare løp inn i rommet og begynte å klemme.

I mellomtiden på splid
Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Etter at nedtellingen var over, gikk laseren i aksjon og brant seg gjennom tauet i løpet av to minutter - vekten fløy rett inn i akvariet. Før sammenstøtet skrek en gal kapybara på skjermen og løftet småpotene i panikk.

Siden hele laget var samlet der, sendte vi en liten melding til alle som kjempet for finalen i to dager på splid og gikk for å åpne champagnen:

Hvordan beregnet vi tidspunktet for lanseringen av reklamevideoer og vektens flukt?

Etter et dusin tester med å brenne et tau med laser, innså vi at dette er en veldig upålitelig design - det halvbrente tauet blir tynnere, under vekten av vekten det strekker seg, endrer plassering, og laseren kan ikke lenger skjære gjennom. det helt.

Derfor tok vi en annen vei: vi dupliserte utbrentheten ved å pakke tauet med nikromtråd. En strøm ble ført gjennom tråden, den ble rødglødende og brant gjennom tauet på omtrent 2 sekunder - dette ga oss en nøyaktig forståelse av når vi skulle slå på den skrikende kapybaraen, stoppe starttimeren og starte reklamen:

Hva fungerte ikke for oss?

Til slutt skulle tykk røyk komme ut av systemenheten, som i en brann - vi forberedte røykbomber, tente dem på samme måte, men av en eller annen grunn fungerte de ikke (sannsynligvis på grunn av vann).

Hvem er vinneren?

Kom ut som vinneren Arkady Alekseev fra St. Petersburg - han var den første som genererte et testtoken og vant de resterende pengene i makuleringsmaskinen på 134 000 rubler.

Et kort intervju med Arkady.

Fortell oss om deg selv, hva gjør du på jobben?

Jeg er sikkerhetsspesialist av utdannelse, uteksaminert fra BIT ved ITMO. Jeg jobber som en outsourcet full stack webutvikler. På skolen konkurrerte jeg i konkurranser, blant annet i programmering og matematikk.

Hvordan fant du ut om spillet?

Jeg dro til Habr bare for å lese, så artikkelen og ble interessert.

Hvor mange timer spilte du da du ble med?

Jeg ble med på kvelden den dagen artikkelen ble publisert (dvs. en dag før slutt). Jeg brukte kvelden og en god del av dagen etter.

Hva likte du og hva likte du ikke?

Generelt likte jeg alt (selvfølgelig vant jeg)), men jeg var litt nervøs for samtalene. Vel, liksom, å ringe og sjekke hver versjon var liksom ikke veldig bra, i det minste var det vanskelig - jeg forsto at det fortsatt var flere dusin av dem som ringte, halvparten av dem spøkte og prøvde å engasjere seg i sosial ingeniørkunst.

Hvordan fant du ut hvordan du finner kampsymbolet til Megatron?

Da jeg kom inn, hadde de allerede spammet serveren, stukket lyspærer, funnet passordet til laseradminpanelet, alle slags underdomener og sider.

Det var også enkelt å finne en profil på Github og en kjerne med kommentarer. Derfra er prosessen med å generere et token og en hemmelighet for det åpenbar. I slike oppdrag er det ikke nødvendig å finne opp mye, IMHO, siden du kan drukne i en haug med alternativer for utvikling av hendelser; og følgelig må du følge med på hvor skaperen av oppdraget presser deg.

Tatt i betraktning de gjenværende underdomenene og teststedet på tilde, var det klart at etter å ha slått på laseren, ville det være nødvendig å velge et token. Følgelig skisserte jeg samme kveld en omtrentlig forespørsel om å slå på laseren (basert på 4 tilgjengelige skjemaer: 1 på arbeidsstedet og 3 på testen/den gamle) og prøvde å brute med arbeidssymboler fra 42 (vel, for tosken - plutselig er alt allerede der aktivert, og siden med sending av token vil ganske enkelt bli åpnet etter TIN og fullt navn).

Jeg er ikke sikker på at forespørselen var riktig, siden det ikke var tid til å sjekke (det var tross alt bare mulig å sjekke at laseren var slått på), men jeg forberedte meg på forhånd for søket etter tokenet.

Det var også åpenbar logikk med websockets og enhetsadministrasjon i app.js-filen. Det var et dristig hint om en a9-enhet når den sendte strøm: sann som stikkontakten krasjet. Jeg prøvde å sende alt til det - du vet aldri, det kan være en ekstra enhet for å løse TIN, men uten å lykkes.

Så søkte jeg i resten av ID-filene ved siden av de ti, men det var en ukjent enhet overalt. Jeg prøvde også å google alt mulig, klatre videre [e-postbeskyttet], sendte alt i skjemaet på prislistesiden, gravde litt med lasermastere, men alt uten hell. Dagen etter satt jeg i chatten og googlet alt mulig, så kom stego-emnet opp og jeg rådførte meg med stegosolve-personen for bilder og gifs (men jeg forsto mentalt at 99% av tiden var det ingenting der, siden det ville være for mye + en motsetning med hovedoppdragslinjen).

Men til slutt satt jeg også og gravde gjennom alle bildene og gifene i et par timer. Jeg ringte et par ganger til med forskjellige TIN-alternativer, men det fungerte ikke. Så bestemte jeg meg for å gi opp, men de la ut et hint der - og det ble klart at skattebetaleridentifikasjonsnummeret (TIN) ville bli funnet i nær fremtid, og det var det som skjedde. Så sendte enten jeg eller noen andre (det er ikke åpenbart) strøm: tro mot a9-enheten og laseren begynte å fungere, selv om det kanskje ikke var noen forbindelse og den begynte å fungere etter TIN-en. Generelt gikk jeg inn i administrasjonspanelet til laseren og ble ganske overrasket, siden serveren selv sendte tokenet (og jeg forberedte meg allerede på brute). Det ble tydelig at tokenet var en test, siden sendingen + sunn fornuft + jeg sjekket den.

Koden inneholdt logikken med å sende et fungerende token et sted som en varsling, men tilsynelatende enten var det feil kode eller det var nødvendig for andre deler av systemet. Jeg utarbeidet et skript for å få tak i gjeldende arbeidstoken fra den gjeldende testen og begynte å sitte på f5 og prøve å sende dem - det var problemer med dette, siden alle hele tiden pirket på send-knappen, og endret dermed tokenet hvis mulig. Siden krasjet siden, telleren ble tilbakestilt, men det er ikke poenget - etter en stund sendte jeg et fungerende token. I teorien var telleren 58 og токен был 449a776938f7ce4cf19f8603045dca0f på tidspunktet for aktivering, hvis jeg ikke tar feil. Det er alt.

Så ble jeg litt utbrent av kommentarer som "ja, dette er trivielt, men jeg var bare heldig." Vel, hvis du går til siden, tenk et minutt, skriv et manus i løpet av et par minutter, sjekk det - så ja, det er trivielt. Men jeg gjorde det på 10-20 sekunder, og så kunne jeg bare ikke sende tokenet på flere minutter.

Selvfølgelig kan du prøve å skrive logikk for å hente den og sende den automatisk, men det ville ta lengre tid og være en stor risiko, pluss at skyen sannsynligvis ville begynne å banne. Det jeg var veldig heldig med var den aller siste etappen - noen få algoritmer for hastighet + reaksjonshastighet, dette er bare min. Hvis det hadde vært en oppgave direkte fra pentest, hadde jeg mest sannsynlig ikke blitt den første.

Men det er ikke over ennå

Jeg gleder meg til å fortelle deg om det fantastiske teamet som bygde dette rømningsrommet og alle de tekniske løsningene de kom opp med. Men dette innlegget har allerede vist seg å være for stort – så det kommer egne artikler om dette, så følg med og abonner på bloggen vår på Habré.

Hvem stoppet makuleringsmaskinen eller hvordan det var nødvendig å fullføre oppdraget med ødeleggelsen av serveren

Kilde: www.habr.com

Legg til en kommentar