Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Vor ein paar Tagen haben wir eines der emotionalsten Events abgeschlossen, das wir im Rahmen des Blogs veranstalten durften – ein Hacker-Online-Spiel mit der Zerstörung eines Servers.

Die Ergebnisse übertrafen all unsere Erwartungen: Die Teilnehmer haben nicht nur mitgemacht, sondern sich schnell in eine gut funktionierende Community von 620 Personen auf Discord organisiert, die innerhalb von zwei Tagen ohne Unterbrechung geschweige denn Schlaf den Quest im Sturm nahm.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?
Und so endete es:

Video abspielen

Wie alles begann und worum es eigentlich ging?

Das Spiel begann am 12. August, als wir im Blog Post ein Video veröffentlichten, in dem ein Hacker in Form eines Schädels vorschlägt, ein Spiel zu spielen, den Server zu zerstören, einen Kurzschluss im Raum zu verursachen (oder ein kleines Feuer) und das Geld zu holen, das im Schredder verblieben ist.

Es war ein Online-Quest: Wir haben einen YouTube-Livestream aus einem Raum gestartet, den wir mit IoT-Geräten gefüllt haben, mit einem Unterbett-Server (den es zu zerstören galt), und über dem Server hing ein Aquarium mit einem Gewicht darüber. Um das Spiel spannender zu gestalten, entschieden wir uns für einen Preisfonds von 200.000 Rubel, den wir in den Schredder geladen und so eingestellt haben, dass er alle 60 Minuten aktiv wurde. Jede Stunde fraß der Schredder 1000 Rubel – je schneller die Spieler ihn stoppten, desto mehr Geld konnten sie gewinnen.

Video abspielen

Den Quest zu erstellen war an sich schon ein Abenteuer – wir mussten uns ausschließlich von Lieferungen ernähren und schliefen ein paar Stunden pro Tag direkt im selben Raum. Aber am erstaunlichsten war, die Gedankengänge der Spieler und ihre emotionale Reaktion im Prozess zu beobachten.

Um ehrlich zu sein, übertraf die Einfallsreichtum der Spieler bei der Lösung der Aufgaben unsere bescheidene Vorstellung bei Weitem: Jede freie Minute lasen wir den Discord-Chat und in einigen Fällen haben wir wirklich vor Lachen geweint, als wir erfuhren, womit sich die Spieler beschäftigten und wie sie während des Spiels Witze machten.

An dem Projekt arbeiteten unermüdlich 7 Personen: ein Backend-Entwickler, ein Hardware-Spezialist, ein echter Filmproduzent, ein CG-Designer und zwei kreative Inspirations-Co-Produzenten.

In den nächsten Beiträgen werden wir erzählen, wie genau der Quest aus technischer Sicht umgesetzt wurde, aber zunächst werde ich seine Lösung erklären: wie man diesen Raum im Stream hacken musste. Dabei erinnern wir uns auch an den Zeitablauf der Ereignisse sowie an all die verrückten illuminatischen Theorien aus dem Discord-Chat und mehr.

Was hatten die Spieler zu Beginn des Spiels?

Alle Gegenstände im Raum wurden in drei Kategorien unterteilt:

  • Einfache, nicht spielerische IoT-Geräte
  • Spielgeräte für die Quest
  • Ambiente

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wir haben 8 sehr einfach zu bedienende Elemente platziert: zwei Lampen, eine Girlande, fünf Buchstaben SOKOL, deren Farbe man ändern konnte. All dies konnte direkt über die Website ein- und ausgeschaltet werden, und man konnte sofort das Ergebnis im Stream sehen – wir haben sie absichtlich für alle Spieler zugänglich gemacht, unabhängig von ihrem technischen Fähigkeitsniveau.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?
Alles, was einfach über die Website eingeschaltet werden konnte

