Missbrauch von Instanzmetadaten

Missbrauch von Instanzmetadaten

SSRF plus ein Metadatenendpunkt entsprechen gestohlenen Rollenanmeldeinformationen.

Was ist Missbrauch von Instanzmetadaten?

Der Instanzmetadatendienst beantwortet alle Anfragen innerhalb der Instanz und gibt unter anderem die temporären Anmeldeinformationen der Instanzrolle zurück. Es wird nichts authentifiziert, was einen gewöhnlichen serverseitigen Anforderungsfälschungsfehler in einen Diebstahl von Cloud-Anmeldeinformationen verwandelt. Sie verweisen auf die Quell-URL einer Importfunktion auf 169.254.169.254, lesen den Zugriffsschlüssel, das Geheimnis und das Sitzungstoken und verwenden diese, um auf Daten zuzugreifen, die die Anwendung niemals erreichen könnte. Der Fix ist IMDSv2: Erfordern Sie ein Sitzungstoken, damit ein einzelner gefälschter GET nicht abgeschlossen werden kann, und legen Sie das Antwort-Hop-Limit fest.

Was Sie lernen in Missbrauch von Instanzmetadaten

Missbrauch von Instanzmetadaten — Trainingsschritte

  1. Ein Server, der für Sie holt

    Bob arbeitet bei Vurloch, einem Unternehmen, dessen Software Gebäudeinspektionen durchführt: Zeitpläne, Berichte und die Zugangsdaten, die Inspektoren benötigen, um Zugang zu Immobilien zu erhalten. Ein Feature fällt ihm besonders auf, denn es erledigt den Abruf selbst. Prüfer können einen Bericht importieren, indem sie eine URL einfügen. Vurlochs Server ruft es ab. Das bedeutet, dass Bob Vurlochs Server dazu bringen kann, Dinge anzufordern, die Bob nicht direkt erreichen kann.

  2. Was die Funktion tatsächlich bewirkt

    Bevor er es berührt, liest Bob, was die Seite bietet. Es handelt sich um ein Importtool: Fügen Sie einen Link zu einem Inspektionsbericht ein und Vurloch legt ihn bei der Immobilie ab. Der interessante Teil ist, wer den Download durchführt.

  3. Nutzen Sie die Funktion wie vorgesehen

    Er verwendet es zunächst so, wie es ein Inspektor tun würde: Er fügt die Berichts-URL eines Partners ein und lässt sie von Vurloch abrufen. Was er wirklich tut, ist, die Anfrage auf den Draht zu bekommen, damit er sie sich ansehen kann.

  4. Die URL ist nur ein Parameter

    Der Import hat funktioniert. Bob öffnet das Netzwerk-Panel und schaut sich an, was die Seite tatsächlich gesendet hat, denn eine Funktion zum Abrufen von URLs ist nur dann interessant, wenn er die URL kontrolliert.

  5. Richten Sie es auf den Metadatendienst

    Es gibt eine Adresse, die nur innerhalb einer Cloud-Instanz antwortet: der Metadatendienst auf einer festen lokalen IP-Adresse. Es gibt die eigenen Rollenanmeldeinformationen der Instanz an alles auf der Instanz weiter, das eine Anfrage stellt. Bob bearbeitet die erfasste Anfrage, ersetzt die Partner-URL durch diese Adresse und sendet sie erneut.

  6. Es wurden die Anmeldeinformationen abgerufen

    Der Kellner tat genau das, was von ihm verlangt wurde, und gab am anderen Ende das zurück, was herauskam.

  7. Wessen Referenzen sind das?

    Bob speichert die drei Werte in einem Profil und fragt die Cloud, wer er jetzt ist.

  8. Was der Server erreichen konnte, wurde von der App nie offengelegt

    Der Antrag kann eine Anzeige gegen eine Immobilie einreichen. Die Rolle dahinter kann weit mehr und Bob macht sich auf die Suche nach den Daten, die die App speichert, aber nie weitergibt. Er streamt das Inspektionsarchiv direkt auf sein Terminal.

  9. Woher die Anmeldeinformationen kamen

    Bob verfügt über physische Zugangsdaten für Zehntausende von Immobilien, die über eine Funktion erfasst werden, die lediglich URLs abruft.

  10. Die Identität des Servers, verwendet wie eine Person

    Die Überwachung von Vurloch weist darauf hin, dass der Rollenlesespeicher der App-Instanz keinen Grund hat, ihn zu berühren.

Abdeckung der Sicherheits-Frameworks

CWE

  • CWE-918 Server-Side Request Forgery (SSRF)
  • CWE-522 Insufficiently Protected Credentials

MITRE ATT&CK

  • T1552.005 Unsecured Credentials: Cloud Instance Metadata API

CIS Controls

  • CIS 4 Secure Configuration of Enterprise Assets and Software
  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security