Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Thunderstorm — Сборщик и движок вывода. Он картографирует вашу среду, оценивает действующие разрешения и доверие и записывает полный граф атак в один файл .rage.ndjson. Входные данные для всего остального. | Kitploit
Инструменты/GitHubGitHub/ustayready/thunderstorm
Безопасность облачной инфраструктурыПовышение привилегийАнализ уязвимостейЛатеральное перемещениеАудит конфигурацииСбор информацииТестирование на ПроникновениеБезопасность облачных средУправление идентификацией и доступом (IAM)Red Teaming
GitHub
24271 день назадЕщё не проверено
ustayready/thunderstorm

Thunderstorm

Сборщик и движок вывода. Он картографирует вашу среду, оценивает действующие разрешения и доверие и записывает полный граф атак в один файл .rage.ndjson. Входные данные для всего остального.

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Thunderstorm

У вас не 4 000 находок. У вас шесть путей к вашим главным сокровищам.

Путь атаки в AWS в Blaze Lite: от анонимного интернета до продакшн-базы данных за шесть переходов

CSPM выдаёт вам плоский, дедуплицированный, отсортированный по критичности список неправильных конфигураций и оставляет вас гадать, какие из них важны. Thunderstorm рассуждает о достижимости: он собирает данные из вашего облака в режиме только чтения, моделирует их как граф security-возможностей и сообщает вам, что доверие GitHub Actions OIDC ведёт за четыре перехода к вашему продакшн-озеру данных.

Ни один из переходов выше сам по себе не является находкой. Публичный бакет, ключ в state-файле, роль, которую можно принять, одно слишком широкое действие IAM. Путь — это находка, и именно путь почти ничто другое не вычисляет.

Глубина на той платформе, на которую вы его нацелите. Запустите его против аккаунта AWS, подписки Azure или проекта GCP — и он отобразит именно это окружение в терминах самого провайдера: assume-role через STS и повышение привилегий IAM в AWS, цепочки RBAC и управляемых удостоверений в Azure, имперсонация сервисных аккаунтов в GCP. Одно окружение, один граф, смоделированный так, как это облако действительно работает.

Многие инструменты перечисляют больше. Утверждение здесь в том, что Thunderstorm рассуждает о том, что перечисляет, с настоящей глубиной: 219 типов ресурсов, 80 типов рёбер, более 2 400 правил вывода и 1 049 отображённых мест утечки учётных данных — всё это взято из RAGE.

RAGE — это формат, Thunderstorm его создаёт, Blaze его исследует.


Посмотрите, как он проходит реальную цепочку атаки

Это то, что Thunderstorm создаёт из одного scan.

AWS: от публичного файла состояния Terraform до полного захвата аккаунта

Один неправильно настроенный бакет S3. Thunderstorm прослеживает его за шесть переходов до продакшн-базы данных клиентов и второй маршрут напрямую до мастер-секрета базы данных.

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)

Каждый переход несёт разрешение, которое его предоставляет, доказательство, которое его подтверждает, и понятное описание. Утёкшие значения извлекаются вместе с ним:

Чувствительные данные AWS с раскрытыми значениями учётных данных

Azure: от публичного контейнера хранилища до Owner подписки

Публично читаемый blob раскрывает секрет сервисного принципала. Contributor с одним дополнительным разрешением повышает себя до Owner подписки. Никакой эксплуатации приложения; только неправильная конфигурация облака и IAM.

Граф атаки 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: от закоммиченного ключа до цепочки имперсонации из двух переходов

Имперсонация сервисного аккаунта невидима для большинства инструментов. Thunderstorm рассматривает iam.serviceAccounts.getAccessToken как ребро горизонтального перемещения, которым оно и является.

Граф атаки 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)

Что вы получаете

  • Графы путей атаки, интерактивные и офлайн. Выберите любую точку опоры, отфильтруйте по достижимым / главным сокровищам / всему и найдите кратчайший путь к любой цели.
  • Чувствительные данные. Публичные ресурсы, а также учётные данные и секреты, которые Thunderstorm действительно прочитал там, где они утекли, с захваченным значением и его точным местоположением.
  • Повышение привилегий и горизонтальное перемещение. Рёбра assume-role, имперсонации, управляемых удостоверений, самопредоставления и межаккаунтных/межтенантных переходов, каждое привязано к разрешению, которое его включает.
  • Объяснимость по замыслу. Каждое ребро несёт доказательство, разрешения, условия, уверенность и описание.
  • Готовый к печати отчёт. Цепочка сохранности, радиус поражения, аннотированные пути, подтверждённые утечки.
  • Blaze Lite. Единый офлайн HTML-просмотрщик, встроенный в бинарник. view открывает его в вашем браузере; ничего не загружается.