Zu den wichtigen Spielelementen, die für das Bestehen der Quest benötigt wurden und auf die nur schwer zuzugreifen war:

  1. Ein Server mit offenem Deckel und einem darüber hängenden Aquarium
  2. Eine Kugel, so aufgehängt, dass sie das Aquarium zerbrechen kann
  3. Megatron 3000 – ein leistungsstarker Laserpointer, der auf das Seil gerichtet ist, das die Kugel hält
  4. Ein leistungsstarker Ventilator, der bei Belastung des Servers aktiviert wurde
  5. Ein Flipchart, auf dem der Login und das Passwort für Megatron geschrieben waren
  6. Ein Telefon, auf das man anrufen konnte und seinen Anruf im Livestream sehen konnte
  7. Ein Schredder, der 1000-Rubel-Scheine pro Stunde zerkleinerte

Wie die Quest entschlüsselt wurde

Ich sage gleich: Die Box ließ sich ziemlich einfach öffnen.

Ziel des Spiels war es, den Schredder zu stoppen, indem man im Raum einen Kurzschluss herbeiführte. Dazu musste man das Aquarium zerbrechen, indem man die Kugel hineinwarf und den Server mit Wasser überflutete. Die Kugel hing an einem Schnürsenkel, auf den Megatron zielte. Übernahm man die Kontrolle über Megatron, konnte man das Seil durchtrennen. Dies geschah in 5 einfachen Schritten:

Schritt 1. Den Server, der im Raum stand, belasten

Zum Beispiel, indem man Pakete mit einem Befehl sendet.

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

Der Hinweis war eine sehr belastende Captcha auf Seite Preisliste.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?
Das besagte Captcha, das angegriffen werden musste

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Bei der Belastung des Servers erhöhte sich dessen Temperatur, und das konnte im Monitoring, das direkt vor der Kamera geöffnet war, verfolgt werden. Daraufhin wurde der Ventilator eingeschaltet, der einen leichten Vorhang auf dem Flipchart öffnete. Dann wurde der auf dem Board geschriebene Login und das Passwort für den Zugang zur Megatron-Seite sichtbar.

Und die Kontrollseite von Megatron konnte gefunden werden, indem man alle Zertifikate überprüfte, die für die Domain ooosokol.ru ausgestellt wurden.

Auf dem Subdomain megatron.ooosokol.ru Die Seite zur Steuerung des Megatron befand sich. Sie öffnete sich jedoch nicht, bis der Megatron mit der Erstversorgung versorgt wurde.

Alle diese Schritte haben die Spieler fast sofort in den Kommentaren des YouTube-Streams durchlaufen. Danach wurden die Aufgaben schwieriger und die Spieler erstellten einen Discord-Server für RUVDS Hack Room und setzten die Diskussion dort fort.

Schritt 2. Erstversorgung für den Megatron bereitstellen

Alle intelligenten Geräte, die über die Website gesteuert wurden (die gleichen Lampen, die die Spieler ununterbrochen ein- oder ausschalteten), hatten ihre eigenen Identifikatoren.

Um die Erstversorgung für den Megatron bereitzustellen und ihn gleichzeitig zu beleuchten, musste ein verstecktes Gerät auf der Steuerungsseite des Büros gefunden und aktiviert werden.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Dafür musste man die Identifikatoren der Geräte betrachten und feststellen, dass es insgesamt 4 Geräte gab, von denen jedoch nur 3 auf der Website verfügbar waren.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Die Seite des Megatron wurde beim Aktivieren des 4. Geräts zugänglich und der Laser wurde beleuchtet. Aber gleichzeitig war es unmöglich, mit dem Laser zu schießen, und auf ihm Seite hing eine Nachricht, dass der Laser momentan nicht verfügbar sei, sowie ein Hinweis: Im Büro sind die Sicherungen durchgebrannt, man muss die Hausverwaltung anrufen und um die Bereitstellung des Stroms bitten.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?
Hinweis zur Hausverwaltung

3. Die Hausverwaltung anrufen und um die Bereitstellung der Stromversorgung für den Megatron bitten

Laut LOR konnte der Megatron nicht schießen, weil die Sicherungen im Büro durchgebrannt waren. Die Stromversorgung konnte nur von der Hausverwaltung wiederhergestellt werden, mit der man telefonieren und sich als Eigentümer der GmbH identifizieren musste.

Die Telefonnummer der Hausverwaltung zu finden war einfach – wir haben sie direkt in den Footer eingefügt.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Aber die Identifizierung war viel schwieriger.

