Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Prije nekoliko dana završili smo jedan od najemotivno nabijenijih događaja koji smo imali sreće da ugostimo u sklopu bloga - online hakersku igru ​​sa uništavanjem servera.

Rezultati su nadmašili sva naša očekivanja: učesnici ne samo da su učestvovali, već su se brzo organizovali u dobro koordinisanu zajednicu od 620 ljudi na Discordu, koja je bukvalno zauzela potragu za dva dana bez pauze za spavanje.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera
I ovako se završilo:

Kako je sve počelo i o čemu se radi?

Utakmica je počela 12. avgusta kada smo objavili na blogu post sa video snimkom u kojem haker u obliku lubanje nudi da igra igru, uništi server, izazove kratak spoj u prostoriji (dobro, ili mini-požar) i uzme preostali novac u šrederu.

Bila je to online potraga: pokrenuli smo YouTube prijenos iz sobe koja je bila puna iot uređaja, servera ispod kreveta (koji je morao biti uništen), a iznad servera je fiksiran akvarijum i preko njega visi uteg. Kako bismo igru ​​učinili više akcije, odlučili smo da napravimo nagradni fond od 200 rubalja, koji smo ubacili u shredder i postavili da se uključuje svakih 000 minuta. Svaki sat šreder je pojeo 60 rubalja - što su ga igrači pre zaustavili, više bi novca osvojili.

Izgradnja ove misije bila je potraga za sebe - morali smo jesti samo hranu i spavati nekoliko sati dnevno u istoj prostoriji. Ali najnevjerovatnija stvar je bila promatranje leta misli igrača i njihovog emocionalnog utjecaja u procesu.

Iskreno govoreći, domišljatost igrača u rješavanju zagonetki višestruko je premašila našu skromnu ideju: svake slobodne minute čitali smo discord chat i u nekim slučajevima bukvalno plakali od smijeha, saznajući šta igrači rade i kako se šale. proces.

Na projektu je neumorno radilo 7 ljudi: backender, specijalista za hardver, pravi filmski producent, CG dizajner i dva ideološka koproducenta.

U narednim objavama ćemo vam reći kako je tačno implementirana potraga sa tehničke tačke gledišta, ali za sada ću vam reći rješenje: kako je tačno bilo potrebno hakovati ovu sobu na emitovanju. Ujedno, prisjetimo se hronologije događaja, kao i svih ludih iluminatskih teorija iz discord chata i to je to.

Šta su igrači imali na početku utakmice?

Svi objekti u prostoriji bili su podijeljeni u tri kategorije:

  • Jednostavni za korištenje, iot uređaji koji se ne igraju
  • Uređaji za igre za završetak misije
  • Entourage

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Postavili smo 8 vrlo jednostavnih elemenata: dvije lampe, jedan vijenac, pet FALCON slova, od kojih se svako može promijeniti u boji. Sve ovo se moglo uključiti/isključiti direktno sa web stranice i odmah vidjeti rezultat u prijenosu - posebno smo ih učinili dostupnim svim igračima, bez obzira na njihov nivo tehničke potkovanosti.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera
Sve što je jednostavno uključeno sa stranice

Od važnih elemenata igre koji su bili potrebni za završetak potrage, a pristup do kojih nije bilo lako dobiti:

  1. Server sa otvorenim poklopcem i akvarijumom iznad njega
  2. Teg suspendovan da razbije akvarijum
  3. Megatron 3000 - moćni laserski pokazivač usmjeren na uže koje drži težinu
  4. Snažan ventilator koji se pokrenuo kada je server bio pod opterećenjem
  5. Flipchart na kojem su ispisani login i lozinka za Megatron
  6. Telefon koji možete nazvati i vidjeti svoj poziv uživo
  7. Šreder koji je jeo novčanice od 1000 rubalja na sat

Kako je ta potraga riješena?

Odmah ću reći: kovčeg se otvorio sasvim jednostavno.

