Serverloze overprivilege

Serverloze overprivilege

Een functie is een principal en de referenties ervan zijn ambient.

Wat is Serverloze overprivilege?

Een functie is een opdrachtgever. De inloggegevens voor de uitvoeringsrol zijn ambient, dus iedereen die de functie kan laten uitvoeren, behoudt de rol zonder iets te stelen. Dat is prima totdat een afbeeldingsresizer rechten voor het hele account heeft, geheimen in omgevingsvariabelen bewaart en niet-geverifieerde verzoeken accepteert. U ziet de functie-URL in het browsernetwerkpaneel, activeert een overgebleven foutopsporingsvlag die de omgeving dumpt en leest een productiegeheim als de functie. Vervolgens bepaal je de rol, heb je IAM-authenticatie nodig en verplaats je geheimen naar een managerreferentie.

Wat je leert in Serverloze overprivilege

Serverloze overprivilege — Trainingsstappen

  1. Begin waar iedereen kan kijken

    Bob is niet in Vaelrick. Hij bevindt zich op hun openbare site met vastgoedadvertenties, dezelfde pagina die elke koper ziet. Er is hier niets bevoorrecht - en dat is precies waarom hij hier begint.

  2. Let op waar de pagina om vraagt

    Bob opent het netwerkpaneel van de browser en laadt de pagina opnieuw, zodat hij de verzoeken kan zien die de galerij doet voordat er een afbeelding verschijnt.

  3. Het beantwoordt iedereen

    Bob roept het eindpunt rechtstreeks vanaf zijn eigen machine aan, zonder enige inloggegevens.

  4. De debug-vlag dumpt zijn identiteit

    Bob voegt de debug-parameter toe waarover de site hem heeft verteld. De functie drukt de hele omgeving af.

  5. Zet de identiteit van de functie op

    De drie AWS_-waarden uit de dump vormen een complete, werkende set tijdelijke inloggegevens. Bob laadt ze in een benoemd profiel op zijn eigen machine, en vanaf dat moment kan zijn CLI als functie fungeren.

  6. Word de functie

    Het profiel is geladen. Bob stelt AWS de eerste vraag die een aanvaller stelt met een nieuwe set inloggegevens: wie ben ik nu?

  7. Hoe ver reikt een thumbnailmaker?

    Een functie die miniaturen schrijft, zou één bucket moeten zien. Bob vraagt ​​om ze allemaal.

  8. Neem de kroonjuwelen

    Bob gebruikt de rol om een geheim te lezen dat niets te maken heeft met het wijzigen van het formaat van afbeeldingen.

  9. Welke storing heeft de schade veroorzaakt?

    Noem vóór het antwoord waardoor een gelekt eindpunt in een productiefout is veranderd.

  10. Iemand gebruikt onze Stripe-sleutel

    De betalingsverwerker van Vaelrick markeerde API-oproepen die waren ondertekend met hun livesleutel vanaf een onbekend adres. Die sleutel woont in Secrets Manager, wat de veilige plek ervoor zou moeten zijn.

Dekking van beveiligingsframeworks

CWE

  • CWE-250 Execution with Unnecessary Privileges
  • CWE-522 Insufficiently Protected Credentials

MITRE ATT&CK

  • T1552 Unsecured Credentials
  • T1078.004 Valid Accounts: Cloud Accounts

CIS Controls

  • CIS 6 Access Control Management

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