Token di accesso trapelati
Un token trapelato senza scadenza è una chiave principale permanente.
Cos’è Token di accesso trapelati?
Un token di accesso personale funge da account che lo ha creato. Presentalo e l'API ti tratterà come quello sviluppatore, senza password e senza secondi fattori. L'ambito e la scadenza limitano il danno; un token classico con ampio accesso all'organizzazione e senza scadenza non ha né l'uno né l'altro. Sceglierai un token da un elenco pubblico, elencherai i repository privati di un'organizzazione, quindi ne clonerai uno e reimposterai un commit come proprietario. Lo revocherai, rilascerai una sostituzione dettagliata limitata a un repository e attiverai la scansione segreta e la protezione push.
Cosa imparerai in Token di accesso trapelati
- Riconoscere perché un token di accesso personale con ambito eccessivo e senza scadenza è pericoloso: una singola copia trapelata garantisce un accesso ampio e di lunga durata per clonare repository privati e push, il tutto come lo sviluppatore
- Traccia come un utente malintenzionato trasforma un token estratto da un contenuto pubblico in un accesso reale presentandolo in un'intestazione di autorizzazione per elencare i repository privati e quindi clonandolo e inviandolo
- Rispondi correttamente a una fuga di notizie revocando e ruotando il token anziché semplicemente eliminando la copia pubblica, poiché chiunque l'abbia già copiato mantiene l'accesso finché il token non viene ucciso
- Riemettere un token a grana fine e con privilegi minimi limitato a un singolo repository con una scadenza breve, invece di un classico token ampio che garantisce accesso ampio senza scadenza
- Riduci l'esposizione abilitando la scansione segreta e la protezione push in modo che i token trapelati in gist, registri CI o commit vengano contrassegnati e bloccati in anticipo
Token di accesso trapelati — Fasi della formazione
-
La raccoglitrice di succo di Bob
Bob non legge i concetti a mano. Gestisce un piccolo raschietto che sfoglia il feed generale pubblico della piattaforma e scansiona ogni file alla ricerca di qualsiasi cosa abbia la forma di una credenziale. Il feed è aperto a chiunque, non è necessario alcun account, quindi è possibile cercare l'intero flusso di contenuti pubblici.
-
Esegui la mietitrice
Bob gestisce il raschietto. Estrae il feed generale pubblico e confronta ogni file con i suoi modelli di credenziali. La maggior parte dei risultati sono chiavi inattive, scadute o disabilitate, ma una è attiva: un token di accesso personale di Loomwick che si trova nell'elenco di distribuzione di uno sviluppatore.
-
Apri l'essenza contrassegnata
Bob apre il succo segnalato dal raschietto. L'helper per la distribuzione è un regalo: trasporta il token per intero, nomina il repository a cui è destinato e mostra esattamente come viene utilizzato.
-
Cosa può fare il token
Prima di utilizzarlo intensamente, Bob chiede alla piattaforma quale sia il token. Chiama l'API di Loomwick con il token in un'intestazione di autorizzazione e la risposta descrive la credenziale stessa. Appartiene a uno sviluppatore ordinario, non a un amministratore, ma gli ambiti sono ampi e non c'è scadenza.
-
Elenca i repository privati
Ora Bob mette in funzione il token. Chiede all'API di elencare i repository dell'organizzazione e quelli privati tornano insieme a quello pubblico. Non ha mai avuto un conto Loomwick. Basta solo il token.
-
Clonare un repository privato
Con il token, Bob clona un repository privato direttamente sulla sua macchina. Il succo gli ha fornito sia le credenziali che l'esatto archivio a cui si rivolge. Il clone elimina completamente il billing-core: sorgente, configurazione e cronologia.
-
Apri il file webhook
L'accesso in lettura è già abbastanza grave, ma il token può anche scrivere. Bob apre un file webhook nel repository clonato, cercando un posto tranquillo in cui aggiungere una propria riga.
-
Pianta il cambiamento
Bob aggiunge una singola riga. Ogni evento di fatturazione inoltrato dal servizio ora va al proprio esattore e al registro interno. È un cambiamento piccolo e silenzioso, di quelli che scivolano attraverso una revisione impegnativa.
-
fa il commit il cambiamento
Bob conferma la modifica. Il messaggio sembra un'innocua modifica dello spedizioniere, ma il differenziale trasporta silenziosamente la sua linea di esfiltrazione.
-
Push come sviluppatore
Quindi Bob invia nuovamente il commit a Loomwick tramite l'URL del repository autenticato. La piattaforma lo accetta: il token viene trattato come Maya, quindi la scrittura arriva sul ramo predefinito. Un token trapelato non è solo accesso in lettura. Porta con sé l'identità completa dello sviluppatore, incluso il potere di modificare ciò che viene spedito.
Copertura dei framework di sicurezza
CWE
- CWE-522 Insufficiently Protected Credentials
- CWE-798 Use of Hard-coded Credentials
MITRE ATT&CK
- T1552.001 Unsecured Credentials: Credentials In Files
- T1078 Valid Accounts
CIS Controls
- CIS 5 Account Management
- CIS 16 Application Software Security
NIST CSF
- PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
- PR.AA Identity Management, Authentication, and Access Control
- PR.PS Platform Security