Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Prije par dana završili smo jedan od najemotivnijih događaja koji smo imali sreću ugostiti u sklopu bloga - online hakerska igra s uništavanjem servera.

Rezultati su nadmašili sva naša očekivanja: sudionici ne samo da su sudjelovali, već su se brzo organizirali u dobro koordiniranu zajednicu od 620 ljudi na Discordu, koja je u dva dana bez pauze za spavanje doslovno uzela potragu.

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja
A ovako je završilo:

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

Igra je počela 12. kolovoza kada smo objavili na blogu pošta s videom u kojem se haker u obliku lubanje nudi zaigrati, uništiti server, izazvati kratki spoj u sobi (dobro, ili mini požar) i uzeti preostali novac u shredderu.

Bila je to online potraga: pokrenuli smo YouTube emitiranje iz sobe koja je bila puna iot uređaja, servera ispod kreveta (koji je morao biti uništen), a akvarij je bio fiksiran iznad servera i uteg je visio preko njega. Kako bi igra bila puna akcije, odlučili smo napraviti nagradni fond od 200 rubalja, koji smo učitali u shredder i postavili ga da se uključuje svakih 000 minuta. Svaki sat shredder je pojeo 60 rubalja - što prije ga igrači zaustave, osvojit će više novca.

Izgradnja ove potrage bila je potraga sama po sebi - morali smo jesti samo hranu i spavati nekoliko sati dnevno u istoj prostoriji. Ali najnevjerojatnije je bilo promatrati let misli igrača i njihov emocionalni učinak u tom procesu.

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

Na projektu je neumorno radilo 7 ljudi: backender, stručnjak za hardver, pravi filmski producent, CG dizajner i dva idejna koproducenta.

U sljedećim postovima ćemo vam reći kako je točno potraga bila implementirana s tehničke točke gledišta, ali za sada ću vam reći rješenje: kako je točno bilo potrebno hakirati ovu sobu na prijenosu. Pritom se prisjetimo kronologije događaja, kao i svih suludih iluminatskih teorija iz discord chata i to je to.

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

Svi predmeti u sobi podijeljeni su u tri kategorije:

  • Iot uređaji jednostavni za korištenje, ne-gaming
  • Uređaji za igranje za dovršetak misije
  • Pratnja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Postavili smo 8 vrlo lakih za upravljanje elemenata: dvije lampice, jednu girlandu, pet slova FALCON, od kojih se svakom može mijenjati boja. Sve se to moglo uključiti/isključiti izravno s web stranice i odmah vidjeti rezultat na prijenosu - posebno smo ih učinili dostupnima svim igračima, bez obzira na njihovu razinu tehničkog znanja.

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja
Sve što je jednostavno uključeno sa stranice

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

  1. Poslužitelj s otvorenim poklopcem i akvarijem iznad njega
  2. Uteg suspendiran za razbijanje akvarija
  3. Megatron 3000 - snažan laserski pokazivač usmjeren prema užetu koje drži uteg
  4. Snažan ventilator koji se pokreće kada je poslužitelj bio pod opterećenjem
  5. Flipchart na kojem su ispisani login i password za Megatron
  6. Telefon na koji možete nazvati i vidjeti vaš poziv uživo
  7. Sjeckalica koja je jela novčanice od 1000 rubalja na sat

Kako je točno riješena potraga?

Odmah ću reći: lijes se otvorio prilično jednostavno.

Cilj igre bio je zaustaviti šreder izazivanjem kratkog spoja u sobi. Za to je bilo potrebno razbiti akvarij bacanjem utega u njega i napuniti poslužitelj vodom. Uteg se držao na užetu u koje je Megatron ciljao. Preuzimanjem kontrole nad Megatronom, uže bi se moglo presjeći. To je učinjeno u 5 jednostavnih koraka:

Korak 1. Učitajte poslužitelj u sobi

Na primjer, slanje paketa s naredbom.

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

Savjet je bio vrlo težak captcha na Stranica s cjenikom.

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja
Ista captcha koju je trebalo napasti

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Kada se server učitao, njegova temperatura je porasla i to se moglo pratiti na sustavu za nadzor koji je otvoren direktno ispred kamere. Zatim se uključio ventilator koji je otvorio svjetlosnu zavjesu na flipchartu. Zatim se otvori login i lozinka za pristup Megatronovoj stranici ispisani na ploči.

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

