Forgiatura Credenziali Web: Forge Web Credentials (T1606)

La tecnica T1606 - Forge Web Credentials descrive la capacità di un avversario di generare ex novo materiale credenziale valido — cookie di sessione, token SAML, JWT, OAuth bearer token, chiavi di pre-autenticazione — per accedere ad applicazioni web e servizi cloud senza dover rubare credenziali legittime. Si distingue nettamente da tecniche come Steal Web Session Cookie o Steal Application Access Token, perché qui la credenziale non è intercettata: è fabbricata partendo da un segreto crittografico compromesso (chiave privata di firma, seed, password amministrativa).

La collocazione tattica è TA0006 (Credential Access), ma le conseguenze operative si estendono a Lateral Movement, Persistence e Privilege Escalation. Un token firmato con la chiave privata di un Identity Provider — pensiamo al pattern Golden SAML — consente di impersonare qualsiasi utente, inclusi amministratori globali, bypassando MFA e Conditional Access.

Gli scenari più critici includono l'abuso delle API AWS sts:AssumeRole e sts:GetFederationToken per ottenere credenziali temporanee elevate, il comando zmprov gdpak su Zimbra che produce chiavi di pre-auth valide per ogni utente del dominio, e la forgiatura di token OAuth in Microsoft 365 tramite chiavi di firma esfiltrate.

L'impatto è amplificato dal fatto che le credenziali forgiate non generano eventi di autenticazione tradizionali: appaiono come sessioni già stabilite, rendendo la detection dipendente da correlazioni comportamentali. MITRE documenta 4 mitigazioni dedicate, tutte incentrate su hardening dell'IdP, audit continuo e restrizione delle API di federazione.

In un contesto di red team autorizzato, la simulazione di Forge Web Credentials richiede laboratorio isolato e conferma scritta del cliente, perché ogni token forgiato tocca sistemi di identità in produzione. Le catene d'attacco più rappresentative seguono tre filoni: cloud IAM, federazione SAML/OIDC e cookie applicativi.

Sul fronte AWS, dopo aver ottenuto credenziali con privilegi sts:AssumeRole o sts:GetFederationToken, l'operatore può richiedere sessioni temporanee elevate. Con AWS CLI (open source) la sintassi è:

aws sts assume-role --role-arn arn:aws:iam::ACCOUNT:role/TargetRole --role-session-name redteam-session

e per la federazione:

aws sts get-federation-token --name tempuser --policy file://policy.json

Il token restituito contiene AccessKeyId, SecretAccessKey e SessionToken utilizzabili per operazioni successive. Per l'enumerazione preventiva dei permessi si usano Pacu (open source) e ScoutSuite (open source), che mappano le API accessibili e i ruoli assumibili.

Per la forgiatura SAML (scenario Golden SAML), il tool di riferimento in laboratorio è AADInternals (open source), modulo PowerShell che, con la chiave di firma del Token Signing Certificate di AD FS, permette di generare asserzioni SAML arbitrarie tramite cmdlet come New-AADIntSAMLToken. In ambienti Microsoft 365 il progetto TokenTactics (open source) mostra come manipolare famiglie di refresh token OAuth per ottenere access token cross-resource.

Su Zimbra, la generazione di una pre-auth key avviene con:

zmprov gdpak

seguita dalla costruzione di un URL pre-autenticato calcolato via HMAC-SHA1 su timestamp, expires e account. Lo script zmprov ga consente di enumerare gli utenti del dominio per il targeting.

Per i cookie applicativi, quando il segreto di firma di framework come Flask o Django è compromesso, tool come flask-unsign (open source) permettono la forgiatura:

flask-unsign --sign --cookie "{'user_id': 1, 'is_admin': True}" --secret 'leaked_key'

Per JWT, jwt_tool (open source) copre firma, alterazione claim e attacchi alg=none:

python3 jwt_tool.py -S hs256 -p 'secret_key'

Ogni test va documentato con timestamp, IP sorgente e account bersaglio, e le credenziali forgiate vanno revocate immediatamente al termine dell'esercizio ruotando le chiavi di firma sottostanti. L'obiettivo del red team non è dimostrare l'accesso, ma misurare il tempo di detection del SOC sulle chiamate API anomale.

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.