Cancellazione via Lifecycle Policy: Lifecycle-Triggered Deletion (T1485.001)

La tecnica T1485.001 — Lifecycle-Triggered Deletion appartiene alla tattica TA0040 (Impact) e descrive l'abuso delle lifecycle policy dei bucket di cloud storage per distruggere in modo automatizzato tutti gli oggetti conservati. Le policy di lifecycle nascono per finalità legittime: migrare oggetti verso storage class più economiche, archiviarli o eliminarli dopo un periodo definito. Un attaccante che dispone dei permessi corretti può però riscrivere queste regole per trasformarle in un meccanismo di data destruction silenzioso e differito.

In ambiente AWS, il permesso critico è s3:PutLifecycleConfiguration, invocato tramite l'API PutBucketLifecycle o PutBucketLifecycleConfiguration. Una policy con Expiration impostata a 1 giorno (o 0 tramite NoncurrentVersionExpiration) elimina l'intero contenuto del bucket al primo ciclo di valutazione, tipicamente entro 24-48 ore. Meccanismi analoghi esistono su Azure Blob Storage (Lifecycle Management rules) e Google Cloud Storage (Object Lifecycle Management).

L'impatto si articola su tre fronti: distruzione di dati produttivi a fini di estorsione o Financial Theft, eliminazione di log bucket per Indicator Removal (mascherando l'intera catena d'attacco), e sabotaggio operativo con effetti ritardati che rendono la detection reattiva inefficace. La tecnica è particolarmente insidiosa perché la modifica della policy è una singola chiamata API a bassa entropia, mentre l'evento distruttivo avviene ore dopo, senza ulteriori interazioni dell'attaccante.

Simulare T1485.001 in un esercizio red team richiede un account cloud di laboratorio isolato e permessi controllati. L'obiettivo è dimostrare l'impatto senza toccare dati produttivi: creare un bucket di test popolato con oggetti fittizi e riprodurre l'intera catena di modifica policy.

Su AWS, la catena minima parte da un principal con s3:PutLifecycleConfiguration sul bucket target. Con AWS CLI (open source) si prepara un file JSON che descrive la regola di scadenza, ad esempio con Status: Enabled, Filter vuoto (match su tutti gli oggetti) e Expiration.Days: 1. Il comando operativo è:

aws s3api put-bucket-lifecycle-configuration --bucket --lifecycle-configuration file://policy.json

Per versionamento attivo, aggiungere una regola NoncurrentVersionExpiration.NoncurrentDays: 1 elimina anche le versioni storiche, rendendo il recovery via ListObjectVersions inefficace. La verifica avviene con aws s3api get-bucket-lifecycle-configuration --bucket .

Su Azure, il tool nativo è Azure CLI (open source) con az storage account management-policy create, passando un JSON che definisce actions.baseBlob.delete.daysAfterModificationGreaterThan: 1. Su GCP, gsutil lifecycle set policy.json gs:// (open source, incluso nel Google Cloud SDK) applica una regola con action.type: Delete e condition.age: 1.

Per un'operazione red team più realistica, framework come Pacu (open source) — il toolkit di offensive AWS di Rhino Security Labs — includono moduli per l'enumerazione IAM che identificano principal con permessi PutLifecycleConfiguration sfruttabili. ScoutSuite (open source) e CloudSploit (open source) aiutano nella fase di reconnaissance per mappare bucket privi di Object Lock o MFA Delete.

La catena d'attacco tipica in un esercizio prevede: compromissione di credenziali IAM (via phishing o Instance Metadata Service abuse), enumerazione dei bucket con aws s3api list-buckets, identificazione dei target ad alto valore (log bucket CloudTrail, snapshot DB), applicazione della lifecycle policy distruttiva e uscita. L'attaccante non deve restare connesso: il ciclo di valutazione del provider farà il lavoro nelle 24 ore successive.

Per evidenziare l'impatto, documentare i tempi: applicazione policy T+0, primo ciclo di valutazione S3 tipicamente T+12/24h, cancellazione completa entro T+48h. Concludere sempre il test ripristinando la policy originale o cancellando il bucket di laboratorio.

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.