Na poddomeni megatron.ooosokol.ru postojala je kontrolna stranica Megatrona. Ali nije se otvorio sve dok Megatron nije bio opskrbljen primarnim napajanjem.

Igrači su sve te faze prošli gotovo odmah u komentarima prijenosa na YouTubeu. Zatim su se zadaci zakomplicirali i igrači su kreirali RUVDS Hack Room discord server i tamo nastavili raspravu.

Korak 2: Primijenite primarno napajanje na Megatron

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

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

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

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

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Kada je 4. uređaj uključen, Megatron stranica je postala dostupna i sam laser je bio istaknut. Ali u isto vrijeme bilo je nemoguće pucati laserom, i to stranica Pojavila se poruka da laser još nije dostupan i nagovještaj: došlo je do prometne gužve u uredu, morate nazvati tvrtku za upravljanje i zatražiti napajanje.

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja
Savjet o društvu za upravljanje

3. Nazovite tvrtku za upravljanje i zatražite da uključite Megatronovo napajanje

Prema ENT-u, Megatron nije mogao pucati jer su prometne gužve u uredu bile izbačene. Samo je društvo za upravljanje moglo ponovno uključiti struju, koje je trebalo kontaktirati i identificirati kao vlasnika LLC.

Bilo je lako pronaći broj društva za upravljanje - umetnuli smo ga izravno u podnožje.

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Ali identifikacija je bila puno teža.

Prilikom poziva na broj +74991130688 slušalicu je podigla operaterka i glasom s dosadom tražila INN tvrtke i puno ime i prezime vlasnika. Bez toga je odbijala uključiti struju i to je obrazlagala činjenicom da je ona obična outsourcana kontrolna soba, imaju 2000 klijenata i ureda, a bez tih podataka jednostavno je nemoguće pronaći onu koja im treba.

Ovo se pokazalo kao najteža faza za igrače. Trebalo mi je gotovo dva dana da pronađem točan PIB i puno ime vlasnika, a ja (zastupljen od strane operatera u kontrolnoj sobi) sam za to vrijeme primio više od 400 poziva. Telefon je zvonio svake 2-3 minute.

Dečki su kopali koliko su mogli. Iskorišteno je sve: uništili su izvorni kod stranice, guglali vlasnika stranice Sokolova i pretraživali po društvenim mrežama.

Tražili su porezne identifikacijske brojeve različitih tvrtki
Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja
Gotovo potpuna shema pretraživanja

Čak su u jednom trenutku zvali i lažiranim brojem - kao da zovu iz ureda društva Sokol navedenog u podnožju.

Tada smo saznali koliko društava nosi ime Sokol. Gotovo svaka od ovih tvrtki primila je pozive od igrača, ali to nije bilo ništa u usporedbi s onim što je stranica doživjela lasermasters.ru, od kojeg smo zapravo kupili taj isti Megatron prije nekih mjesec dana.

Prvo je nesloga napala podršku Lasersmastersa.

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Onda smo tamo uspjeli pronaći nečiji račun! Dok je podrška Lasermastersa već prestala štedjeti na izrazima.

Oprez, držite djecu podalje od ekrana
Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja
Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Na kraju su ih Lasermasters odlučili samo iznervirati i stranica im se srušila. Kao što smo uspjeli srušiti i Sokolovo mjesto, iako smo ga brzo podigli.

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tijekom istrage, dečki iz Discorda čak su pronašli glumca, čiju smo fotografiju kupili na dionicama, kako bi on igrao ulogu glavnog antagonista, vlasnika LLC poduzeća Andreja Sokolova. Ispostavilo se da se zove Jurij i da nema pojma u kakvu se zbrku uvalio.

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja
Andrej Sokolov, lik iz igre

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja
Yuri, model

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

Zatim su počeli kopati posebno za mene, kao organizatora potrage (koja je vrlo lako mogla završiti uspjehom da su se dečki dosjetili hakirati moje radne kanale).

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Čak sam se malo zabrinuo kad su mi rekli ime, pa čak i porezni broj. No, laknulo mi je kad 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 brate, koji je također patio
Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

U međuvremenu su nagađanja postajala sve nevjerojatnija
Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