Beim Anruf unter der Nummer +74991130688 hob ein Operator-Mädchen den Hörer ab und bat mit gelangweilter Stimme um die NIF der Firma und den vollständigen Namen des Eigentümers. Ohne das weigerte sie sich, die Stromversorgung einzuschalten und erklärte dies damit, dass sie ein gewöhnliches Outsourcing-Dispatching sei, sie haben 2000 Kunden und Büros und ohne diese Informationen sei es einfach unmöglich, die richtige zu finden.

Für die Spieler stellte dies die schwierigste Phase dar. Die richtigen NIF und Namen des Eigentümers wurden fast zwei Tage lang gesucht, während ich (in der Rolle des Dispatching-Betreibers) in dieser Zeit mehr als 400 Anrufe entgegen nahm. Das Telefon klingelte alle 2-3 Minuten.

Die Jungs suchten, wie sie konnten. Es kam alles zum Einsatz: sie durchforsteten den Quellcode der Website, suchten nach dem Eigentümer der Website Sokolov, durchsuchten die sozialen Netzwerke.

Sie suchten nach der NIF verschiedener Unternehmen
Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?
Fast ein vollständiges Suchschema

Irgendwann riefen sie sogar mit einer Nummernänderung an – als ob sie vom Büro der im Footer angegebenen Firma Sokol anrufen würden.

Dann erfuhren wir, wie viele Unternehmen den Namen Sokol tragen. Praktisch bei jedem dieser Unternehmen meldeten sich die Spieler, aber das war nichts im Vergleich zu dem, was die Website erlebte lasermasters.ru, bei denen wir vor etwa einem Monat tatsächlich den Megatron gekauft hatten.

Zuerst griff Discord den Support von Lasermasters an.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Dann konnten sie dort das Konto von jemandem finden! Während der Support von Lasermasters bereits nicht mehr mit Ausdrücken gegeizt hatte.

Vorsicht, haltet die Kinder vom Bildschirm fern
Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?
Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Schließlich beschlossen die Lasermasters einfach zu überlasten und ihre Website fiel. Ebenso gelang es uns, die Website von Sokol zum Absturz zu bringen, obwohl wir sie schnell wiederherstellten.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Im Zuge der Ermittlungen fanden die Jungs von Discord sogar einen Schauspieler, dessen Foto wir von Stock erworben hatten, damit er die Rolle des Hauptantagonisten, des Eigentümers von ООО Андрей Sokolov, spielt. Es stellte sich heraus, dass er Yuri heißt und keine Ahnung hat, in welche Geschichte er geriet.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?
Andrei Sokol, die Figur des Spiels

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?
Yuri, das Modell

Wenn er nur gewusst hätte, wie er 600 Menschen zwei Tage lang wach hielt...)

Dann begannen sie konkret nach mir zu graben, als Organisator des Quests (was durchaus erfolgreich hätte enden können, wenn die Jungs auf die Idee gekommen wären, meine Arbeitskanäle zu hacken).

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Ich wurde sogar ein wenig unruhig, als sie meinen Vornamen und sogar die Steuer-ID nannten. Aber ich atmete auf, als während des Spiels mit dem zerbrochenen Telefon plötzlich ein älterer Bruder auftauchte, der sich als technischer Direktor von Habr herausstellte.

Mein lieber, leiblicher Bruder, der auch etwas abbekommen hat
Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Inzwischen wurden die Vermutungen immer unglaublicher und unglaublicher
Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Und es kam zu illuminatischen Theorien.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Die saftigsten Verschwörungstheorien bezogen sich auf SpongeBob, Harry Potter und das Blinken einer chinesischen LED-Lichterkette, die wir in das Gehäuse des Computers gelegt hatten.

Woher SpongeBob und Harry Potter, werden Sie sagen? Wir hatten deren Adressen in die Kontaktseite von Sokol eingefügt und das führte zu zahlreichen Spekulationen in der Discord-Community. Obwohl wir einfach nur unseren Lieblingswerken aus der Kindheit Tribut zollen wollten.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?
Die besagte Bezugnahme auf der Seite "Kontakte"

