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

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

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

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

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

Категории

Все категории
Loading categories
aws-recon — Многопоточный инструмент для сбора инвентаризации AWS с акцентом на ресурсы и метаданные, связанные с безопасностью. | Kitploit
Инструменты/GitHubGitHub/joshlarsen/aws-recon
Безопасность облачной инфраструктурыРазведкаАнализ уязвимостейСкриптинг и автоматизацияАудит конфигурацииСбор информацииБезопасность облачных средDevSecOpsArchived
GitHubjoshlarsen/aws-recon

aws-recon

Многопоточный инструмент для сбора инвентаризации AWS с акцентом на ресурсы и метаданные, связанные с безопасностью.

55850471 год назадПроверено Kitploit
Репозиторий

Популярное

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

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

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

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

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

Docker Pulls Gem Version GitHub Workflow Status (branch) AWS Service Regions

AWS Recon

Многопоточный инструмент для сбора инвентаризации AWS с фокусом на безопасность, написанный на Ruby.

Этот инструмент создан для эффективного сбора большого объёма атрибутов и метаданных ресурсов AWS. Он стремится собрать практически всё, что имеет отношение к конфигурации безопасности и состоянию среды AWS.

Существующие инструменты (например, AWS Config), выполняющие сбор ресурсов, не обладают достаточным охватом и специфичностью для точной оценки состояния безопасности (например, подробные данные об атрибутах ресурсов, полностью разобранные документы политик и вложенные связи между ресурсами).

AWS Recon обрабатывает сбор из крупных аккаунтов, используя автоматические повторные попытки (из-за проблем с сетью или троттлингом API), автоматическую пагинацию больших ответов (> 100 ресурсов на вызов API) и многопоточные параллельные запросы для ускорения сбора.

Цели проекта

  • Более полный охват ресурсов по сравнению с доступными инструментами (особенно для ECS и EKS)
  • Более детальная информация о ресурсах, включая вложенные связанные ресурсы в выводе
  • Гибкий вывод (консоль, JSON lines, обычный JSON, файл, S3 bucket, стандартный вывод)
  • Эффективность (многопоточность, ограничение скорости, автоматические повторные попытки и автоматическая пагинация результатов)
  • Простота в поддержке и расширении

Отличные компании, использующие AWS Recon**

  • Netflix
  • HashiCorp
  • Workday
  • Stripe
  • PayPal
  • Typeform
  • Amazon Web Services
  • Plaid
  • Expel
  • Mozilla
  • Bugcrowd
  • Dropbox
  • Pinterest
  • HackerOne
  • MuleSoft
  • Slack
  • Drata
  • Google
  • Sophos
  • Sumo Logic
  • Coalfile
  • Xero

** использование не означает одобрения

Установка

Требования

AWS Recon требует роль или учётные данные AWS с правами ReadOnlyAccess. Полный AdministratorAccess избыточен, но тоже будет работать. Политика SecurityAudit недостаточна, так как не предоставляет доступ ко многим сервисам.

Запуск через Docker

Используйте Docker версии 19.x или выше для запуска предварительно собранного образа без необходимости установки чего-либо.

Локальный запуск через Ruby

Если у вас уже установлен Ruby (2.6.x или 2.7.x), вы можете установить Ruby gem.

Установка

AWS Recon можно запустить локально через контейнер Docker или установив Ruby gem.

Для запуска через контейнер Docker передайте необходимые учётные данные AWS в команду docker run. Например:

$ docker run -t --rm \
  -e AWS_REGION \
  -e AWS_ACCESS_KEY_ID \
  -e AWS_SECRET_ACCESS_KEY \
  -e AWS_SESSION_TOKEN \
  -v $(pwd)/output.json:/recon/output.json \
  darkbitio/aws_recon:latest \
  aws_recon -v -s EC2 -r global,us-east-1,us-east-2

Для локального запуска сначала установите gem:

$ gem install aws_recon
Fetching aws_recon-0.5.17.gem
Fetching aws-sdk-3.0.1.gem
Fetching parallel-1.20.1.gem
...
Successfully installed aws-sdk-3.0.1
Successfully installed parallel-1.20.1
Successfully installed aws_recon-0.5.17

Или добавьте его в ваш Gemfile с помощью bundle:

