Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Thunderstorm — Un motore di raccolta e derivazione. Mappa il tuo ambiente, valuta i permessi effettivi e la fiducia, e scrive un grafo di attacco completo come singolo file .rage.ndjson. L'input per tutto il resto. | Kitploit
Strumenti/GitHubGitHub/ustayready/thunderstorm
Sicurezza dell'Infrastruttura CloudEscalation di PrivilegiAnalisi delle VulnerabilitàMovimento LateraleAudit di ConfigurazioneRaccolta InformazioniPenetration TestingSicurezza CloudGestione Identità e Accessi (IAM)Red Teaming
GitHub
242422 giorni faNon ancora revisionato
ustayready/thunderstorm

Thunderstorm

Un motore di raccolta e derivazione. Mappa il tuo ambiente, valuta i permessi effettivi e la fiducia, e scrive un grafo di attacco completo come singolo file .rage.ndjson. L'input per tutto il resto.

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Thunderstorm

Non hai 4.000 finding. Hai sei percorsi verso i tuoi gioielli della corona.

Un percorso di attacco AWS in Blaze Lite: internet anonimo al database di produzione in sei hop

Un CSPM ti consegna una lista piatta, deduplicata e ordinata per severità di misconfigurazioni e ti lascia indovinare quali contano. Thunderstorm ragiona sulla raggiungibilità: raccoglie il tuo cloud in sola lettura, lo modella come un grafo di capacità di sicurezza e ti dice che una trust OIDC di GitHub Actions conduce, in quattro hop, al tuo data lake di produzione.

Nessuno degli hop sopra è un finding di per sé. Un bucket pubblico, una chiave in un file di stato, un ruolo assumibile, un'azione IAM troppo ampia. Il percorso è il finding, e il percorso è ciò che quasi nient'altro calcola.

Profondo sulla piattaforma verso cui lo punti. Eseguilo contro un account AWS, una sottoscrizione Azure o un progetto GCP, e mappa quell'unico ambiente nei termini propri del provider: STS assume-role e privilege escalation IAM in AWS, catene RBAC e managed-identity in Azure, impersonificazione di service-account in GCP. Un ambiente, un grafo, modellato nel modo in cui quel cloud funziona davvero.

Molti strumenti enumerano di più. L'affermazione qui è che Thunderstorm ragiona su ciò che enumera con vera profondità: 219 tipi di risorsa, 80 tipi di edge, oltre 2.400 regole di derivazione e 1.049 siti di credential-leak mappati, tutti provenienti da RAGE.

RAGE è il formato, Thunderstorm lo produce, Blaze lo esplora.


Guardalo percorrere una catena di attacco reale

Sono ciò che Thunderstorm produce da un singolo scan.

AWS: da un file di stato Terraform pubblico alla compromissione totale dell'account

Un singolo bucket S3 mal configurato. Thunderstorm lo traccia in sei hop fino al database clienti di produzione, e una seconda rotta dritta al master secret del database.

root@kitploit:~
Internet ──public s3:GetObject──▶ acme-terraform-state (public bucket)
         ──ExposesCredential────▶ AKIA…            (access key leaked in tfstate)
         ──CredentialsFor───────▶ ec2-app-role
         ──CanAssume────────────▶ terraform-exec    (sts:AssumeRole)
         ──CanEscalateTo────────▶ OrganizationAdmin (iam:AttachRolePolicy)
         ──CanReadData──────────▶ acme-prod-customers (PII)

Ogni hop porta con sé il permesso che lo concede, l'evidenza che lo prova e una narrazione in linguaggio semplice. I valori trapelati escono insieme ad esso:

Esposizioni sensibili AWS con valori delle credenziali rivelati

Azure: da un container di storage pubblico a Owner della sottoscrizione

Un blob pubblicamente leggibile fa trapelare un secret di service-principal. Un Contributor con un permesso extra si promuove a Owner della sottoscrizione. Nessun exploit dell'app; solo misconfigurazione cloud e IAM.

Grafo di attacco Azure

root@kitploit:~
Internet ──anonymous blob read──▶ acmedeploy (public Storage account)
         ──ExposesCredential────▶ automation-sp secret (in a deploy config blob)
         ──CredentialsFor───────▶ automation-sp (Contributor)
         ──CanEscalateTo────────▶ Owner  (Microsoft.Authorization/roleAssignments/write)
         ──CanReadData──────────▶ acmedatalake

GCP: da una chiave committata a una catena di impersonificazione a due hop

L'impersonificazione di service-account è invisibile alla maggior parte degli strumenti. Thunderstorm tratta iam.serviceAccounts.getAccessToken come l'edge di movimento laterale che è.

Grafo di attacco GCP

root@kitploit:~
Internet ──public allUsers───▶ acme-public-exports (GCS)
         ──ExposesCredential─▶ sa-deploy-key
         ──CredentialsFor────▶ sa-deploy
         ──CanImpersonate────▶ sa-data-pipeline
         ──CanImpersonate────▶ sa-org-admin
         ──CanReadData───────▶ acme_customers_pii (BigQuery)