Und das Ergebnis

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?
Es stellte sich heraus, dass es in der Serie tatsächlich Dokumente von SpongeBob gibt. Sie wurden als Steuer-ID bezeichnet

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Eine der kompliziertesten Theorien war, dass in das Blinken der chinesischen Lichterkette eine Nachricht in Morsealphabet eingebettet war.

Das Blinken wurde aufgezeichnet und versucht zu entschlüsseln.
Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Bei einfacheren Theorien versuchten die Jungs herauszufinden, ob ein Hinweis auf den Karten verborgen war.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Auf dem Weg wurden wir mit Cicada 3301 verglichen – eine unverdient hohe Einschätzung, aber dennoch angenehm.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Die Spieler probierten ausgiebig soziale Ingenieurmechanismen aus. Ich erhielt Anrufe im Namen des FSB, von Feuerwehrleuten, Sokolov selbst, seiner Ex-Frau und einem Wachmann, der angeblich bei uns unten sitzt. Sie sagten, dass ein Feuer ausgebrochen sei, jemand im Aufzug steckengeblieben sei, und die rührendste Geschichte war, dass im brennenden Büro angeblich der Hund des Anrufers sitze.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?
Es gab auch Versuche zur Bestechung.

Langsam begannen eigene Memes im Chat zu erscheinen.

Hier sind ein paar.
Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Die Fabriken standen derweil still.
Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Hinweis

Das Geld im Schredder wurde immer weniger. Damit der Sieger wenigstens etwas erhielt, entschieden wir uns, einen Hinweis zu geben. Gleichzeitig, um den Regeln des Game Designs zu folgen, die Spannung unmittelbar vor dem Finale zu erhöhen.

Separat Post haben wir im Blog ein Video veröffentlicht. Zu Beginn wurde ein Ausschnitt aus dem „Fight Club“ eingefügt – als Anspielung auf Tyler Durden, der während seiner Arbeit in Kinos an das Einfügen des 25. Frames in Filme dachte.

Wir beschlossen, diese Mechanik ebenfalls anzuwenden und fügten im 25. Frame einen Hinweis ein, wie man googeln kann die richtige Steuernummer und den Namen des Inhabers herauszufinden.

Video abspielen

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?
Danach hatten die Jungs sehr schnell herausgefunden.

Schritt 4. Im nicht-kampfmäßigen Modus mit Laser schießen.

Bei der Stromversorgung durch das Verwaltungsunternehmen und nach dem Einschalten der Sicherungen schaltete sich Megatron ein und konnte im Testmodus schießen. Im Eingabefeld war bereits ein Token für den Testschuss eingegeben.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?
Alle 25 Sekunden wurde ein neues Token generiert, das verwendet werden konnte, um den Laser für 10 Sekunden bei einer Leistung von 10/255 zu aktivieren.

Danach kühlte der Laser für 1 Minute ab und war in dieser Minute nicht verfügbar, nahm keine neuen Schussanfragen entgegen.

Diese Leistung war völlig unzureichend, um ein Seil zu durchtrennen, aber jeder Spieler konnte aus dem Megatron schießen und den Laserstrahl in Aktion sehen.

Die Reaktion der Community war überaus stürmisch.
Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Aber alle beruhigten sich schnell und verstanden, dass dies noch nicht das Ende des Spiels war.
Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

In der Folge begann die Community herauszufinden, wie man den Kampfmodus aktiviert.

Brainstorming.
Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?
Im Discord tauchten Fakes auf.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?
Wir wussten nicht, dass auf dem Tischbein bei der Übertragung etwas geschrieben war.

Die Gemeinschaft ist zu Schritt 4 übergegangen. Wir müssen herausfinden, wie die Tokens generiert werden: den Gist finden und ein Token erzeugen, das den Laser im Kampfmodus aktiviert.

Der Kampfmodus von Megatron ist eine 100% Laserleistung bei 3 W. Das reicht für 2 Minuten aus, um das Seil, das die Kugel hielt, zu durchtrennen, das Aquarium zu zerbrechen und den Server mit Wasser zu überfluten.

