Escalade des privilèges verticaux

Escalade des privilèges verticaux

Réécrivez une revendication dans votre propre jeton, devenez l'administrateur.

Qu'est-ce que Escalade des privilèges verticaux?

L'escalade horizontale se déplace latéralement vers les données d'un autre utilisateur. L'escalade verticale gravit les échelons, car la porte d'autorisation fait confiance à une valeur détenue par l'attaquant. Vous découvrirez votre rôle voyageant dans un cookie de session JWT, réécrivez la revendication de spectateur en administrateur et accédez à une console d'opérations sans mot de passe volé ni code d'exploitation. La porte décode le jeton et lit la déclaration sans vérifier la signature, et le décodage ne prouve rien. Le correctif vérifie d'abord la signature, avec des privilèges redirigés côté serveur à partir d'enregistrements approuvés comme filet de sécurité.

Ce que vous apprendrez dans Escalade des privilèges verticaux

Escalade des privilèges verticaux — Étapes de la formation

  1. Un siège en lecture seule

    Bob détient un compte légitime mais à faible privilège sur la console d'exploitation de Talveyn, le siège d'affichage en lecture seule d'un entrepreneur. Il se connecte avec ses propres identifiants, exactement comme il en a le droit. Aucun mot de passe volé, aucun compte piraté. Il atterrit chez son spectateur. Il peut voir ses files d'attente d'assistance et une carte à laquelle il n'est pas censé toucher : la console d'administration.

  2. La porte verrouillée

    Bob ouvre quand même la console d'administration depuis son tableau de bord, juste pour voir jusqu'où va son siège. Le serveur le renvoie avec un avis de restriction. La porte est réelle. La question intéressante est de savoir ce que cette porte vérifie réellement.

  3. Le rôle est dans le jeton

    Bob ouvre l'inspecteur de cookies du navigateur. Sa session est un JWT, et la console l'a décodé en déclarations lisibles : sous quel nom il est connecté et le rôle qu'elle lui accorde. Le voilà, bien en vue : un téléspectateur de revendications de rôle. La valeur même que le portail vérifie se trouve dans un jeton que son propre navigateur détient.

  4. Forgez le rôle

    Si la console lit son rôle directement à partir du jeton et que le jeton se trouve dans son navigateur, alors il peut le réécrire. Bob modifie la revendication de rôle de spectateur à administrateur. L'inspecteur réencode le jeton avec la nouvelle revendication. La signature ne correspond plus à la charge utile, mais cela n'a d'importance que si le serveur prend la peine de vérifier.

  5. Dans la console d'administration

    Bob recharge la zone d'administration, cette fois avec le faux jeton. La porte lit l'administrateur à partir de ses réclamations et ouvre la porte. Il détient désormais l'intégralité de l'espace administrateur : l'enregistrement de chaque utilisateur, le pouvoir de modifier n'importe quel rôle, d'exporter l'intégralité du répertoire et d'accéder à la facturation et aux paiements. Un siège en lecture seule, il y a vingt secondes.

  6. Nommez ce qui s'est passé

    Avant que le désordre de Bob ne devienne le matin d'Alice, soyez précis sur l'escalade.

  7. Un spectateur avec des mains d'administrateur

    Alice est propriétaire des contrôles d'accès de la console. Du jour au lendemain, la surveillance a signalé quelque chose qui devrait être impossible : une session de spectateur effectuant des actions réservées à l'administrateur. Les opérations de sécurité lui ont envoyé les résultats par courrier électronique.

  8. Ouvrez le portail d'administration

    Chaque route d'administration partage une porte, require-admin.js . Alice l'ouvre pour voir exactement comment elle décide qui compte comme administrateur.

  9. La porte fait confiance au jeton

    La porte extrait le rôle de l'appelant du jeton de session et le compare à celui d'administrateur. Ce qu'il ne fait jamais, c'est vérifier que le jeton est authentique. Une charge utile réécrite dans le navigateur se décode très bien, donc un rôle forgé passe directement.

  10. Choisissez la vraie solution

    Vous avez vu le bug. Choisissez le changement qui le ferme réellement.

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

OWASP Top 10

  • A01:2025 Broken Access Control
  • A01:2021 Broken Access Control

CWE

  • CWE-269 Improper Privilege Management
  • CWE-345 Insufficient Verification of Data Authenticity

CIS Controls

  • 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