Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Thunderstorm — Um coletor e motor de derivação. Ele mapeia seu ambiente, avalia permissões efetivas e confiança, e grava um grafo de ataque completo como um único arquivo .rage.ndjson. A entrada para todo o resto. | Kitploit
Ferramentas/GitHubGitHub/ustayready/thunderstorm
Segurança de Infraestrutura em NuvemEscalada de PrivilégiosAnálise de VulnerabilidadesMovimento LateralAuditoria de ConfiguraçãoColeta de InformaçõesTestes de PenetraçãoSegurança na NuvemGerenciamento de Identidade e Acesso (IAM)Red Teaming
GitHub
2427há 1 diaAinda não revisado
ustayready/thunderstorm

Thunderstorm

Um coletor e motor de derivação. Ele mapeia seu ambiente, avalia permissões efetivas e confiança, e grava um grafo de ataque completo como um único arquivo .rage.ndjson. A entrada para todo o resto.

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Thunderstorm

Você não tem 4.000 achados. Você tem seis caminhos até as suas joias da coroa.

Um caminho de ataque na AWS no Blaze Lite: internet anônima até o banco de dados de produção em seis saltos

Uma CSPM entrega a você uma lista plana, deduplicada e ordenada por severidade de más configurações e deixa você adivinhar quais importam. O Thunderstorm raciocina sobre alcançabilidade: ele coleta sua nuvem em modo somente leitura, modela-a como um grafo de capacidades de segurança e informa que uma confiança OIDC do GitHub Actions leva, em quatro saltos, ao seu data lake de produção.

Nenhum dos saltos acima é um achado por si só. Um bucket público, uma chave em um arquivo de estado, um role assumível, uma ação IAM ampla demais. O caminho é o achado, e o caminho é o que quase nada mais calcula.

Profundo na plataforma para a qual você o aponta. Execute-o contra uma conta AWS, uma assinatura Azure ou um projeto GCP, e ele mapeia esse único ambiente nos próprios termos do provedor: assume-role do STS e escalação de privilégios do IAM na AWS, cadeias de RBAC e identidade gerenciada no Azure, impersonação de conta de serviço no GCP. Um ambiente, um grafo, modelado do jeito que aquela nuvem realmente funciona.

Muitas ferramentas enumeram mais. A alegação aqui é que o Thunderstorm raciocina sobre o que enumera com profundidade real: 219 tipos de recursos, 80 tipos de arestas, mais de 2.400 regras de derivação e 1.049 locais mapeados de vazamento de credenciais, todos originados do RAGE.

O RAGE é o formato, o Thunderstorm o produz, o Blaze o explora.


Veja-o percorrer uma cadeia de ataque real

Eles são o que o Thunderstorm produz a partir de um único scan.

AWS: de um arquivo de estado do Terraform público ao controle total da conta

Um bucket S3 mal configurado. O Thunderstorm o rastreia por seis saltos até o banco de dados de clientes de produção, e uma segunda rota direto até o segredo mestre do banco de dados.

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)

Cada salto carrega a permissão que o concede, a evidência que o comprova e uma narrativa em linguagem simples. Os valores vazados saem junto:

Exposições sensíveis da AWS com valores de credenciais revelados

Azure: de um contêiner de armazenamento público ao Owner da assinatura

Um blob publicamente legível vaza um segredo de service principal. Um Contributor com uma permissão extra se promove a Owner da assinatura. Nenhum exploit de aplicação; apenas má configuração de nuvem e IAM.

Grafo de ataque do 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: de uma chave commitada a uma cadeia de impersonação de dois saltos

A impersonação de conta de serviço é invisível para a maioria das ferramentas. O Thunderstorm trata iam.serviceAccounts.getAccessToken como a aresta de movimento lateral que ela é.

Grafo de ataque do 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)

O que você obtém

  • Grafos de caminhos de ataque, interativos e offline. Escolha qualquer ponto de apoio, filtre por alcançável / joias da coroa / tudo e encontre o caminho mais curto até qualquer alvo.
  • Exposições sensíveis. Recursos públicos, além de credenciais e segredos que o Thunderstorm realmente leu de onde vazam, com o valor capturado e sua localização exata.
  • Escalação de privilégios e movimento lateral. Assume-role, impersonação, identidade gerenciada, autoconcessão e arestas entre contas/tenants, cada uma vinculada à permissão que a possibilita.
  • Explicável por design. Cada aresta carrega evidência, permissões, condições, confiança e uma narrativa.
  • Um relatório pronto para impressão. Cadeia de custódia, raio de impacto, caminhos anotados, vazamentos confirmados.
  • Blaze Lite. Um único visualizador HTML offline embutido no binário. view o abre no seu navegador; nada é enviado.