Wir haben einige Hinweise auf dem GitHub-Projekt hinterlassen.: insbesondere den Code zur Token-Generierung, aus dem hervorgeht, dass die Test- und Kampf-Tokens auf der Grundlage eines einzigen Zählerwerts generiert werden. Im Fall des Kampftokens wird zusätzlich zum Zählerwert auch ein Salt verwendet, das fast vollständig in der Historie dieser Gist-Änderungen erhalten geblieben ist, mit Ausnahme der letzten zwei Zeichen.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?
Wie alle schnell herausfanden, war dies 42.

In den Kommentaren des Gists gab es eine Korrespondenz zwischen Andrei Sokolov und dem Entwickler („schlauer Entwickler“, wie ihn die Jungs im Discord nannten).

In der Korrespondenz schickte Andrei eines der Kampf-Tokens, und der Entwickler antwortete, dass dieses Token mit einem Zählerwert von 42 initialisiert wurde.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wenn man diese Daten kennt, kann man die letzten 2 Zeichen des Salzes durchprobieren und tatsächlich herausfinden, dass für es Zahlen aus Lost verwendet wurden, die in das 16er-System übersetzt wurden.

Jetzt mussten die Spieler nur noch den Zählerwert erfassen (indem sie das Test-Token analysierten) und ein Kampf-Token generieren, das den nächsten Zählerwert und das im vorherigen Schritt gefundene Salz verwendete.

Der Zähler wurde bei jedem Testschuss und alle 25 Sekunden einfach inkrementiert. Darüber hatten wir nirgendwo etwas geschrieben; das sollte eine kleine Überraschung im Spiel sein. Die Jungs haben das sehr schnell verstanden und Megatron in den Kampfmodus versetzt.

Schritt 5. Mit dem Laser das Seil durchtrennen.

Video abspielen

So lief es ab.

Hier ist alles ganz einfach. Das Senden des Kampf-Tokens aktivierte den Laser im Kampfmodus, und der Raum wandelte sich in den 'Katastrophenmodus', wie wir ihn im allgemeinen Szenario nannten:

  • Das gesamte Licht im Raum wurde ausgeschaltet.
  • Die Tasten der IoT-Geräte auf der Website wurden unbrauchbar.
  • Es wurde ein Blitzlicht und ein Sirenenton aktiviert.
  • Die rote Kugel wurde beleuchtet.
  • Auf dem Fernseher begann ein Countdown bis zur Aktivierung des Lasers im Kampfmodus.

Wir haben einen Countdown von anderthalb Stunden gestartet, damit alle, die gespielt haben, die Übertragung einschalten und das Finale sehen konnten. Und das war nicht umsonst: Während ich mit zitterndem Herzen auf den Klang des Schlags und das zerbrechende Glas aus dem Nebenzimmer wartete, begonnen alle Teammitglieder, die das Quest erstellt haben, ohne Absprache zur Basis zu fahren, um das Finale mit eigenen Augen zu sehen. Sie rannten einfach in den Raum und begannen, sich zu umarmen.

In der Zwischenzeit im Discord
Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Nach dem Ende des Countdowns schaltete sich der Laser in den Kampfmodus und verbrannte das Seil in zwei Minuten — die Kugel flog direkt ins Aquarium. Vor dem Aufprall kreischte ein verrückter Wassergewöhnungsmann auf dem Bildschirm, während sie panisch ihre kleinen Pfoten hob.

Da das gesamte Team dort versammelt war, haben wir eine kurze Ansprache an alle aufgenommen, die zwei Tage lang im Discord um das Finale gekämpft haben, und sind dann gegangen, um Sekt zu öffnen:

Video abspielen

Wie haben wir die Startzeit der Werbevideos und den Fall der Kugel berechnet?

Nach einem Dutzend Tests zum Abschneiden des Seils mit dem Laser haben wir festgestellt, dass dies eine sehr unzuverlässige Konstruktion ist — das halb durchtrennte Seil wird dünner, spannt sich unter dem Gewicht der Kugel und verändert die Position, sodass der Laser es nicht mehr vollständig durchtrennen konnte.

Deshalb haben wir einen anderen Weg eingeschlagen: Wir haben die Verbrennung dupliziert, indem wir das Seil mit einer Nichromdraht umwickelt haben. Über den Draht wurde Strom geleitet, er erhitzte sich bis zur Rotglut und schnitt das Seil innerhalb von ungefähr 2 Sekunden durch — das gab uns ein genaues Verständnis dafür, wann wir das schreiende Wassergewöhnungsmann einschalten, den Timer stoppen und den Werbespot starten sollten:

