Module

M06: Security Misconfiguration

Hier geht es um Dateien, Endpunkte und Antworten, die der Server unbeabsichtigt ausliefert.

Die Aufgaben 1 bis 3 sind der leichte Einstieg: Security Policy lesen, versehentlich mitgelieferte Infrastruktur-Dateien finden, und aus diesen Dateien ein Konto übernehmen. Die Aufgaben 2 und 3 gehören zusammen; das Verzeichnis aus Aufgabe 2 wird in M09 noch gebraucht.

  1. Aufgabe 01

    Security Policy lesen, bevor es losgeht

    Sich so verhalten, wie es sich für einen White Hat gehört – bevor überhaupt angegriffen wird.

    Wer greift eine Anwendung an, ohne die Regeln des Betreibers gelesen zu haben?

    Gesucht ist die Datei, in der ein Betreiber seine Sicherheitskontakte und Regeln hinterlegt.

    Es gibt einen standardisierten Pfad dafür. Der Shop hält sich daran.

    Kein Exploit nötig. Die Aufgabe übt die Haltung und zeigt zugleich, dass so eine Datei zur Grundkonfiguration gehört.

  2. Aufgabe 02

    Versehentlich ausgelieferte IaC-Dateien finden

    Die Infrastructure-as-Code-Dateien finden, die aus Versehen mit der Webanwendung ausgeliefert wurden.

    Die Entwickler haben ihr Cloud-Deployment und die Container irgendwie automatisiert.

    Solche Werkzeuge legen ihre Konfiguration in einem Verzeichnis mit sehr vorhersagbarem Namen ab.

    Gängige Verzeichnisnamen ausprobieren, die verbreitete Deployment- und Infrastruktur-Werkzeuge per Konvention benutzen.

    Dieses Verzeichnis wird in Aufgabe 3 und später in M09 noch gebraucht.

  3. Aufgabe 03

    Log in mit dem Cloud-Admin-Account

    Sich als Cloud-Admin anmelden – ohne SQL Injection und ohne das Passwort zu erraten.

    Brute Force scheitert: das Passwort ist zu stark.

    Es gibt einen anderen Weg, sich auszuweisen, als das richtige Passwort zu kennen.

    Nach sensiblen Informationen suchen, die versehentlich mit der Anwendung deployt wurden – siehe Aufgabe 2.

    Eine Terraform-Datei im Infrastruktur-Verzeichnis enthält ein Geheimnis, mit dem sich Tokens selbst ausstellen lassen.

  4. Aufgabe 04

    Mortys Passwort zurücksetzen

    Mortys Passwort über „Passwort vergessen“ zurücksetzen – mit seiner verschleierten Antwort auf die Sicherheitsfrage. Ohne Brute-Force-Ansatz ist das fast nicht zu schaffen.

    Zuerst herausfinden, wer Morty wirklich ist. Das verkleinert den Suchraum.

    Morty hat wahrheitsgemäß geantwortet, aber verschleiert – Stichwort Leetspeak.

    Die Antwort ist kürzer als zehn Zeichen und enthält keine Sonderzeichen.

    „Passwort vergessen“ ist rate-limitiert. Den Schutz irgendwie umgehen.

  5. Aufgabe 05

    Log in mit den Zugangsdaten des Support-Teams

    Mit den originalen Zugangsdaten des Support-Teams anmelden – ohne SQL Injection oder andere Bypasses.

    Die eigentliche Schwäche ist eher menschlich als technisch.

    Um Missbrauch vorzubeugen, ist das Passwort des Support-Kontos sehr stark.

    Für den Zugriff im Vorfall nutzt das Team ein zusätzliches Tool, über das jede Support-Person das aktuelle Kontopasswort holen kann.

    Ein wichtiger Hinweis liegt im Ordner /ftp/.

    SQL Injection als Support-Team ist möglich, löst die Aufgabe aber nicht.