Wie Baghunter Luftpostbriefe auf ZeroNights abfingen



Über Bug Bounty wurde bereits viel gesagt, und die Notwendigkeit solcher Programme für Unternehmen scheint offensichtlich. Während der Existenz unseres eigenen Programms zahlte Mail.ru Mail mehr als 250.000 US-Dollar, die durchschnittliche Auszahlung beträgt 379 US-Dollar. Wir haben bereits etwas mehr darüber geschrieben. Und heute werden wir am Beispiel der kürzlich abgehaltenen ZeroNights-Konferenz zur Informationssicherheit darüber sprechen, wie Sie Hacker dazu bringen können, durch spezielle Ereignisse an der Suche nach Fehlern und Schwachstellen teilzunehmen.

In diesem Jahr fand die ZeroNights-Konferenz im A2 Green Concert Club in St. Petersburg statt. Trotz des Umzugs aus Moskau kamen an zwei Tagen mehr als 1000 Teilnehmer an der Konferenz zusammen. Während der Konferenz wurden Berichte von vielen coolen Spezialisten gehört. Wenn Sie Hardcore benötigen, lesen Sie die NUClear-Exploration, Vom Grafikmodus zum Gott-Modus, Entdeckungsschwachstellen bei der GPU-Virtualisierung, Erforschung von Marvell Avastar Wi-Fi: von null Wissen bis zu drahtlosem Zero-Touch-RCE. In diesem Jahr gab es auch viele interessante Berichte über das Web, Sie können Folien und WebVillage sehen und nicht nur. Persönlich war mir der Bericht von Ilya Nesterov und Sergey Shekyan wichtig. Es wird immer schwieriger, einen Bot von einem echten Benutzer zu unterscheiden. Lesen Sie hier mehr über die Berichte.

Unsere Aufgaben


Wir stellen uns folgende Aufgaben:

  • Werbung für die Marke und das Programm Bug Bounty in der Community.
  • Rekrutierung intelligenter Spezialisten, die die Aufgabe erfolgreich bewältigen.

Idee


Die schwierigste Herausforderung bei solchen Projekten: interessante Aufgaben zu entwickeln, die zum einen die Teilnehmer anziehen und zum anderen ermöglichen, ihre tatsächlichen Fähigkeiten zu testen.

In diesem Jahr war unser Stand ein Bürogebäude mit pneumatischer Post. Das Wesentliche der Aufgabe: Der Leiter der Luftpost sendet Briefe an den Buchhalter, und die Aufgabe des Hackers besteht darin, den Pfad zu ändern und den Brief mit speziellen Dämpfern abzufangen.

Der Stand sah folgendermaßen aus:



Anstelle der Post selbst haben wir in der Buchhaltung standardmäßig Tennisbälle verwendet, die in den erforderlichen Laufwerken von oben nach unten abfielen. Es war notwendig, die Gates, die mit Arduino + RPi3 gesteuert wurden, zu aktivieren und die "Mail" auf andere Laufwerke umzuleiten.

Aktionsschema:

  • Wir sind mit dem Wi-Fi-Netzwerk des Jobs verbunden.
  • Wir finden im Raspberry Pi-Netzwerk, das mit dem Arduino verbunden ist, der die Dämpfer steuert.
  • Das RPi dreht einen Webserver. Zwei Aufgaben müssen erledigt werden - Schwachstellen ausnutzen und am Ende Schaltflächen zum Aktivieren der Dämpfer geben, mit denen "Mail" umgeleitet werden kann.



Der Ball symbolisiert den pneumatischen Buchstaben:



Ideen für Aufgaben haben wir den Berichten unserer Forscher entnommen.

Missionen