I došlo je do iluminatskih teorija.

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

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

Kažete, odakle su Sunđer Bob i Hari Poter? Stavili smo njihove adrese na Sokolovu kontakt stranicu i to je izazvalo mnogo spekulacija u discord zajednici. Iako smo samo htjeli odati počast našim omiljenim djelima iz djetinjstva.

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja
Ista referenca na stranici "Kontakti"

I kao rezultat

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja
Ispostavilo se da u seriji doista postoje dokumenti o Spužvi Bobu. Zvali su se kao TIN

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

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

Treperenje je snimljeno i pokušalo se dešifrirati
Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Jednostavnija teorija je da su dečki pokušali otkriti je li trag skriven u kartama.

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Usput su nas uspoređivali s Cikada 3301 — nezasluženo visoka ocjena, ali ipak ugodna.

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Igrači su svim silama isprobali društveni inženjering. Zvali su me pod krinkom FSB-a, vatrogasci, sam Sokolov, njegova bivša žena i zaštitar koji navodno sjedi dolje. Rekli su da je izbio požar, da je netko zapeo u liftu, a najpotresnija je priča da je u uredu navodno sjedio pas pozivatelja, zahvaćen vatrom.

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja
Bilo je i pokušaja podmićivanja

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

Evo par
Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

U međuvremenu, tvornice su mirovale
Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

potaknuti

U šrederu je bilo sve manje novca. Kako bi pobjednik dobio barem nešto, odlučili smo dati nagovještaj. Istovremeno, slijedeći pravila dizajna igre, podignite napetost neposredno prije finala.

Odvojeni objaviti Video smo objavili na blogu. Na početku je ubačen komad iz Kluba boraca kao referenca na Tylera Durdena koji je dok je radio u kinima razmišljao o ubacivanju 25. kadra u filmove.

Odlučili smo primijeniti istu mehaniku i u 25. kadar umetnuli savjet o tome kako Googleu točan PIB i puno ime vlasnika.

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja
Nakon toga dečki su to vrlo brzo shvatili

Korak 4. Ispalite laser u neborbenom načinu rada

Kada je tvrtka za upravljanje dala struju i nakon što su utikači uključeni, Megatron se uključio i mogao je pucati u testnom načinu. Žeton za probni udarac već je umetnut u obrazac za unos.

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja
Svakih 25 sekundi generirao se novi token, koji se mogao koristiti za uključivanje lasera na 10 sekundi pri snazi ​​10/255

Zatim se laser hladio 1 minutu i tijekom te minute bio je nedostupan i nije prihvaćao nove zahtjeve za hitac.

Ova snaga je bila potpuno nedovoljna da probije uže, ali bilo koji igrač je mogao pucati iz Megatrona i vidjeti lasersku zraku na djelu.

Reakcija zajednice bila je više nego burna
Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

No svi su se brzo smirili i shvatili da to nije kraj igri.
Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Zatim je zajednica počela smišljati kako pokrenuti način borbe

ideja
Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja
Na neskladu postoje lažnjaci

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja
Nismo znali da u prijenosu nešto piše na nozi stola

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

Megatronov način borbe je 100% snaga lasera od 3 vata. To je dovoljno za 2 minute da pregori uže koje je držalo uteg, razbije akvarij i poplavi poslužitelj vodom.

Ostavili smo nekoliko savjeta projekt github: naime kod za generiranje tokena, iz kojeg se može shvatiti da se testni i borbeni tokeni generiraju na temelju istog indikatora brojača. U slučaju borbenog žetona, osim protuvrijednosti, koristi se i sol, koja je gotovo u potpunosti ostavljena u povijesti promjena ovog sadržaja, s iznimkom posljednja dva znaka.

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja
Kako su svi brzo pogodili, bila je to 42

U komentarima suštine bilo je dopisivanje između Andreja Sokolova i programera ("mudrog programera", kako su ga nazvali dečki iz Discorda).

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

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Poznavajući te podatke, bilo je moguće sortirati posljednja 2 simbola soli i zapravo saznati da su za nju korišteni brojevi iz Losta, pretvoreni u heksadecimalni sustav.

