Esecuzione Serverless: Serverless Execution (T1648)

La tecnica T1648 - Serverless Execution descrive l'abuso di servizi di calcolo, integrazione e automazione serverless offerti dai principali cloud provider per eseguire codice arbitrario all'interno di ambienti cloud. Si colloca nella tattica TA0002 (Execution) della matrice MITRE ATT&CK, ma il suo impatto reale attraversa più fasi della kill chain: dall'esecuzione iniziale alla persistenza guidata da eventi, fino all'escalation di privilegi tramite ruoli IAM assegnati alle funzioni stesse.

Gli scenari più ricorrenti includono AWS Lambda, Google Cloud Functions, Azure Functions, ma anche piattaforme di automazione come Microsoft Power Automate e Google Apps Script. Un attaccante che ottiene il permesso IAM:PassRole in AWS o iam.serviceAccounts.actAs in GCP può creare funzioni che ereditano privilegi superiori a quelli dell'utente originario, aggirando di fatto i confini di autorizzazione. La stessa logica vale nelle suite office cloud: un flusso Power Automate può inoltrare silenziosamente ogni email ricevuta, mentre uno script Apps Script può esfiltrare dati ogni volta che l'utente apre un file condiviso.

L'impatto è duplice. Da un lato l'esecuzione può alimentare attività di Resource Hijacking (cryptomining su compute serverless a spese della vittima), dall'altro abilita persistenza event-driven difficilmente rilevabile, perché il codice risiede nella control plane del cloud e non lascia tracce su endpoint tradizionali. MITRE documenta 2 mitigazioni ufficiali e 1 tool offensivo (Pacu) capace di automatizzare la creazione di Lambda malevole.

Per un red team, la simulazione di T1648 richiede un tenant cloud dedicato e un'attenta gestione dei permessi, perché una funzione mal configurata può generare costi imprevisti o toccare risorse produttive. L'approccio corretto è partire da un account di test con MFA disabilitato solo internamente e credenziali generate ad-hoc.

Il tool di riferimento pubblicamente documentato è Pacu (open source), il framework di exploitation AWS mantenuto da Rhino Security Labs. Una volta caricate le credenziali della vittima simulata con set_keys, il modulo lambda__backdoor_new_users consente di creare una Lambda persistente che si attiva alla creazione di ogni nuovo utente IAM, aggiungendo access key controllate dall'attaccante. Il modulo iam__privesc_scan mappa in anticipo i vettori di privilege escalation disponibili, incluso lo sfruttamento di PassRole su funzioni Lambda.

Su AWS lo scenario classico si costruisce così: partendo da credenziali con permessi lambda:CreateFunction e iam:PassRole su un ruolo privilegiato, si crea una funzione che, all'esecuzione, invoca l'API IAM per creare nuovi utenti o access key. La CLI ufficiale è sufficiente: aws lambda create-function per il deploy, aws events put-rule e aws events put-targets per collegare un trigger CloudWatch Events (oggi EventBridge) all'evento CreateUser. Il payload zippato può contenere poche righe di boto3 che manipolano IAM.

Su Azure l'equivalente è la creazione di una Function App con identità gestita associata; il comando az functionapp create seguito da az functionapp identity assign permette di collegare una managed identity con ruoli RBAC eccessivi. Su GCP si usa gcloud functions deploy specificando --service-account per far ereditare i privilegi del service account bersaglio.

Per la componente SaaS, in Microsoft 365 un tester con licenza Power Automate può creare un flusso When a new email arrives con azione Forward the message, dimostrando l'esfiltrazione silenziosa della posta. In Google Workspace, un Apps Script legato a un trigger onOpen su un file Drive può inviare il contenuto a un endpoint esterno tramite UrlFetchApp.fetch.

Strumenti complementari utili in laboratorio: ScoutSuite (open source) per la ricognizione post-deploy dei permessi effettivi, CloudGoat (open source) di Rhino Security Labs per scenari AWS pre-costruiti che includono percorsi Lambda-based, e Stratus Red Team (open source) di DataDog, che espone tecniche mappate direttamente su ATT&CK inclusa aws.execution.lambda-backdoor.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo

TEST GRATUITO
2 minuti · 7 domande Che professionista cyber sei? Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.