Video abspielen

Was hat bei uns nicht funktioniert?

Im Finale sollte aus dem Gehäuse dicker Rauch aufsteigen, wie bei einem Feuer — wir hatten Rauchbomben vorbereitet, zündeten sie auf die gleiche Weise an, aber sie funktionierten aus irgendeinem Grund nicht (wahrscheinlich wegen des Wassers).

Wer ist der Gewinner?

Gewinner ist Arkadi Alexeev aus St. Petersburg — er war der Erste, der ein Test-Token generierte und die im Schredder verbliebenen 134.000 Rubel gewann.

Ein kurzes Interview mit Arkadi.

Erzähl uns von dir, was machst du beruflich?

Ich habe einen Abschluss in Sicherheitswesen und habe BIT an der ITMO abgeschlossen. Ich arbeite als Full-Stack-Webentwickler im Outsourcing. In der Schule war ich Olympionike, auch in Programmierung und Mathematik.

Wie hast du von dem Spiel erfahren?

Ich bin einfach auf Habr gegangen, um zu lesen, habe den Artikel gesehen und war interessiert.

Wie viele Stunden hast du gespielt, als du beigetreten bist?

Ich trat am Abend des Tages bei, an dem der Artikel veröffentlicht wurde (d.h. einen Tag vor Ende). Saß den Abend und einen großen Teil des nächsten Tages.

Was hat dir gefallen, was nicht?

Insgesamt hat mir alles gefallen (schließlich habe ich ja gewonnen), aber der Moment mit den Anrufen war etwas nervig. Sozusagen jede Version anzurufen und zu überprüfen, war nicht wirklich angenehm; ich wusste, dass da noch mehrere Dutzend andere anrufen, und die Hälfte hat Witze gemacht und versucht, soziale Ingenieurkunst zu betreiben.

Wie hast du verstanden, wie man den Kampftoken für Megatron findet?

Als ich eintrat, hatten sie bereits den Server gespamt, die Lämpchen gedrückt und das Passwort für das Admin-Panel des Lasers gefunden, allerlei Subdomains und Seiten.

Es war auch einfach, das Profil auf GitHub und die Gist mit den Kommentaren zu finden. Von dort war der Prozess zur Generierung des Tokens und des Secrets dafür offensichtlich. Bei solchen Quests muss man nicht allzu viel erfinden, da man sich in einer Vielzahl von Entwicklungsmöglichkeiten verlieren kann; man sollte den Pfad folgen, den der Quest-Ersteller vorgibt.

Angesichts der anderen Subdomains und der Testseite auf Tilda war klar, dass man nach Stromversorgung für den Laser den Token finden musste. Daher hatte ich noch am selben Abend eine grobe Anfrage zum Einschalten des Lasers skizziert (basierend auf 4 verfügbaren Formaten: 1 auf der Arbeitsseite und 3 auf der Test-/alten Seite) und versucht, mit gültigen Tokens ab 42 zu bruteforcen (einfach mal so versucht — vielleicht war ja schon alles eingeschaltet, und die Seite zum Senden des Tokens würde einfach nach der ID und dem Namen geöffnet).

Ich bin mir nicht sicher, ob die Anfrage korrekt war, da ich keine Zeit hatte, sie zu überprüfen (denn man konnte nur die Einschaltung des Lasers überprüfen), aber ich hatte mich im Voraus auf das Brute-Forcen des Tokens vorbereitet.

Es gab auch eine offensichtliche Logik mit WebSockets und der Steuerung der Geräte in der app.js-Datei. Dort gab es einen deutlichen Hinweis auf das A9-Gerät, dessen Socket beim Senden von power: true abstürzte. Ich habe versucht, allerlei gesendet, um vielleicht ein zusätzliches Gerät zur Entschlüsselung der ID zu finden, aber ohne Erfolg.