Cilj igre je bio zaustaviti drobilicu izazivanjem kratkog spoja u prostoriji. Da biste to učinili, bilo je potrebno razbiti akvarij bacanjem utega u njega i napuniti server vodom. Teg je držan na užetu u koji je ciljao Megatron. Preuzimanjem kontrole nad Megatronom, konopac bi mogao biti presečen. Ovo je urađeno u 5 jednostavnih koraka:

Korak 1. Učitajte server u sobu

Na primjer, slanje paketa naredbom.

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

Nagoveštaj je bio veoma težak captcha na Stranica cjenika.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera
Ista captcha koju je trebalo napasti

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Kada je server bio učitan, njegova temperatura se povećala i to se moglo pratiti na sistemu za nadzor koji je otvoren direktno ispred kamere. Zatim se ventilator uključio, što je otvorilo svjetlosnu zavjesu na flipčartu. Tada su se otvorili login i lozinka za pristup Megatronovoj stranici, ispisani na tabli.

A samu stranicu za upravljanje Megatronom možete pronaći provjerom svih certifikata izdatih za domenu ooosokol.ru.

Na poddomenu megatron.ooosokol.ru postojala je kontrolna stranica Megatrona. Ali nije se otvorio sve dok Megatron nije bio opskrbljen primarnom strujom.

Sve ove faze igrači su prošli gotovo odmah u komentarima prenosa na YouTube-u. Tada su zadaci postali složeniji i igrači su kreirali RUVDS Hack Room diskord server i tamo nastavili diskusiju.

Korak 2: Primijenite primarnu snagu na Megatron

Svi pametni uređaji kojima se upravlja sa stranice (iste lampe koje su igrači palili i gasili bez zaustavljanja) imali su svoje identifikatore.

Da bi se Megatron opskrbio primarnim napajanjem i istovremeno ga osvijetlio, bilo je potrebno pronaći i uključiti skriveni uređaj na stranici za upravljanje uredom.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Da biste to učinili, morali ste pogledati identifikatore uređaja i primijetiti da postoje ukupno 4 uređaja, ali samo 3 su dostupna na stranici.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Kada je uključen 4. uređaj, Megatron stranica je postala dostupna i sam laser je bio istaknut. Ali istovremeno je bilo nemoguće pucati laserom, i to stranica Pojavila se poruka da laser još nije dostupan i nagovještaj: u kancelariji je bila gužva, trebate nazvati kompaniju za upravljanje i zatražiti struju.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera
Nagoveštaj o kompaniji za upravljanje

3. Pozovite kompaniju za upravljanje i zatražite da uključi Megatron napajanje

Prema ORL-u, Megatron nije mogao da puca jer su u kancelariji nastale gužve u saobraćaju. Samo je kompanija za upravljanje mogla ponovo uključiti struju, koju je trebalo kontaktirati i identifikovati kao vlasnika LLC preduzeća.

Bilo je lako pronaći broj društva za upravljanje – ubacili smo ga direktno u podnožje.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ali identifikacija je bila mnogo teža.

Prilikom pozivanja na broj +74991130688, telefonsku slušalicu je podigla operaterka i dosadnim glasom tražila INN kompanije i puno ime vlasnika. Bez toga je odbila da uključi struju i to je obrazložila činjenicom da je ona obična eksterna kontrolna soba, imaju 2000 klijenata i kancelarija, a bez ovih podataka jednostavno je nemoguće pronaći onu koja im je potrebna.

Ispostavilo se da je ovo bila najteža etapa za igrače. Trebalo je skoro dva dana da se pronađe tačan PIB i puno ime vlasnika, a ja (koje zastupa operater kontrolne sobe) primio sam više od 400 poziva za to vrijeme. Telefon je zvonio svake 2-3 minute.

Momci su kopali najbolje što su mogli. Iskorišćeno je sve: uništili su izvorni kod sajta, proguglali vlasnika sajta Sokolova i pretražili po društvenim mrežama.

Tražili su poreske identifikacione brojeve različitih kompanija
Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera
Skoro kompletna šema pretraživanja

U jednom trenutku su čak zvali sa lažnim brojem - kao da su zvali iz ureda čete Sokol koji je naveden u podnožju.