$ bundle add aws_recon
Fetching gem metadata from https://rubygems.org/
Resolving dependencies...
...
Using aws-sdk 3.0.1
Using parallel-1.20.1
Using aws_recon 0.5.17

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

AWS Recon будет использовать любые учётные данные AWS (см. требования), доступные в среде, где он запущен. Если вы собираете данные из нескольких аккаунтов, возможно, захотите использовать что-то вроде aws-vault для управления разными учётными данными.

$ aws-vault exec profile -- aws_recon

Обычные переменные окружения тоже подойдут.

$ AWS_PROFILE=<profile> aws_recon

Для запуска из контейнера Docker с учётными данными, управляемыми через aws-vault (вывод в stdout):

$ aws-vault exec <vault_profile> -- docker run -t --rm \
  -e AWS_REGION \
  -e AWS_ACCESS_KEY_ID \
  -e AWS_SECRET_ACCESS_KEY \
  -e AWS_SESSION_TOKEN \
  darkbitio/aws_recon:latest \
  aws_recon -j -s EC2 -r global,us-east-1,us-east-2

Для запуска из контейнера Docker с учётными данными, управляемыми через aws-vault, и выводом в файл, необходимо выполнить несколько требований. Во-первых, Docker должен иметь доступ к примонтированию указанного вами пути (или родительского пути выше). Во-вторых, нужно создать пустой файл для сохранения вывода (например, output.json). Это связано с тем, что только этот файл монтируется в контейнер Docker во время выполнения. Например:

Создайте пустой файл.

$ touch output.json

Запустите контейнер aws_recon, указав выходной файл.

$ aws-vault exec <vault_profile> -- docker run -t --rm \
  -e AWS_REGION \
  -e AWS_ACCESS_KEY_ID \
  -e AWS_SECRET_ACCESS_KEY \
  -e AWS_SESSION_TOKEN \
  -v $(pwd)/output.json:/recon/output.json \
  darkbitio/aws_recon:latest \
  aws_recon -s EC2 -v -r global,us-east-1,us-east-2

Возможно, вы захотите изначально использовать флаг -v или --verbose, чтобы видеть статус и активность во время сбора.

В многословном режиме на консоль будет выводиться:

<thread>.<region>.<service>.<operation>

Префикс t указывает, какой поток обрабатывает конкретный запрос. Регион, сервис и операция показывают, какая операция запроса выполняется в данный момент и где.

$ aws_recon -v

t0.global.EC2.describe_account_attributes
t2.global.S3.list_buckets
t3.global.Support.describe_trusted_advisor_checks
t2.global.S3.list_buckets.acl
t5.ap-southeast-1.WorkSpaces.describe_workspaces
t6.ap-northeast-1.Lightsail.get_instances
...
t2.us-west-2.WorkSpaces.describe_workspaces
t1.us-east-2.Lightsail.get_instances
t4.ap-southeast-1.Firehose.list_delivery_streams
t7.ap-southeast-1.Lightsail.get_instances
t0.ap-south-1.Lightsail.get_instances
t1.us-east-2.Lightsail.get_load_balancers
t7.ap-southeast-2.WorkSpaces.describe_workspaces
t2.eu-west-3.SageMaker.list_notebook_instances
t3.eu-west-2.SageMaker.list_notebook_instances

Finished in 46 seconds. Saving resources to output.json.

Примеры параметров командной строки

# сбор глобальных ресурсов S3 и EC2, а также us-east-1 и us-east-2

$ AWS_PROFILE=<profile> aws_recon -s S3,EC2 -r global,us-east-1,us-east-2
# сбор глобальных ресурсов S3 и EC2, а также us-east-1 и us-east-2

$ AWS_PROFILE=<profile> aws_recon --services S3,EC2 --regions global,us-east-1,us-east-2
# сохранение вывода в S3 bucket

$ AWS_PROFILE=<profile> aws_recon \
  --services S3,EC2 \
  --regions global,us-east-1,us-east-2 \
  --verbose \
  --s3-bucket my-recon-bucket
# сохранение вывода в S3 bucket с домашним регионом, отличным от us-east-1

$ AWS_PROFILE=<profile> aws_recon \
  --services S3,EC2 \
  --regions global,us-east-1,us-east-2 \
  --verbose \
  --s3-bucket my-recon-bucket:us-west-2
Скачать инструмент