Sieg bei PHDays 9. Wir teilen Life Hacks in drei Teilen. Teil 1

Hallo allerseits! Ich heiße Vitaliy Malkin. Ich bin Leiter der Abteilung für Sicherheitsanalysen bei Informzashchita und Teilzeitkapitän des True0xA3-Teams. Mit diesem Artikel beginnen wir einen Zyklus von 3 Materialien, die unserer Leistung beim PHDays IX Standoff gewidmet sind. In diesem Artikel erklären wir, warum kompetente Vorbereitung der halbe Erfolg ist, warum es so wichtig ist, „Früchte“ rechtzeitig zu sammeln und wie Sie die Interaktion des Pentest-Teams in einem einzigen Projekt organisieren können.

Der TL; DR-Artikel enthält eine Vielzahl von Engländern und komplexen Fachbegriffen, für die ich mich separat entschuldige.

I. Eingabe


Wir hatten 16 ausgewählte Pentester, 4 Auszubildende, 6 Server, unsere eigene CUDA-Station und den großen Wunsch zu gewinnen.

Wir haben die aktive Vorbereitungsphase 8 Tage vor dem Start von StandOff begonnen. Dies war unser dritter Versuch als Angreifer, und viele von uns hatten bereits genug Erfahrung, um zu verstehen, wonach sie in diesem Jahr suchen sollten. Wir haben 5 vorrangige Bereiche für die Ausarbeitung gesehen:

  1. Effektive Koordination;
  2. Sammlung von niedrig hängenden Früchten;
  3. Ausnutzung von Schwachstellen atypischer (für uns) Technologien (ACS TP, IoT, GSM);
  4. Vorbereitung der externen Infrastruktur und Ausrüstung;
  5. Entwicklung hinzufügen. Persistenz- und Härtungsmethoden.

Versuchen wir, diese Elemente der Reihe nach zu analysieren.

1. Effektive Koordination


Für mich ist es am einfachsten, über diesen Punkt zu sprechen, da ich für die allgemeine Entscheidung verantwortlich war. Während StandOff ist meiner Meinung nach das häufigste Problem für Anfänger eine schlechte Koordination. Die Teammitglieder lösen die gleichen Aufgaben, es gibt kein klares Verständnis dafür, was bereits beobachtet wurde und was nicht. Die über die Aufgabe empfangenen Informationen werden nicht untereinander übertragen, wodurch die Arbeitseffizienz stark abnimmt. Und je mehr Teilnehmer, desto mehr sinkt die Effizienz. Darüber hinaus ist es sehr nützlich, eine Person zu haben, die das allgemeine Bild der Infrastruktur gut versteht und einzelne Schwachstellen zu einem vollwertigen Angriffsvektor verknüpfen kann.

Dieses Jahr wurde die Discord-Plattform für die Teaminteraktion ausgewählt. Im Allgemeinen ist es dem guten alten IRC-Chat mit zusätzlichen Funktionen wie Datei-Upload-A und Sprachkommunikation sehr ähnlich. Wir haben alle Objekte aus den Agend-Wettbewerben beschrieben und für jedes einen Kanal erstellt, in den Informationen gepostet wurden. Somit konnte jede Person, die sich mit der Aufgabe verband, alles sehen, was auf sie zukam, einschließlich der Ergebnisse des Startens verschiedener Tools und der manuellen Suche. Auf allen Infokanälen wurde ein Limit von einer Nachricht pro Minute festgelegt, um ein Überfluten zu verhindern. Die gesamte Diskussion wurde in separaten Chats geführt, die auch für jedes Objekt erstellt wurden.



Eine Reihe von organisatorischen Entscheidungen wurde ebenfalls getroffen, um die Koordination zu verbessern. Im Allgemeinen ist es für unser Team nicht üblich, Aufgaben mit dem Wortlaut „NADO“ festzulegen. Wir versuchen zu diskutieren, warum diese oder jene Aufgabe gestellt wird, wozu ihre Implementierung führen wird und wie sie effizienter ausgeführt werden kann. Im Rahmen von StandOff kann ein solches Modell jedoch zu unnötigen Streitigkeiten führen. Daher haben wir beschlossen, dem Koordinator die vollständige Autorität über den Prozess anzuvertrauen. Innerhalb von 28 Stunden nach dem Wettbewerb wurden seine Entscheidungen praktisch nicht besprochen, was uns sicherlich viel Zeit gespart hat. Obwohl es möglicherweise die Qualität der Kommunikation beeinträchtigt hat. Darüber hinaus haben wir uns entschlossen, die Verantwortungsbereiche sehr klar abzugrenzen: Trotz der Tatsache, dass einige der Teammitglieder nicht die aufregendsten Aufgaben hatten.