Requisitos

  • Go 1.26+ (dois módulos: collectors/, engine/).
  • Credenciais somente leitura para o alvo que você escaneia (por exemplo, um perfil AWS, GCP ADC ou login Azure).
  • RAGE: o catálogo que o Thunderstorm consome. Um snapshot vendorizado está embutido no binário, então nenhum download separado é necessário para compilar ou executar (veja abaixo).

O RAGE é a fonte da verdade

O Thunderstorm não carrega taxonomia, mapeamentos ou regras próprias. Ele consome o padrão RAGE de ponta a ponta:

ConcernLives in RAGE
Node / edge taxonomy, conditionsvocab/{node-types,edge-types,conditions}.json
Native→generic mappings + collection recipesproviders/{aws,gcp,azure}.json
Derivation rule corpusrules/
Credential-exposure catalogexposure-db/{aws,gcp,azure}.json + vocabulary.json

Vínculo de versão: o spec_version do RAGE é o único número que fixa o Thunderstorm a uma release do RAGE. O coletor o lê ao vivo do RAGE contra o qual foi compilado (thunderstorm version imprime RAGE <v>) e o carimba em cada grafo que emite; o Blaze Lite lê esse carimbo e avisa quando um grafo foi construído contra uma versão que ele não suporta.

Como o RAGE é resolvido (a primeira correspondência vence):

  1. $RAGE_ROOT: um checkout ativo do RAGE, se você o definir (substituição de dev; edições se aplicam sem recompilar).
  2. Padrão: o snapshot vendorizado em collectors/rage/, embutido no binário.

Atualize o snapshot com make RAGE_ROOT=/path/to/rage (ou go generate ./... em collectors/). O RAGE fica em github.com/trustedsec/rage.

Autenticação

O Thunderstorm escaneia em somente leitura usando suas credenciais de nuvem existentes; ele nunca gerencia segredos e nunca escreve no alvo. Faça login com as ferramentas normais do provedor e então aponte o scan para a conta / projeto / assinatura.

AWS usa a cadeia de credenciais padrão do AWS SDK (um perfil nomeado, variáveis de ambiente, SSO ou um 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). Faça login e então passe o projeto:

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

Uma chave de conta de serviço também funciona via GOOGLE_APPLICATION_CREDENTIALS=/path/key.json.

Azure usa a cadeia do Azure CLI / DefaultAzureCredential. Faça login e então, opcionalmente, limite a uma assinatura:

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

Um service principal também funciona via AZURE_CLIENT_ID / AZURE_CLIENT_SECRET / AZURE_TENANT_ID.

Escanear muitas contas de uma vez usa --aws-profiles, --gcp-projects, --azure-subscriptions ou um arquivo --scopes (provider:scope por linha).

Uso

Compile (produz ./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

Escaneie e então explore:

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

Sem --out, os engajamentos ficam em ./output/ (ignorado pelo git). Essa é a ferramenta inteira: scan, redact, view, version.

Invariantes de design

  • A ontologia pertence ao RAGE. Adicionar um provedor/serviço significa editar o RAGE, nunca um esquema local do Thunderstorm.
  • Capacidades, não inventário. Cada aresta percorrível é uma capacidade de segurança; inventário é STRUCTURAL e excluído dos caminhos.
  • Explicável. Cada aresta carrega evidência, permissões, condições, confiança e uma narrativa humana.
  • Condições são de primeira classe. Estado da aresta = ACTIVE / CONDITIONAL / POTENTIAL / BLOCKED / UNKNOWN; arestas BLOCKED são mantidas para explicar por que um caminho falha.

Licença

O Thunderstorm é licenciado sob a GNU General Public License v3 (veja LICENSE). É uma ferramenta de segurança ofensiva fornecida apenas para testes de segurança autorizados, educação e pesquisa; obtenha autorização explícita antes de executá-la contra qualquer ambiente que você não possua. Veja o aviso de Uso Autorizado no topo do LICENSE.

Baixar ferramenta