AWS - Lambda Persistence

Impara l'hacking di AWS da zero a esperto con htARTE (Esperto Red Team di HackTricks AWS)!

Altri modi per supportare HackTricks:

Lambda

Per ulteriori informazioni controlla:

pageAWS - Lambda Enum

Persistenza di Lambda Layer

È possibile introdurre/creare un backdoor in un layer per eseguire codice arbitrario quando la lambda viene eseguita in modo stealthy:

pageAWS - Lambda Layers Persistence

Persistenza di Lambda Extension

Abusando dei Lambda Layers è anche possibile abusare delle estensioni e persistere nella lambda ma anche rubare e modificare le richieste.

pageAWS - Abusing Lambda Extensions

Attraverso le politiche delle risorse

È possibile concedere l'accesso a diverse azioni lambda (come invocare o aggiornare il codice) a account esterni:

Versioni, Alias e Pesi

Una Lambda può avere diverse versioni (con codice diverso per ogni versione). Quindi, è possibile creare diversi alias con diverse versioni della lambda e impostare pesi diversi per ciascuno. In questo modo un attaccante potrebbe creare una versione backdoor 1 e una versione 2 con solo il codice legittimo e eseguire solo la versione 1 nel 1% delle richieste per rimanere stealth.

Backdoor della Versione + API Gateway

  1. Copia il codice originale della Lambda

  2. Crea una nuova versione backdooring il codice originale (o solo con codice dannoso). Pubblica e distribuisci quella versione a $LATEST

  3. Chiama l'API gateway relativa alla lambda per eseguire il codice

  4. Crea una nuova versione con il codice originale, Pubblica e distribuisci quella versione a $LATEST.

  5. Questo nasconderà il codice backdoored in una versione precedente

  6. Vai all'API Gateway e crea un nuovo metodo POST (o scegli qualsiasi altro metodo) che eseguirà la versione backdoored della lambda: arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1

  7. Nota il :1 finale dell'arn che indica la versione della funzione (la versione 1 sarà quella backdoored in questo scenario).

  8. Seleziona il metodo POST creato e nelle Azioni seleziona Deploy API

  9. Ora, quando chiami la funzione tramite POST il tuo Backdoor verrà invocato

Attuatore Cron/Evento

Il fatto che tu possa far eseguire le funzioni lambda quando accade qualcosa o quando passa del tempo rende lambda un modo piacevole e comune per ottenere persistenza ed evitare la rilevazione. Ecco alcune idee per rendere la tua presenza in AWS più stealth creando lambdas.

  • Ogni volta che viene creato un nuovo utente lambda genera una nuova chiave utente e la invia all'attaccante.

  • Ogni volta che viene creato un nuovo ruolo lambda fornisce autorizzazioni di assumere il ruolo agli utenti compromessi.

  • Ogni volta che vengono generati nuovi log di cloudtrail, eliminarli/alterarli

Impara l'hacking di AWS da zero a esperto con htARTE (Esperto Red Team di HackTricks AWS)!

Altri modi per supportare HackTricks:

Last updated