Tada smo saznali koliko kompanija nosi ime Sokol. Skoro svaka od ovih kompanija dobila je pozive od igrača, ali to nije bilo ništa u poređenju sa onim što je stranica doživjela lasermasters.ru, od kojeg smo zapravo kupili taj isti Megatron prije otprilike mjesec dana.

Prvo, nesloga je napala podršku Lasersmastersa.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Onda smo tamo uspjeli pronaći nečiji račun! Dok je podrška Lasermasters-a već prestala da štedi na izrazima.

Oprez, držite djecu podalje od ekrana
Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera
Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Na kraju, Lasermasters su odlučili da ih samo iznerviraju i njihov sajt se srušio. Baš kao što smo uspjeli srušiti sokolsko mjesto, iako smo ga brzo podigli.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Tokom istrage, momci iz razdora su čak pronašli glumca, čiju smo fotografiju kupili na akcijama, kako bi on igrao ulogu glavnog antagoniste, vlasnika LLC preduzeća Andreja Sokolova. Ispostavilo se da se zove Jurij i da apsolutno nema pojma u kakvu je zbrku upao.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera
Andrej Sokolov, igrani lik

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera
Jurij, model

Da je samo znao kako je natjerao 600 ljudi da ne spavaju dva dana...)

Onda su počeli da kopaju specijalno za mene, kao organizatora potrage (koja bi se vrlo lako mogla završiti uspehom da su momci pogodili da mi hakuju kanale rada).

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Čak sam se malo zabrinuo kada su mi dali ime po patronimu, pa čak i matični broj poreskog obveznika. No, laknulo mi je kada sam, dok je oštećeni telefon radio, odjednom dobio starijeg brata, za kojeg se odjednom pokazalo da je tehnički direktor Habra.

Moj dragi brat, koji je takođe patio
Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

U međuvremenu, nagađanja su postajala sve nevjerovatnija
Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

I došlo je do iluminatskih teorija.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Najsočnije teorije zavjere ticale su se Sunđera Boba, Harryja Pottera i treptanja kineskog diodnog vijenca koji smo postavili unutar sistemske jedinice.

Odakle su Sunđer Bob i Hari Poter, kažete? Njihove adrese stavili smo na Sokolovu kontakt stranicu i to je izazvalo mnogo špekulacija u zajednici razdora. Iako smo samo hteli da odamo počast našim omiljenim radovima iz detinjstva.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera
Ista referenca na stranici "Kontakti"

I kao rezultat

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera
Ispostavilo se da u seriji zaista ima Sunđer Bobovih dokumenata. Zvali su se kao TIN

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Jedna od najsloženijih teorija bila je da trepćući kineski vijenac sadrži poruku Morzeovom azbukom.

Treperenje je snimljeno i pokušano da se dešifruje
Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Jednostavnija teorija je da su momci pokušali otkriti da li je trag sakriven u kartama.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Usput su nas upoređivali sa Cicada 3301 — nezasluženo visoka ocjena, ali ipak prijatna.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Igrači su svim silama pokušali društveni inženjering. Zvali su me pod krinkom FSB-a, vatrogasaca, samog Sokolova, njegove bivše supruge i čuvara koji navodno sjedi dole. Rekli su da je izbio požar, neko se zaglavio u liftu, a najsrceparajuća priča je da je pas pozivaoca navodno sjedio u kancelariji, zahvaćen vatrom.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera
Bilo je i pokušaja podmićivanja

Polako su se moji memovi počeli pojavljivati ​​u chatu.

Evo nekoliko
Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

U međuvremenu, fabrike su mirovale
Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Savet

U šrederu je bilo sve manje novca. Kako bi pobjednik dobio barem nešto, odlučili smo da napravimo nagoveštaj. U isto vrijeme, slijedeći pravila dizajna igre, podignite tenziju neposredno prije finala.

Odvojeni posta Objavili smo video na blogu. Na početku je umetnut komad iz Fight Cluba kao referenca na Tylera Durdena, koji je razmišljao o ubacivanju 25. kadra u filmove dok je radio u bioskopima.