Cosa ottieni

  • Grafici dei percorsi di attacco, interattivi e offline. Scegli qualsiasi foothold, filtra per raggiungibili / gioielli della corona / tutto, e trova il percorso più breve verso qualsiasi target.
  • Esposizioni sensibili. Risorse pubbliche, più credenziali e secret che Thunderstorm ha effettivamente letto da dove trapelano, con il valore catturato e la sua posizione esatta.
  • Privilege escalation e movimento laterale. Assume-role, impersonificazione, managed identity, self-grant ed edge cross-account/tenant, ciascuno legato al permesso che lo abilita.
  • Spiegabile per design. Ogni edge porta evidenza, permessi, condizioni, confidenza e una narrazione.
  • Un report pronto per la stampa. Catena di custodia, blast radius, percorsi annotati, leak confermati.
  • Blaze Lite. Un singolo visualizzatore HTML offline incorporato nel binario. view lo apre nel tuo browser; nulla viene caricato.

Requisiti

  • Go 1.26+ (due moduli: collectors/, engine/).
  • Credenziali in sola lettura per il target che scansionate (es. un profilo AWS, GCP ADC o login Azure).
  • RAGE: il catalogo che Thunderstorm consuma. Uno snapshot vendored è incorporato nel binario, quindi non è richiesto alcun download separato per compilare o eseguire (vedi sotto).

RAGE è la fonte di verità

Thunderstorm non porta nessuna tassonomia, mappatura o regola propria. Consuma lo standard RAGE end-to-end:

AspettoVive in RAGE
Tassonomia di nodi / edge, condizionivocab/{node-types,edge-types,conditions}.json
Mappature native→generiche + ricette di raccoltaproviders/{aws,gcp,azure}.json
Corpus di regole di derivazionerules/
Catalogo di esposizione delle credenzialiexposure-db/{aws,gcp,azure}.json + vocabulary.json

Legame di versione: il spec_version di RAGE è l'unico numero che fissa Thunderstorm a una release RAGE. Il collector lo legge live dal RAGE contro cui è stato compilato (thunderstorm version stampa RAGE <v>) e lo marca in ogni grafo che emette; Blaze Lite legge quel marchio e avvisa quando un grafo è stato costruito contro una versione che non supporta.

Come viene risolto RAGE (vince la prima corrispondenza):

  1. $RAGE_ROOT: un checkout RAGE live, se lo imposti (override di sviluppo; le modifiche si applicano senza ricompilare).
  2. Predefinito: lo snapshot vendored in collectors/rage/, incorporato nel binario.

Aggiorna lo snapshot con make RAGE_ROOT=/path/to/rage (o go generate ./... in collectors/). RAGE vive su github.com/trustedsec/rage.

Autenticazione

Thunderstorm scansiona in sola lettura usando le tue credenziali cloud esistenti; non gestisce mai secret e non scrive mai sul target. Accedi con gli strumenti normali del provider, poi punta scan verso l'account / progetto / sottoscrizione.

AWS usa la catena di credenziali standard dell'AWS SDK (un profilo con nome, variabili d'ambiente, SSO o un instance role):

root@kitploit:~
aws configure --profile myprofile        # or: aws sso login --profile myprofile
./bin/thunderstorm scan --profile myprofile [--region us-east-1]

GCP usa Application Default Credentials (ADC). Accedi, poi passa il progetto:

root@kitploit:~
gcloud auth application-default login
./bin/thunderstorm scan --provider gcp --project my-project-id

Funziona anche una chiave di service-account tramite GOOGLE_APPLICATION_CREDENTIALS=/path/key.json.

Azure usa la catena Azure CLI / DefaultAzureCredential. Accedi, poi facoltativamente limita a una sottoscrizione:

root@kitploit:~
az login
./bin/thunderstorm scan --provider azure [--subscription <sub-id>]

Funziona anche un service principal tramite AZURE_CLIENT_ID / AZURE_CLIENT_SECRET / AZURE_TENANT_ID.

Scansionare molti account contemporaneamente usa --aws-profiles, --gcp-projects, --azure-subscriptions o un file --scopes (provider:scope per riga).

Utilizzo

Compila (produce ./bin/thunderstorm):

root@kitploit:~
make                              # build with the embedded RAGE snapshot
make RAGE_ROOT=/path/to/RAGE      # re-vendor from a live RAGE checkout, then build

Scansiona, poi esplora:

root@kitploit:~
./bin/thunderstorm scan --profile <aws-profile>   # → a single .rage.ndjson attack graph
./bin/thunderstorm view --in engagement.zip       # open it offline in Blaze Lite
./bin/thunderstorm redact --in engagement.zip --out redacted.zip   # de-identify for sharing

Senza --out, gli engagement finiscono in ./output/ (ignorato da git). Questo è l'intero strumento: scan, redact, view, version.

Invarianti di design

  • L'ontologia è di proprietà di RAGE. Aggiungere un provider/servizio significa modificare RAGE, mai uno schema locale di Thunderstorm.
  • Capacità, non inventario. Ogni edge percorribile è una capacità di sicurezza; l'inventario è STRUCTURAL ed escluso dai percorsi.
  • Spiegabile. Ogni edge porta evidenza, permessi, condizioni, confidenza e una narrazione umana.
  • Le condizioni sono di prima classe. Stato dell'edge = ACTIVE / CONDITIONAL / POTENTIAL / BLOCKED / UNKNOWN; gli edge BLOCKED sono mantenuti per spiegare perché un percorso fallisce.

Licenza

Thunderstorm è distribuito sotto la GNU General Public License v3 (vedi LICENSE). È uno strumento di sicurezza offensiva fornito solo per test di sicurezza autorizzati, educazione e ricerca; ottieni esplicita autorizzazione prima di eseguirlo contro qualsiasi ambiente che non possiedi. Vedi l'avviso di Authorized-Use in cima a LICENSE.

Scarica lo strumento