Fuite des jetons d'accès

Fuite des jetons d'accès

Un jeton divulgué sans expiration est une clé principale permanente.

Qu'est-ce que Fuite des jetons d'accès?

Un jeton d'accès personnel fait office de compte qui l'a créé. Présentez-le et l'API vous traite comme ce développeur, sans mot de passe ni second facteur. La portée et l'expiration limitent les dommages ; un jeton classique avec un large accès à l'organisation et sans expiration n'a ni l'un ni l'autre. Vous choisirez un jeton dans un fichier public, répertorierez les référentiels privés d'une organisation, puis en clonerez un et repousserez une validation en tant que propriétaire. Vous le révoquerez, rééditerez un remplacement précis limité à un référentiel et activerez l'analyse secrète et la protection push.

Ce que vous apprendrez dans Fuite des jetons d'accès

Fuite des jetons d'accès — Étapes de la formation

  1. La moissonneuse d'essentiel de Bob

    Bob ne lit pas l'essentiel à la main. Il gère un petit grattoir qui page l'essentiel du flux public de la plate-forme et analyse chaque fichier à la recherche de tout ce qui ressemble à un identifiant. Le flux est ouvert à tous, aucun compte n'est nécessaire, donc l'ensemble du flux d'informations publiques lui appartient.

  2. Exécutez la moissonneuse

    Bob dirige le grattoir. Il extrait l'essentiel du flux public et associe chaque fichier à ses modèles d'informations d'identification. La plupart des hits sont des clés mortes, expirées ou désactivées, mais l'une d'entre elles est active : un jeton d'accès personnel Loomwick se trouvant dans l'essentiel du déploiement d'un développeur.

  3. Ouvrir l'essentiel du signalement

    Bob ouvre l'essentiel du grattoir signalé. L'assistant de déploiement est un cadeau : il contient le jeton dans son intégralité, nomme le référentiel qu'il cible et montre exactement comment il est utilisé.

  4. Ce que le jeton peut faire

    Avant de l'utiliser intensivement, Bob demande à la plateforme quel est le token. Il appelle l'API de Loomwick avec le jeton dans un en-tête Authorization, et la réponse décrit les informations d'identification elles-mêmes. Il appartient à un développeur ordinaire, pas à un administrateur, mais les portées sont vastes et il n'y a pas d'expiration.

  5. Lister les dépôts privés

    Maintenant, Bob met le jeton au travail. Il demande à l'API de lister les référentiels de l'organisation, et les privés reviennent aux côtés du public. Il n'a jamais détenu de compte Loomwick. Le jeton seul suffit.

  6. Cloner un dépôt privé

    Avec le jeton, Bob clone un référentiel privé directement sur sa propre machine. L'essentiel lui a remis à la fois les informations d'identification et le référentiel exact qu'il cible. Le clone extrait le noyau de facturation dans son intégralité : source, configuration et historique.

  7. Ouvrez le fichier webhook

    L'accès en lecture est déjà assez mauvais, mais le jeton peut aussi écrire. Bob ouvre un fichier webhook dans le référentiel cloné, à la recherche d'un endroit calme pour ajouter sa propre ligne.

  8. Plantez le changement

    Bob ajoute une seule ligne. Chaque événement de facturation transmis par le service est désormais envoyé à son propre collecteur ainsi qu'au grand livre interne. Il s’agit d’un petit changement discret, du genre qui échappe à un examen chargé.

  9. Valider le changement

    Bob valide la modification. Le message se lit comme un ajustement inoffensif du transitaire, mais le différentiel transporte discrètement sa ligne d'exfiltration.

  10. Push en tant que développeur

    Ensuite, Bob renvoie la validation à Loomwick via l'URL du référentiel authentifié. La plateforme l'accepte : le token est traité comme Maya, donc l'écriture atterrit sur la branche par défaut. Un jeton divulgué n’est pas seulement un accès en lecture. Il porte l'identité complète du développeur, y compris le pouvoir de modifier ce qui est livré.

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

CWE

  • CWE-522 Insufficiently Protected Credentials
  • CWE-798 Use of Hard-coded Credentials

MITRE ATT&CK

  • T1552.001 Unsecured Credentials: Credentials In Files
  • T1078 Valid Accounts

CIS Controls

  • CIS 5 Account Management
  • 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.AA Identity Management, Authentication, and Access Control
  • PR.PS Platform Security