Odlučili smo da primenimo istu mehaniku i ubacili smo nagoveštaj na 25. kadar kako da na Google ispravan PIB i puno ime i prezime vlasnika.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera
Nakon toga su momci to vrlo brzo shvatili

Korak 4. Pucajte laserom u neborbenom modu

Kada je struja bila isporučena od strane kompanije za upravljanje i nakon što su utikači uključeni, Megatron se uključio i mogao je paliti u test modu. Token za probni snimak je već umetnut u obrazac za unos.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera
Svakih 25 sekundi se generira novi token, koji se može koristiti za uključivanje lasera na 10 sekundi pri 10/255 snage

Zatim se laser ohladio 1 minut i tokom ovog minuta bio je nedostupan i nije prihvatao nove zahteve za snimak.

Ova snaga je bila potpuno nedovoljna da progori uže, ali svaki igrač je mogao pucati iz Megatrona i vidjeti laserski snop u akciji.

Reakcija zajednice bila je više nego energična
Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ali svi su se brzo smirili i shvatili da ovo nije kraj utakmice.
Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Tada je zajednica počela da smišlja kako da pokrene borbeni režim

brainstorm
Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera
Na neslogu ima lažnjaka

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera
Nismo znali da je u emisiji nešto pisalo na nozi stola

Zajednica je došla do koraka 4. Shvatite kako se generiraju tokeni: pronađite suštinu i generirajte token koji uključuje laser u borbenom načinu

Megatronov borbeni način je 100% snage lasera pri 3 vata. Ovo je dovoljno za 2 minute da progori konopac koji je držao težinu, razbije akvarij i poplavi server vodom.

Ostavili smo nekoliko nagoveštaja projekat github: naime kod za generiranje tokena, iz kojeg bi se moglo razumjeti da se testni i borbeni tokeni generiraju na osnovu istog indikatora brojača. U slučaju borbenog žetona, pored vrijednosti brojača, koristi se i sol, koja je gotovo u potpunosti ostala u historiji promjena ove suštine, sa izuzetkom posljednja dva znaka.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera
Kao što su svi brzo pogodili, bilo je 42

U komentarima suštine bila je prepiska između Andreja Sokolova i programera („mudri programer“, kako su ga nazvali momci iz Discorda).

U prepisci, Andrey je poslao jedan od borbenih tokena, a programer je odgovorio da je ovaj token inicijaliziran protuvrijednošću od 42.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Znajući ove podatke, bilo je moguće sortirati posljednja 2 simbola soli i zapravo saznati da su za to korišteni brojevi iz Lost-a, pretvoreni u heksadecimalni sistem.

Tada su igrači morali uhvatiti vrijednost brojača (analizom testnog žetona) i generirati borbeni žeton koristeći sljedeću vrijednost brojača i sol odabranu u prethodnom koraku.

Brojač se jednostavno povećavao sa svakim probnim udarcem i svakih 25 sekundi. Nismo nigde pisali o tome, trebalo je da bude malo iznenađenje. Momci su to vrlo brzo shvatili i pokrenuli megatron u borbenom modu.

Korak 5. Lasersko spaljivanje užeta


Kako je bilo

Ovdje je sve jednostavno. Slanje borbenog tokena bi pretvorilo laser u borbeni mod, a soba bi se promijenila i prešla u "režim katastrofe", kako smo to nazvali u općem scenariju:

  • Sva svjetla u prostoriji su ugašena
  • Tasteri za iot uređaje na web stranici postali su nedostupni
  • Trepćuća svjetla i zvuk sirene
  • Crveni teg je bio osvetljen
  • Na TV ekranu je počelo odbrojavanje dok laser nije pušten u borbeni režim.

Odbrojavanju smo dali sat i po kako bi svi koji su igrali imali vremena da uključe prenos i vide finale. I to sa dobrim razlogom: dok sam sa suspregnutim dahom čekao zvuk udarca i lomljenja stakla iz susjedne sobe, cijeli tim koji je gradio potragu, bez riječi je krenuo u bazu da vidi kraj sa svojim sopstvene oči. Samo su utrčali u sobu i počeli da se grle.

