Verticale privilege-escalatie

Verticale privilege-escalatie

Herschrijf één claim in uw eigen token en word de beheerder.

Wat is Verticale privilege-escalatie?

Horizontale escalatie beweegt zijwaarts naar de gegevens van een andere gebruiker. Verticale escalatie beklimt de ladder, omdat de autorisatiepoort vertrouwt op een waarde die de aanvaller vasthoudt. U zult merken dat uw rol binnen een JWT-sessiecookie reist, de claim herschrijft van kijker naar beheerder en een bedieningsconsole binnenloopt zonder gestolen wachtwoord en zonder exploitcode. De poort decodeert het token en leest de claim zonder de handtekening te controleren, en decodering bewijst niets. De oplossing verifieert eerst de handtekening, waarbij rechten op de server opnieuw worden afgeleid van vertrouwde records als backstop.

Wat je leert in Verticale privilege-escalatie

Verticale privilege-escalatie — Trainingsstappen

  1. Een alleen-lezen stoel

    Bob heeft een legitiem account met weinig rechten op Talveyn's Operations Console, de alleen-lezen-kijkplaats van een contractant. Hij logt in met zijn eigen inloggegevens, precies waar hij recht op heeft. Geen wachtwoord gestolen, geen account gekraakt. Hij landt op zijn kijkershuis. Hij kan zijn ondersteuningswachtrijen zien en één kaart die hij niet mag aanraken: de beheerdersconsole.

  2. De gesloten deur

    Bob opent de Admin Console toch vanaf zijn dashboard, gewoon om te zien hoe ver zijn stoel komt. De server wijst hem af met een beperkingsmededeling. De poort is echt. De interessante vraag is wat die poort eigenlijk controleert.

  3. De rol rijdt in het token

    Bob opent de cookie-inspecteur van de browser. Zijn sessie is een JWT en de console heeft deze gedecodeerd in leesbare claims: met wie hij is aangemeld en welke rol hij krijgt. Daar is het, duidelijk zichtbaar: een leesviewer voor rolclaims. De waarde die de poort controleert, zit in een token dat zijn eigen browser vasthoudt.

  4. Verzin de rol

    Als de console zijn rol rechtstreeks vanaf het token leest en het token in zijn browser staat, kan hij het herschrijven. Bob bewerkt de rolclaim van kijker naar beheerder. De inspecteur codeert het token opnieuw met de nieuwe claim. De handtekening komt niet langer overeen met de payload, maar dat doet er alleen toe als de server de moeite neemt om dit te controleren.

  5. Binnen de beheerdersconsole

    Bob herlaadt het beheerdersgedeelte, dit keer met het vervalste token. De poort leest admin zijn claims voor en zwaait de deur open. Hij beschikt nu over het volledige beheerdersoppervlak: het record van elke gebruiker, de mogelijkheid om elke rol te veranderen, de hele map te exporteren en de facturering en uitbetalingen te regelen. Een alleen-lezen stoel, twintig seconden geleden.

  6. Noem wat er is gebeurd

    Voordat de puinhoop van Bob de ochtend van Alice wordt, wees nauwkeurig over de escalatie.

  7. Een kijker met admin-handen

    Alice is eigenaar van de toegangscontroles van de console. Van de ene op de andere dag signaleerde monitoring iets dat onmogelijk zou moeten zijn: een sessie op de kijkersstoel waarbij alleen beheerdersacties werden uitgevoerd. Security Operations heeft haar de bevindingen per e-mail gestuurd.

  8. Open de beheerderspoort

    Elke beheerdersroute deelt één poort, require-admin.js . Alice opent het om precies te zien hoe het bepaalt wie als beheerder telt.

  9. De poort vertrouwt het token

    De poort haalt de rol van de beller uit het sessietoken en vergelijkt deze met admin. Wat het nooit doet, is controleren of het token echt is. Een in de browser herschreven payload decodeert prima, zodat een vervalste rol er meteen doorheen gaat.

  10. Kies de echte oplossing

    Je hebt de bug gezien. Kies de wijziging waarmee deze daadwerkelijk wordt gesloten.

Dekking van beveiligingsframeworks

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