Zatim 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. O ovome nismo nigdje pisali, trebalo je biti malo iznenađenje u igri. Dečki su to vrlo brzo shvatili i pokrenuli megatron u borbenom modu.

Korak 5. Laser spali uže


Kako je bilo

Ovdje je sve jednostavno. Slanje borbenog tokena pretvorilo bi laser u način borbe, a soba bi se promijenila i otišla u "mod katastrofe", kako smo to nazvali u općem scenariju:

  • Sva su se svjetla u sobi ugasila
  • Gumbi za iot uređaje na web stranici postali su nedostupni
  • Trepćuća svjetla i zvuk sirene
  • Crveni uteg je bio osvijetljen
  • Na TV ekranu počelo je odbrojavanje do pokretanja lasera u borbenom načinu rada.

Dali smo odbrojavanje sat i pol kako bi svi koji su igrali imali vremena uključiti prijenos i vidjeti finale. I to s dobrim razlogom: dok sam sa suspregnutim dahom čekao zvuk udarca i razbijanja stakla iz susjedne sobe, cijeli tim koji je gradio potragu, bez riječi je krenuo u bazu da vidi kraj sa svojim vlastite oči. Samo su utrčali u sobu i počeli se grliti.

U međuvremenu na neskladu
Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Nakon što je odbrojavanje završilo, laser je krenuo u akciju i za dvije minute pregorio uže - uteg je odletio ravno u akvarij. Prije udara, na ekranu je vrištala pomahnitala kapibara, panično podižući svoje male šape.

Budući da se tu okupila cijela ekipa, ispalili smo malu poruku svima koji su se dva dana u neslozi borili za finale i otišli otvoriti šampanjac:

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

Nakon desetak testova spaljivanja užeta laserom, uvidjeli smo da se radi o vrlo nepouzdanoj konstrukciji - napola izgorjelo uže postaje tanje, pod težinom utega rasteže se, mijenja mjesto i laser više ne može prorezati to u potpunosti.

Stoga smo krenuli drugim putem: duplicirali smo izgaranje tako da smo uže omotali nikromiranim koncem. Kroz nit je prošla struja, užarila se i progorjela kroz uže za otprilike 2 sekunde - to nam je dalo točan uvid u to kada treba uključiti vrišteću kapibaru, zaustaviti startni mjerač vremena i pokrenuti reklamu:

Što nam nije išlo?

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

Tko je pobjednik?

Izašao kao pobjednik Arkadij Aleksejev iz St. Petersburga - prvi je generirao testni token i osvojio preostali novac u shredderu u iznosu od 134 rubalja.

Kratki intervju s Arkadijem.

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

Po obrazovanju sam stručnjak za sigurnost, završio BIT na ITMO-u. Radim kao outsourced full stack web programer. U školi sam se natjecao na natjecanjima, uključujući iz programiranja i matematike.

Kako ste saznali za igru?

Otišao sam na Habr samo čitati, vidio sam članak i zainteresirao se.

Koliko ste sati igrali kad ste se pridružili?

Pridružio sam se navečer na dan objave članka (tj. dan prije kraja). Proveo sam večer i dobar dio sljedećeg dana.

Što vam se svidjelo, a što nije?

Općenito, 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 neugodno - shvatio sam da ih je još nekoliko desetaka zvalo, pola ih se šalilo i pokušavalo se baviti društvenim inženjeringom.

Kako ste shvatili kako pronaći bojni žeton za Megatrona?

Kad sam ušao, već su spamali server, bockali žarulje, našli lozinku za lasersku admin ploču, kojekakve poddomene i stranice.

Također je bilo lako pronaći profil na Githubu i bit s komentarima. Odatle je očit proces generiranja tokena i tajne za njega. U takvim zadacima nema potrebe puno izmišljati, IMHO, jer se možete utopiti u hrpi opcija za razvoj događaja; i shodno tome trebate pratiti kamo vas kreator questa gura.

Uzimajući u obzir preostale poddomene i testno mjesto na tildi, bilo je jasno da će nakon napajanja lasera biti potrebno odabrati token. U skladu s tim, iste sam večeri skicirao približan zahtjev za uključivanje lasera (na temelju 4 dostupna obrasca: 1 na radnom mjestu i 3 na testnom/starom) i pokušao brutati s radnim tokenima počevši od 42 (dobro, za budalu - odjednom je sve već uključeno, a stranica sa slanjem tokena će se jednostavno otvoriti nakon PIB-a i punog imena).