Требования

  • Go 1.26+ (два модуля: collectors/, engine/).
  • Учётные данные только для чтения для цели, которую вы сканируете (например, профиль AWS, GCP ADC или вход Azure).
  • RAGE: каталог, который потребляет Thunderstorm. Вендоренный снимок встроен в бинарник, поэтому для сборки или запуска отдельная загрузка не требуется (см. ниже).

RAGE — источник истины

Thunderstorm не несёт никакой собственной таксономии, сопоставлений или правил. Он потребляет стандарт RAGE от начала до конца:

АспектНаходится в RAGE
Таксономия узлов / рёбер, условияvocab/{node-types,edge-types,conditions}.json
Сопоставления native→generic + рецепты сбораproviders/{aws,gcp,azure}.json
Корпус правил выводаrules/
Каталог утечек учётных данныхexposure-db/{aws,gcp,azure}.json + vocabulary.json

Привязка версии: spec_version из RAGE — единственное число, которое привязывает Thunderstorm к релизу RAGE. Коллектор читает его вживую из RAGE, против которого он был собран (thunderstorm version выводит RAGE <v>), и ставит его в каждый граф, который создаёт; Blaze Lite читает эту метку и предупреждает, когда граф был собран против версии, которую он не поддерживает.

Как разрешается RAGE (первое совпадение побеждает):

  1. $RAGE_ROOT: живой checkout RAGE, если вы его задали (переопределение для разработки; правки применяются без пересборки).
  2. По умолчанию: вендоренный снимок в collectors/rage/, встроенный в бинарник.

Обновите снимок с помощью make RAGE_ROOT=/path/to/rage (или go generate ./... в collectors/). RAGE находится по адресу github.com/trustedsec/rage.

Аутентификация

Thunderstorm сканирует только для чтения, используя ваши существующие облачные учётные данные; он никогда не управляет секретами и никогда не пишет в цель. Войдите с помощью обычных инструментов провайдера, затем нацельте scan на аккаунт / проект / подписку.

AWS использует стандартную цепочку учётных данных AWS SDK (именованный профиль, переменные окружения, SSO или роль экземпляра):

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

GCP использует Application Default Credentials (ADC). Войдите, затем передайте проект:

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

Ключ сервисного аккаунта также работает через GOOGLE_APPLICATION_CREDENTIALS=/path/key.json.

Azure использует цепочку Azure CLI / DefaultAzureCredential. Войдите, затем при необходимости ограничьте одной подпиской:

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

Сервисный принципал также работает через AZURE_CLIENT_ID / AZURE_CLIENT_SECRET / AZURE_TENANT_ID.

Сканирование множества аккаунтов сразу использует --aws-profiles, --gcp-projects, --azure-subscriptions или файл --scopes (provider:scope на строку).

Использование

Сборка (создаёт ./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

Сканируйте, затем исследуйте:

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

Без --out результаты сканирования попадают в ./output/ (игнорируется git). Это весь инструмент: scan, redact, view, version.

Инварианты дизайна

  • Онтология принадлежит RAGE. Добавление провайдера/сервиса означает редактирование RAGE, а не локальной схемы Thunderstorm.
  • Возможности, а не инвентарь. Каждое проходимое ребро — это security-возможность; инвентарь имеет тип STRUCTURAL и исключён из путей.
  • Объяснимость. Каждое ребро несёт доказательство, разрешения, условия, уверенность и человеческое описание.
  • Условия — первоклассные. Состояние ребра = ACTIVE / CONDITIONAL / POTENTIAL / BLOCKED / UNKNOWN; рёбра BLOCKED сохраняются, чтобы объяснить, почему путь не проходит.

Лицензия

Thunderstorm лицензирован под GNU General Public License v3 (см. LICENSE). Это инструмент наступательной безопасности, предоставляемый только для авторизованного тестирования безопасности, обучения и исследований; получите явное разрешение, прежде чем запускать его против любого окружения, которым вы не владеете. См. уведомление об авторизованном использовании в начале LICENSE.

Скачать инструмент