Dann habe ich noch die anderen IDs neben den zehn durchprobiert, aber überall war unbekanntes Gerät. Ich habe versucht, im Internet zu recherchieren, auf chsokolow@gmail.com zuzugreifen, verschiedene Anfragen über das Formular auf der Preisliste gesendet und ein bisschen bei lasermasters geforscht, aber alles ohne Erfolg. Am nächsten Tag saß ich im Chat, recherchierte weiter, dann kam das Stego-Thema auf und ich habe mich mit einer Person von Stegsolv für Bilder und GIFs beraten (auch wenn ich verstand, dass dort zu 99 % nichts ist, da es zu viel wäre + gegen den Hauptverlauf der Quest sprechen würde).

Aber letztendlich habe ich auch ein paar Stunden damit verbracht, alle Bilder und GIFs durchzugehen. Ich habe noch ein paar Mal mit verschiedenen Varianten der Steueridentifikationsnummer angerufen, aber ohne Erfolg. Dann habe ich beschlossen, es etwas hintenanzustellen, aber da wurde ein Hinweis veröffentlicht - und es war klar, dass in naher Zukunft die Steueridentifikationsnummer gefunden wird, was auch geschah. Dann hat entweder ich oder jemand anders (es ist nicht klar) 'power: true' an das a9-Gerät gesendet und der Laser hat funktioniert, obwohl vielleicht hier keine Verbindung besteht und es einfach nach der Steueridentifikationsnummer funktioniert hat. Auf jeden Fall ging ich in das Admin-Panel des Lasers und war ziemlich überrascht, da der Server selbst ein Token geschickt hat (und ich bereit war, zu brute-forcen). Es wurde offensichtlich, dass es sich um ein Test-Token handelte, denn Übertragung + gesunder Menschenverstand + ich habe es überprüft.

Im Code gab es die Logik, ein funktionierendes Token irgendwohin zu senden, aber anscheinend war entweder der Code falsch, oder es wurde für andere Teile des Systems benötigt. Ich habe ein Skript entworfen, um das aktuelle Arbeits-Token aus dem aktuellen Test-Token zu erhalten, und war dann ständig auf F5, um zu versuchen, sie zu senden - dabei gab es Probleme, da alle ständig die Senden-Taste drückten und dadurch das Token änderten. Dann ist die Website auch abgestürzt, der Zähler wurde zurückgesetzt, aber das ist nicht so wichtig - nach einer Weile habe ich das Arbeits-Token gesendet. Theoretisch war der Zähler 58 und das Token war 449a776938f7ce4cf19f8603045dca0f zum Zeitpunkt der Aktivierung, wenn ich mich nicht irre. Das ist eigentlich alles.

Dann war ich noch etwas verärgert über Kommentare wie 'ja, das ist alles trivial, ja, einfach Glück gehabt'. Nun, wenn man die Seite aufruft, eine Minute nachdenkt, ein Skript in ein paar Minuten schreibt und es überprüft – dann ja, trivial. Aber ich habe das in etwa 10-20 Sekunden gemacht, und danach konnte ich einfach einige Minuten lang das Token nicht senden.

Natürlich hätte man versuchen können, eine Logik für die automatische Erfassung und den Versand zu schreiben, aber das hätte länger gedauert und wäre mit einem großen Risiko verbunden gewesen; wahrscheinlich hätte auch die Cloud angefangen zu meckern. Was mir wirklich Glück gebracht hat, war der letzte Schritt – ein bisschen Algorithmen zur Geschwindigkeit + Reaktionsgeschwindigkeit, das liegt mir einfach. Wenn die Aufgabe direkt aus einem Pentest gekommen wäre, wäre ich wahrscheinlich nicht der Erste gewesen.

Aber das ist noch nicht das Ende

Ich kann es kaum erwarten, Ihnen von dem großartigen Team zu erzählen, das dieses Quest entwickelt hat, und von all den technischen Lösungen, die es gefunden hat. Aber dieser Beitrag ist bereits viel zu umfangreich geworden – daher wird es dazu separate Artikel geben, also bleiben Sie dran und abonnieren Sie unseren Blog auf Habré.

Wer hat den Schredder gestoppt oder wie sollte man die Quest zur Zerstörung des Servers abschließen?

Quelle: habr.com

60GB SSD 8Gb DDR4