AWS - Lambda Persistence
Last updated
Last updated
Impara e pratica Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Per ulteriori informazioni controlla:
AWS - Lambda EnumÈ possibile introdurre/backdoor un layer per eseguire codice arbitrario quando la lambda viene eseguita in modo furtivo:
AWS - Lambda Layers PersistenceAbusando dei Lambda Layers è anche possibile abusare delle estensioni e persistere nella lambda ma anche rubare e modificare le richieste.
AWS - Abusing Lambda ExtensionsÈ possibile concedere accesso a diverse azioni lambda (come invocare o aggiornare codice) a account esterni:
Una Lambda può avere diverse versioni (con codice diverso per ogni versione). Poi, puoi creare diversi alias con diverse versioni della lambda e impostare pesi diversi per ciascuna. In questo modo un attaccante potrebbe creare una versione 1 backdoored e una versione 2 con solo codice legittimo e eseguire solo la versione 1 nel 1% delle richieste per rimanere furtivo.
Copia il codice originale della Lambda
Crea una nuova versione backdooring il codice originale (o solo con codice malevolo). Pubblica e deplora quella versione su $LATEST
Chiama l'API gateway relativo alla lambda per eseguire il codice
Crea una nuova versione con il codice originale, Pubblica e deploia quella versione su $LATEST.
Questo nasconderà il codice backdoored in una versione precedente
Vai all'API Gateway e crea un nuovo metodo POST (o scegli un altro metodo) che eseguirà la versione backdoored della lambda: arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1
Nota il finale :1 dell'arn che indica la versione della funzione (la versione 1 sarà quella backdoored in questo scenario).
Seleziona il metodo POST creato e in Azioni seleziona Deploy API
Ora, quando chiami la funzione tramite POST, il tuo Backdoor verrà invocato
Il fatto che puoi far eseguire funzioni lambda quando accade qualcosa o quando passa del tempo rende lambda un modo piacevole e comune per ottenere persistenza ed evitare rilevamenti. Ecco alcune idee per rendere la tua presenza in AWS più furtiva creando lambdas.
Ogni volta che viene creato un nuovo utente, la lambda genera una nuova chiave utente e la invia all'attaccante.
Ogni volta che viene creata una nuova role, la lambda concede permessi di assunzione della role agli utenti compromessi.
Ogni volta che vengono generati nuovi log di cloudtrail, cancellali/modificali.
Impara e pratica Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)