U međuvremenu na neslogu
Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

Nakon što je odbrojavanje završilo, laser je krenuo u akciju i za dvije minute progorio konopac - teg je odletio pravo u akvarij. Prije udara, pomahnitala kapibara je vrisnula na ekranu, panično podižući svoje male šape.

S obzirom da je tu bila okupljena cijela ekipa, svima koji su se dva dana borili za finale u neslogi uputili smo malu poruku i otišli otvoriti šampanjac:

Kako smo izračunali vrijeme lansiranja reklamnih videa i bijeg težine?

Nakon desetak testova spaljivanja užeta laserom, shvatili smo da je riječ o vrlo nepouzdan dizajnu - poluizgorjelo uže postaje tanje, pod težinom težine rasteže se, mijenja lokaciju i laser više ne može prorezati to potpuno.

Stoga smo krenuli drugim putem: duplicirali smo izgaranje tako što smo konopac omotali nihromskim koncem. Kroz konac je prošla struja, usijala se i izgorjela kroz konopac za otprilike 2 sekunde - to nam je dalo tačno razumijevanje kada treba uključiti vrišteću kapibaru, zaustaviti startni tajmer i pokrenuti reklamu:

Šta nam nije pošlo za rukom?

Na kraju je iz sistemske jedinice trebao izaći gust dim, kao u požaru - pripremili smo dimne bombe, zapalili ih na isti način, ali iz nekog razloga nisu radile (vjerovatno zbog vode).

ko je pobjednik?

Izašao kao pobednik Arkadij Aleksejev iz Sankt Peterburga - on je prvi generirao testni token i osvojio preostali novac u shredderu u iznosu od 134 rubalja.

Kratak intervju sa Arkadijem.

Recite nam nešto o sebi, čime se bavite na poslu?

Po obrazovanju sam specijalista za sigurnost, završio sam BIT na ITMO-u. Radim kao outsourcing full stack web developer. U školi sam se takmičio na takmičenjima, uključujući programiranje i matematiku.

Kako ste saznali za igru?

Otišao sam u Habr samo da pročitam, vidio članak i zainteresirao se.

Koliko ste sati igrali kada ste se pridružili?

Pridružio sam se uveče na dan kada je članak objavljen (tj. dan prije kraja). Proveo sam veče i dobar deo sledećeg dana.

Šta vam se svidjelo, a šta ne?

Generalno, sve mi se svidjelo (naravno, pobijedio sam)), ali sam bio malo nervozan zbog poziva. Pa, kao, zvati i provjeravati svaku verziju nekako nije bilo dobro, barem je bilo nezgodno - shvatio sam da ih je još nekoliko desetina zvalo, pola se šalilo i pokušavalo se baviti društvenim inženjeringom.

Kako ste shvatili kako pronaći borbeni žeton za Megatron?

Kada sam ušao, već su spamovali server, upalili sijalice, našli lozinku za laserski admin panel, razne poddomene i stranice.

Također je bilo lako pronaći profil na Githubu i suštinu s komentarima. Odatle je proces generisanja tokena i tajne za njega očigledan. U takvim potragama nema potrebe izmišljati puno, IMHO, jer se možete utopiti u gomili opcija za razvoj događaja; i shodno tome morate pratiti kuda vas kreator potrage gura.

Uzimajući u obzir preostale poddomene i testno mjesto na tildi, bilo je jasno da će nakon uključivanja lasera biti potrebno odabrati token. Shodno tome, iste večeri sam skicirao okvirni zahtjev za uključivanje lasera (na osnovu 4 dostupna formulara: 1 na radnom mjestu i 3 na probnom/starom) i pokušao brutirati sa radnim tokenima počevši od 42 (pa, za budalu - odjednom je sve tu već omogućeno, a stranica sa slanjem tokena jednostavno će se otvoriti nakon PIB-a i punog imena).