2. Sammlung von niedrig hängenden Früchten


Meiner Meinung nach war das Hauptgeheimnis unseres Erfolgs: eine große tägliche Erfahrung mit Projekten und die korrekte Priorisierung von Aufgaben. Letztes Jahr konnten wir ein ganzes Büro erfassen und für das gesamte Spiel halten, einfach aufgrund schnell gehackter einfacher Schwachstellen. In diesem Jahr haben wir uns zentral mit dem Problem befasst und eine Liste solcher Schwachstellen zusammengestellt.

ms17-010; ms08-67; SMBCRY LibSSH RCE; HP DATA Protectoer; HP iLo; ipmi Cisco Smart Install Java RMI JDWP; JBOSS; drupalgeddon2; Weblogic Herzblut Muschelschock; IBM Websphere iis-webdav; Dienstleistungen; vnc; ftp-anon; NFS smb-null; Kater

Als nächstes wurden zwei Checker- und Penetrator-Dienste geschrieben, die in einem automatisierten Modus unter Verwendung öffentlicher Exploits und Metasploit zuerst nach Schwachstellen suchten und dann versuchten, diese auszunutzen. Das Dienstprogramm erhielt am Eingang einen nmap-Bericht, der den Prozess letztendlich beschleunigte.

3. Ausnutzung von Schwachstellen atypischer (für uns) Technologien (ACS TP, IoT, GSM)


Wir machen meistens Projekte für Banken und andere Finanzorganisationen. SCADA-Systeme haben in diesem Fall eher den folgenden Stil: „Wenn Sie Netzwerkzugriff auf den Scada erhalten konnten, beheben Sie dies und zählen Sie dies als eines der Kriterien für den Erfolg des Projekts.“ Daher haben wir keine gute Erfahrung in der Analyse der Sicherheit von Prozessleitsystemen. Dies führte wiederum dazu, dass wir uns eine Woche vor StandOff dringend zusammensetzten, um typische Schwachstellen zu untersuchen. Bei IoT und GSM ist die Situation noch schlimmer: Wenn IoT manchmal in Projekten zu finden ist, haben wir GSM nur bei früheren StandOffs gesehen.

Während der Vorbereitung haben wir zwei separate Personen im automatisierten Prozessleitsystem und zwei weitere Personen im Bereich GSM und IoT identifiziert. Während der Vorbereitungswoche schrieb die 1. Gruppe typische Ansätze für das Pentest von SCADA-Systemen auf und untersuchte ausführlich ein Video zur ICS-Infrastruktur des letzten Jahres. Die Jungs haben auch ungefähr 200 GB verschiedener HMIs, Treiber und anderer Software herausgepumpt, die in direktem Zusammenhang mit den Controllern stehen. Was GSM und IoT betrifft, haben wir hier einige Eisenstücke vorbereitet, alle verfügbaren Artikel über GSM gelesen und gehofft, dass dies ausreichen würde. (SPOILER: Nicht wirklich!)

4. Vorbereitung der externen Infrastruktur und Ausrüstung


Da unser Team dieses Jahr groß genug sein wird, haben wir sofort entschieden, dass wir zusätzliche Ausrüstung benötigen. Das Folgende ist eine Liste von Vorschlägen, die wir im Team gesammelt haben. Das Pluszeichen zeigt an, dass wir sie letztendlich angenommen haben:

- Kaffeemaschine;
+ - CUDA-Server (sie haben es nicht mitgenommen, aber sie haben es benutzt);
+ Ersatz-Laptop;
+ WIFI-Router;
+ verwalteter Schalter;
+ Netzwerkkabel unterschiedlicher Länge (20 Stück);
+ Pilot (3 Stück);
+ Wi-Fi Alfa (3 Stück);
+ Gummiente (2 Stück);
- Proxmark;
- eine Kamera.

Was die Infrastruktur betrifft, ist dies ein separates Lied. Letztes Jahr haben wir festgestellt, wie nützlich es ist, eine CUDA-Station zu verwenden, bei der mehrere Handshakes unterbrochen wurden. Daher bestand kein Zweifel daran, dass diese verwendet werden muss. Es ist wichtig, dass sowohl in diesem Jahr als auch in der Vergangenheit alle Angreifer hinter der NATth standen, die die Möglichkeit von Rückverbindungen von der DMZ generell ablehnte. Mit Ausnahme der ICS-Knoten sollten jedoch absolut alle Hosts Zugang zum Internet haben. In diesem Zusammenhang haben wir beschlossen, drei Listener-Server einzurichten, auf die über das Internet zugegriffen werden kann. Zur Vereinfachung des Schwenkens und der Konsolidierung haben wir unseren eigenen OpenVpn-Server mit aktiviertem Client-zu-Client-Modus verwendet. Leider ist es nicht möglich, den Prozess des Verbindens eines Gateways zu automatisieren. Daher arbeitete eines der Teammitglieder etwa 12 von 28 Stunden lang mit Gateways.