In der ersten Aufgabe mussten die Teilnehmer den RPi3-Host finden und dort eine typische Konfigurationsschwachstelle für den Apache-Webserver finden: die Seite / server-status, auf der alle eingehenden HTTP-Anforderungen angezeigt werden. Unter anderem kam eine Anfrage mit einem geheimen Wert in den GET-Parametern auf diese Seite, die es ermöglichte, die erste Ebene zu bestehen. Für diese Aufgabe erhielten Besucher einen 100-Dollar-Aktionscode für die Teilnahme an unserem Bug Bounty-Programm.

Lösung
Eine Apache-Konfigurationsschwachstelle wird von normalen Tools wie Dirbuster gesucht. Die Serverstatuszeile befindet sich in allen aktuellen Wörterbüchern. Darüber hinaus haben wir einige Tipps hinterlassen, damit die Aufgabe auch von einem normalen Telefon aus ohne Skripte und Programme gelöst werden kann.

Um die zweite Aufgabe abzuschließen, musste der Inhalt der bereits bekannten Überwachungsseite sorgfältig studiert werden. Im Client-Anwendungscode musste eine versteckte Methode gefunden werden, die nicht von der Schnittstelle aufgerufen wurde, sondern eine Sicherheitsanfälligkeit enthielt - eine „blinde“ NoSQL-Injektion in Mongodb.

Lösung
Um die Blindinjektion zu automatisieren, müssen zwei Aufgaben behandelt werden:
Schreiben Sie ein Skript, das 1 Bit Information in einer Anfrage empfangen kann. An der Ausgabe müssen Sie in der Lage sein, den logischen Interessenausdruck in die Anforderung einzufügen und gemäß der Antwort des Servers zu verstehen, ob er wahr oder falsch ist.

Um herauszufinden, wie Sie nach und nach interessante Informationen aus der Datenbank abrufen können (wenn Sie beispielsweise den Wert des Felds secret = 'some_secret' wissen möchten, können Sie reguläre Ausdrücke verwenden. Zuerst ermitteln wir das erste Zeichen secret ~ '^ a', secret ~ '^ b' ... secret ~ '^ s' ... Danach das zweite Geheimnis ~ '^ sa', Geheimnis ~ '^ sb' ... Ebenso bekommen wir das ganze geheime Zeichen).

Dies ist nicht die einzige und nicht die effizienteste Implementierung. Sie können bessere Optionen im sqlmap-Code sehen.

Die Hauptschwierigkeit war ein atypischer Technologie-Stack: MeteorJS, das Websockets sowie MongoDB und Pubsub anstelle der üblichen HTTP-Anforderungen und -Antworten aktiv verwendet, erlaubte nicht die Verwendung vorhandener Tools und verlangte von den Teilnehmern, dass sie Angriffe selbst automatisieren konnten. Viele Teilnehmer suchten nach Schwachstellen in der Funktionalität der MeteorJS-Plattform selbst und verwechselten sie mit einem Jobcode. Bei einigen Teilnehmern gab es auch Schwierigkeiten, Anfragen über Websockets zu automatisieren.



Die Teilnehmer erhielten ein Mail.ru Bug Hunter-Sweatshirt als Preis für diesen Wettbewerb.

Ergebnisse


In nur zwei Tagen der Konferenz nahmen mehr als 200 Personen an unserem Wettbewerb teil. 100 Teilnehmer haben die erste Aufgabe erledigt, 45 Personen haben die zweite Aufgabe erledigt.

Nachdem wir die Aufgabe erfolgreich abgeschlossen hatten, haben wir natürlich sofort ein Interview geführt. Die generierten Karten für 100 US-Dollar haben einen verzögerten Effekt, aber einige davon wurden bereits aktiviert und wir haben gute Fehler in H1. Sie ermutigen Hacker, nach neuen Fehlern zu suchen, helfen uns, unsere Systeme zu verbessern und die Sicherheit zu verbessern. Eine kleine Karte - tolle Ergebnisse. Und hundert Dollar sind hundert Dollar.



Source: https://habr.com/ru/post/de434334/


All Articles