Nisam siguran da je zahtjev bio točan, jer nije bilo vremena za provjeru (uostalom, bilo je moguće provjeriti samo je li laser bio uključen), ali sam se unaprijed pripremio za traženje tokena.

Također je postojala očita logika s websocketima i upravljanjem uređajima u datoteci app.js. Postojao je podebljani nagovještaj uređaja a9, prilikom slanja napajanja: istina na koji se utičnica srušila. Pokušao sam poslati sve na njega - nikad se ne zna, može biti dodatni uređaj za rješavanje TIN-a, ali bezuspješno.

Zatim sam pretražio ostale ID datoteke pored tih deset, ali posvuda je bio nepoznat uređaj. Pokušao sam i guglati svašta, penjati se [e-pošta zaštićena], poslao sve u obrascu na stranici cjenika, malo kopao s lasermasterima, ali sve bez uspjeha. Sljedeći dan sam sjedio u chatu, googlao svakakve stvari, onda se pojavila tema o stegou i posavjetovao sam se sa stegosolve osobom za slike i gifove (ali mentalno sam shvatio da 99% vremena tamo nema ničega, jer to bi bilo previše + kontradikcija s glavnom linijom potrage) .

Ali na kraju sam i ja sjedio i kopao po svim slikama i gifovima par sati. Zvao sam još nekoliko puta s različitim opcijama TIN-a, ali nije išlo. Tada sam odlučio odustati od toga, ali tamo su objavili nagovještaj - i postalo je jasno da će se u skoroj budućnosti pronaći porezni identifikacijski broj (PIB), što se i dogodilo. Onda sam ili ja ili netko drugi (nije očito) poslao napajanje: istina na uređaj a9 i laser je počeo raditi, iako možda nije bilo veze i počeo je raditi tek nakon TIN-a. Općenito, ušao sam u administratorsku ploču lasera i bio sam prilično iznenađen, budući da je sam poslužitelj poslao token (a ja sam se već pripremao za brute). Postalo je očito da je token testni jer sam ga emitirao + zdrav razum + provjerio.

Kod je sadržavao logiku slanja radnog tokena negdje kao obavijest, ali očito je ili bio pogrešan kod ili je bio potreban za druge dijelove sustava. Napravio sam skriptu za dobivanje trenutnog radnog tokena iz trenutnog testnog i počeo sjediti na f5, pokušavajući ih poslati - bilo je problema s tim, jer su svi stalno pritiskali gumb za slanje, mijenjajući tako token ako je moguće. Zatim se stranica srušila, brojač je resetiran, ali nije u tome stvar - nakon nekog vremena poslao sam radni token. U teoriji brojač je bio 58 i токен был 449a776938f7ce4cf19f8603045dca0f u trenutku aktivacije, ako se ne varam. To je sve.

Onda sam se malo opekla od komentara poput "da, sve je ovo trivijalno, ali ja sam jednostavno imala sreće." Pa, ako odete na stranicu, razmislite na minutu, napišete scenarij za nekoliko minuta, provjerite - onda da, to je trivijalno. Ali ja sam to učinio za 10-20 sekundi, a zatim jednostavno nisam mogao poslati token nekoliko minuta.

Naravno, možete pokušati napisati logiku da ga pokupite i pošaljete automatski, ali to bi trajalo dulje i bio bi veliki rizik, plus oblak bi vjerojatno počeo psovati. Ono s čime sam stvarno imao sreće je zadnja faza - nekoliko algoritama za brzinu + brzina reakcije, ovo je samo moje. Da je bio zadatak izravno s pentesta, najvjerojatnije ne bih postao prvi.

Ali još nije gotovo

Jedva čekam da vam ispričam o nevjerojatnom timu koji je napravio ovu sobu za bijeg i svim inženjerskim rješenjima koja su smislili. Ali ovaj se post već pokazao prevelikim - pa će o tome biti zasebnih članaka, pa ostanite s nama i pretplatite se na naš blog na Habréu.

Tko je zaustavio shredder ili kako je bilo potrebno dovršiti zadatak s uništenjem poslužitelja

Izvor: www.habr.com

Dodajte komentar