Abus de métadonnées d'instance

Abus de métadonnées d'instance

SSRF plus un point de terminaison de métadonnées équivaut à des informations d'identification de rôle volées.

Qu'est-ce que Abus de métadonnées d'instance?

Le service de métadonnées de l'instance répond à toute demande effectuée depuis l'intérieur de l'instance, et l'une des choses qu'il restitue sont les informations d'identification temporaires du rôle d'instance. Il n'authentifie rien, ce qui transforme un bug ordinaire de falsification de requête côté serveur en vol d'informations d'identification cloud. Vous pointerez l'url source d'une fonctionnalité d'importation vers 169.254.169.254, lirez la clé d'accès, le secret et le jeton de session, et les utiliserez pour accéder à des données que l'application n'a jamais pu atteindre. Le correctif est IMDSv2 : nécessite un jeton de session pour qu'un seul GET falsifié ne puisse pas se terminer et définit la limite de saut de réponse.

Ce que vous apprendrez dans Abus de métadonnées d'instance

Abus de métadonnées d'instance — Étapes de la formation

  1. Un serveur qui récupère pour vous

    Bob travaille chez Vurloch, une entreprise dont le logiciel gère les inspections des bâtiments : calendriers, rapports et détails d'accès dont les inspecteurs ont besoin pour accéder aux propriétés. Une fonctionnalité le démarque, car elle effectue elle-même la récupération. Les inspecteurs peuvent importer un rapport en collant une URL. Le serveur de Vurloch le récupère. Cela signifie que Bob peut demander au serveur de Vurloch des choses que Bob ne peut pas atteindre directement.

  2. Ce que fait réellement la fonctionnalité

    Avant d'y toucher, Bob lit ce que propose la page. Il s'agit d'un outil d'importation : collez un lien vers un rapport d'inspection et Vurloch le dépose sur la propriété. La partie intéressante est de savoir qui effectue le téléchargement.

  3. Utiliser la fonctionnalité comme prévu

    Il commence par l'utiliser comme le ferait un inspecteur : collez l'URL du rapport d'un partenaire et laissez Vurloch la récupérer. Ce qu'il fait en réalité, c'est transmettre la demande par voie électronique afin de pouvoir l'examiner.

  4. L'URL n'est qu'un paramètre

    L'importation a fonctionné. Bob ouvre le panneau réseau et regarde ce que la page a réellement envoyé, car une fonctionnalité qui récupère les URL n'est intéressante que s'il contrôle l'URL.

  5. Pointez-le vers le service de métadonnées

    Il existe une adresse qui répond uniquement depuis l'intérieur d'une instance cloud : le service de métadonnées, sur une adresse IP de lien local fixe. Il vend les informations d'identification du rôle de l'instance à tout ce qui le demande sur l'instance. Bob modifie la demande capturée, remplace l'URL du partenaire par cette adresse, puis la renvoie.

  6. Il a récupéré les informations d'identification

    Le serveur a fait exactement ce qui lui était demandé et a rendu ce qui est sorti à l'autre bout.

  7. À qui sont ces références

    Bob enregistre les trois valeurs dans un profil et demande au cloud qui il est maintenant.

  8. Ce que le serveur pourrait atteindre et que l'application n'a jamais exposé

    L'application peut déposer un rapport contre une propriété. Le rôle derrière cela peut faire bien plus, et Bob recherche les données que l'application conserve mais ne les distribue jamais. Il diffuse les archives d'inspection directement sur son terminal.

  9. D'où viennent les informations d'identification

    Bob dispose de détails d'accès physique à des dizaines de milliers de propriétés, via une fonctionnalité qui récupère simplement les URL.

  10. L'identité du serveur, utilisée comme une personne

    La surveillance de Vurloch signale le rôle de l'instance d'application en train de lire le stockage qu'elle n'a aucune raison de toucher.

Couverture des référentiels de sécurité

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