5. Entwicklung von add. Persistenz- und Hardenin-Methoden


Unsere bisherigen Erfahrungen mit StandOff haben sehr deutlich gezeigt, dass es nicht ausreicht, einen Server erfolgreich zu hacken: Es ist wichtig, dass andere nicht darin Fuß fassen. Daher wurde RAT mit neuen Signaturen und Skripten genügend Aufmerksamkeit geschenkt, um den Schutz von Windows zu verbessern. Wir haben unsere Standard-RAT verwendet und die Verschleierungsmethoden geringfügig geändert. Die Regeln waren etwas komplizierter. Im Allgemeinen haben wir für uns die folgenden Skripte festgelegt:

  • Schließen von SMB und RPC;
  • Portieren von RDP auf einen nicht standardmäßigen Port;
  • Deaktivieren der reversiblen Verschlüsselung, der Gastkonten und anderer Einstellungen über die Sicherheitsbasislinie.

Für Linux wurde ein spezielles Init-Skript entwickelt, das alle Ports schloss, SSH an einem nicht standardmäßigen Port öffnete und die öffentlichen Schlüssel des Befehls für den Zugriff auf SSH registrierte.

II. Briefing


Am 17. Mai, 5 Tage vor StandOff, fand ein Briefing für Angreifer statt. Dabei tauchten viele Informationen auf, die unser Training beeinflussten.

Erstens haben die Organisatoren eine Karte des Netzwerks veröffentlicht, und dies ist eine große Hilfe für uns geworden. Wir konnten die Verantwortungsbereiche im Voraus aufteilen, die Netzwerksegmente aktualisieren und vor allem verstehen, was das Netzwerk ist. Meiner Meinung nach war die wichtigste Aussage bei der Besprechung der Satz, dass das ICS-Netzwerk nur von einem Segment aus zugänglich sein wird und dieses Segment nicht geschützt wird. Darüber hinaus werden die meisten Punkte für IKS und sichere Büros vergeben, und die Organisatoren fördern direkt den Kampf um Netzwerke zwischen Hackern.

Wir haben diese Informationen folgendermaßen aufgenommen: "Derjenige, der die Bigbrogroup erobert, wird wahrscheinlich das Spiel gewinnen." Die Erfahrung hat uns gezeigt: Unabhängig davon, welche Bestrafung die Organisatoren für einen einfachen Dienst verhängen würden, würden Verteidiger gefährdete Dienste fallen lassen, wenn sie sie nicht flicken könnten. Immerhin ist es viel schlimmer, wenn sie auf der Bühne der größten Informationssicherheitskonferenz bekannt geben, dass Sie Hacker verwöhnt haben, als wenn sie Ihnen einige Spielpunkte weggenommen haben. Unsere Theorie wurde bestätigt, aber wir werden im 2. Artikel ausführlich darauf eingehen.

Aus diesem Grund haben wir beschlossen, das gesamte Team in vier Teile zu teilen:

1. Bigbrogroup. Dies war die Aufgabe, der wir die höchste Priorität zugewiesen haben. Das Team umfasste die Personen mit der größten Erfahrung beim Einbruch in die interne Infrastruktur verschiedener Kunden. Insgesamt bestand dieses Miniteam aus 5 Personen. Ihr Ziel war es, so schnell wie möglich in der Domäne Fuß zu fassen und andere Teams vom Zugang zum IKS auszuschließen.

2. Drahtloses Netzwerk. Das Team, das für die Überwachung von Wi-Fi verantwortlich war, verfolgte neue Punkte, fing Handshakes ab und brutalisierte sie. GSM trat ebenfalls in ihre Aufgaben ein, aber zunächst war es notwendig, Wi-Fi zu erfassen und andere Befehle davon abzuschneiden.