Nisam siguran da je zahtjev bio ispravan, jer nije bilo vremena za provjeru (na kraju krajeva, bilo je moguće provjeriti samo da li je laser uključen), ali sam se unaprijed pripremio za potragu za tokenom.

Postojala je i očigledna logika s websockets i upravljanje uređajima u app.js datoteci. Postojao je podebljan nagoveštaj a9 uređaja, prilikom slanja napajanja: istina na koju se utičnica srušila. Pokušao sam da joj pošaljem sve - nikad se ne zna, mogao bi postojati dodatni uređaj za rješavanje TIN-a, ali bezuspješno.

Zatim sam pretražio ostale ID fajlove pored tih deset, ali je posvuda bio nepoznat uređaj. Pokušao sam i guglati svašta, penjati se dalje [email zaštićen], poslao sve u formi na stranici cjenika, malo kopao sa lasermasterima, ali sve bez uspjeha. Sutradan sam sjedio u chatu, guglao svašta, onda se pojavila tema stego i konsultovao sam se sa stegosolve osobom za slike i gifove (ali sam mentalno shvatio da 99% vremena tu nema ničega, jer to bi bilo previše + kontradikcija sa glavnom linijom zadataka) .

Ali na kraju sam također sjedio i par sati kopao po svim slikama i gifovima. Zvao sam još nekoliko puta sa različitim TIN opcijama, ali nije išlo. Tada sam odlučio da odustanem od toga, ali su tamo stavili nagoveštaj - i postalo je jasno da će se PIB (PIB) pronaći u bliskoj budućnosti, što se i dogodilo. Onda sam ja ili neko drugi (nije očito) poslao struju: istina na a9 uređaj i laser je proradio, iako možda nije bilo veze i tek je počeo raditi nakon TIN-a. Generalno, ušao sam u admin panel lasera i bio sam prilično iznenađen, pošto je sam server poslao token (a ja sam se već pripremao za brutiranje). Postalo je očito da je token test, pošto sam ga emitiranje + zdrav razum + provjerio.

Kôd je sadržavao logiku slanja radnog tokena negdje kao obavještenje, ali je očigledno ili bio pogrešan kod ili je bio potreban za druge dijelove sistema. Napravio sam skriptu da dobijem trenutni radni token od trenutnog testnog i počeo da sedim na f5, pokušavajući da ih pošaljem - bilo je problema sa ovim, pošto su svi stalno pritiskali dugme za slanje, menjajući tako token ako je moguće. Zatim se stranica srušila, brojač je resetiran, ali to nije poenta - nakon nekog vremena sam poslao ispravan token. U teoriji brojač je bio 58 i токен был 449a776938f7ce4cf19f8603045dca0f u trenutku aktivacije, ako se ne varam. To je sve.

Onda sam se malo izgorio od komentara tipa „da, ovo je sve trivijalno, ali sam imao sreće“. Pa, ako odete na stranicu, razmislite na minut, napišite skriptu za par minuta, provjerite - onda da, trivijalno je. Ali uradio sam to za 10-20 sekundi, a onda jednostavno nisam mogao poslati token nekoliko minuta.

Naravno, možete pokušati da napišete logiku da ga preuzmete i pošaljete automatski, ali to bi potrajalo duže i bio bi veliki rizik, plus oblak bi vjerovatno počeo da psuje. Ono sa čime sam imao sreće je poslednja faza - nekoliko algoritama za brzinu + brzinu reakcije, ovo je samo moje. Da je postojao zadatak direktno sa pentesta, najvjerovatnije ne bih postao prvi.

Ali još nije gotovo

Jedva čekam da vam ispričam o neverovatnom timu koji je izgradio ovu sobu za bekstvo i svim inženjerskim rešenjima do kojih su došli. Ali ovaj post se već pokazao prevelikim - tako da će biti odvojeni članci o tome, pa ostanite sa nama i pretplatite se na naš blog na Habréu.

Ko je zaustavio shredder ili kako je bilo potrebno završiti potragu sa uništenjem servera

izvor: www.habr.com

Dodajte komentar