3. Ungeschützte Netzwerke. Das Team, das in den ersten vier Stunden alle ungeschützten Netzwerke auf Schwachstellen hin ausgewählt hat. Wir haben verstanden, dass in diesen vier Stunden in den geschützten Segmenten nichts besonders Wichtiges passieren wird, und wenn dies der Fall ist, werden die Verteidiger es zurückrollen. Daher konzentrierten sie sich auf das, was sich irreversibel hätte ändern können. Wie sich herausstellte - nicht umsonst. Vier Stunden später begann dieselbe Gruppe, geschützte Segmente zu analysieren.

4. Scannergruppe. Die Organisatoren gaben direkt an, dass sich die Netzwerke ändern werden, sodass wir zwei Personen hatten, die das Netzwerk kontinuierlich nach Änderungen durchsuchten. Die Automatisierung war nicht so einfach, da in verschiedenen Netzwerken zu unterschiedlichen Zeiten unterschiedliche Einstellungen erforderlich waren. Zum Beispiel funktionierte nmap in der ersten Stunde im fe.phd-Netzwerk für uns im T3-Modus einwandfrei und nach 12 Stunden in T1 kaum.

Ein weiterer wichtiger Vektor für uns war die Liste der von den Organisatoren veröffentlichten Software und Technologien. Für jede Technologie haben wir versucht, ein eigenes Kompetenzzentrum einzurichten, das sehr schnell helfen und typische Schwachstellen erkennen kann.

Für einige Dienste haben wir sehr interessante Sicherheitslücken gefunden, aber es gab keine öffentlichen Exploits. So war es zum Beispiel bei Redis Post-Exploitation RCE. Wir waren uns sicher, dass diese Sicherheitsanfälligkeit in der Gaming-Infrastruktur auftreten würde, und haben uns daher entschlossen, unseren eigenen 1-Tages-Exploit zu schreiben. Es war nicht möglich, einen Tag speziell für diese Sicherheitsanfälligkeit zu schreiben, aber insgesamt hatten wir ungefähr fünf nicht öffentliche Exploits zur Verfügung, die wir verwenden konnten.



Leider haben wir es nicht geschafft, alle Technologien zu teilen, aber es war nicht so beängstigend. Wir haben den Hauptsatz abgedeckt, und das war genug. Es gab auch eine Liste von Prozesssteuerungen, die wir ebenfalls aussortierten und versuchten, uns darauf vorzubereiten.

In Vorbereitung auf den Kampf haben wir verschiedene Tools für die nahtlose Verbindung mit dem physischen ICS-Netzwerk vorbereitet. Zum Beispiel haben wir ein billiges Analogon von Pineapple-a mit Himbeere implementiert. Das Modul wurde über Ethernet mit dem industriellen Netzwerk und über GSM mit dem Verwaltungsdienst verbunden. Als Nächstes könnten wir die Ethernet-Verbindung remote konfigurieren und mithilfe des integrierten Wi-Fi-Moduls vor Ort verteilen. Leider haben die Organisatoren beim Briefing deutlich gemacht, dass es unmöglich ist, eine physische Verbindung zum ICS herzustellen. Deshalb haben wir dieses Modul bis zu besseren Zeiten verlassen.

Es gab viele Informationen über die Bank, die Offshore-Bank und die Arbeit des Betrugs. Nachdem wir jedoch erfahren hatten, dass nicht viel Geld darin steckt, beschlossen wir, uns nicht im Voraus darauf vorzubereiten, sondern uns auf dem Weg etwas auszudenken.

Zusammenfassend haben wir in Vorbereitung ziemlich viel Arbeit geleistet. Es ist wichtig anzumerken, dass es neben den offensichtlichen Pluspunkten in Form einer erfolgreichen Leistung bei StandOff auch keine offensichtlichen gab.

  • Eine solche Vorbereitung ist eine großartige Möglichkeit, sich ablenken zu lassen und etwas zu tun, das ich schon lange erforschen wollte, und im Rahmen der Projektaktivität blieb einfach keine Zeit.
  • Wir haben keine Projekte, die das gesamte Team als Teil einer Aufgabe einbeziehen, daher haben wir eine gute Teambildung, die bestimmte Ziele verfolgt.
  • Vieles von dem, was wir getan haben, kann in realen Projekten verwendet werden. Neben der Erweiterung unserer Kompetenzen haben wir auch vorgefertigte Tools erhalten.

Nachdem ich dies alles im Text beschrieben habe, verstehe ich, dass wir nichts so Grandioses erreicht haben, wie es von früher schien. Generell scheint mir die richtig organisierte Vorbereitungsphase der Hauptgrund für den Sieg unseres Teams zu sein. Und was direkt während StandOff selbst passiert ist - das werde ich im zweiten Artikel des Zyklus erzählen.

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


All Articles