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

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

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

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

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

Категории

Все категории
Loading categories
aws-perimeter — Терминальный сканер безопасности AWS с более чем 102 проверками безопасности по VPC, IAM, S3, CloudTrail, контейнерам (ECS/EKS) и обнаружению AI-атак. Обнаруживает опасные разрешения IAM, раскрытые секреты, неправильно настроенные корзины S3, уязвимости контейнеров и возникающие угрозы LLMjacking. | Kitploit
Инструменты/GitHubGitHub/thirukguru/aws-perimeter
Безопасность облачной инфраструктурыСканеры уязвимостейБезопасность контейнеровАудит конфигурацииТестирование на ПроникновениеБезопасность облачных средDevSecOpsОбнаружение СекретовРазведка угроз

Популярное

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

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

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

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

Смотреть все инструменты →
Управление идентификацией и доступом (IAM)
Неправильная Конфигурация
Безопасность ИИ
GitHubthirukguru/aws-perimeter

aws-perimeter

Репозиторий
36 месяцев назадЕщё не проверено

Описание

Терминальный сканер безопасности AWS с более чем 102 проверками безопасности по VPC, IAM, S3, CloudTrail, контейнерам (ECS/EKS) и обнаружению AI-атак. Обнаруживает опасные разрешения IAM, раскрытые секреты, неправильно настроенные корзины S3, уязвимости контейнеров и возникающие угрозы LLMjacking.

Поделиться

aws-perimeter

Go Version Go Reference Go Report Card License

Терминальный AWS Security Scanner с 100+ проверками безопасности по VPC, IAM, S3, CloudTrail, контейнерам (ECS/EKS) и обнаружением AI-атак. Обнаруживает опасные разрешения IAM, раскрытые секреты, неправильно настроенные S3-бакеты, уязвимости контейнеров и новые угрозы LLMjacking.

Обзор продукта: docs/CAPABILITIES_OVERVIEW.md

Возможности

Безопасность VPC

  • Анализ групп безопасности (открытые SSH/RDP, порты БД)
  • Обнаружение публичного доступа и риски управляющих портов
  • Анализ сетевых ACL и аудит VPC Flow Log
  • Риски пиринга VPC, обнаружение bastion-хостов
  • Статус NAT Gateway и покрытие VPC endpoints

Безопасность IAM

  • Обнаружение эскалации привилегий (17 паттернов)
  • Устаревшие учётные данные (более 90 дней)
  • Анализ доверия между аккаунтами
  • Пробелы в принудительном использовании MFA
  • Чрезмерно разрешающие политики (*:*)
  • Цепочки ролей, внешние ID, границы разрешений

Безопасность S3

  • Обнаружение публичных бакетов
  • Аудит шифрования и опасные политики бакетов
  • Статус блокировки публичного доступа
  • Поиск конфиденциальных файлов/объектов (.env, .git, учётные данные)
  • Глубокое обнаружение секретов в текстовом содержимом объектов S3

CloudTrail и логирование

  • Пробелы в покрытии трейлов и мультирегиональное логирование
  • Статус валидации логов
  • Интеграция с CloudWatch Logs

Обнаружение секретов

  • Переменные окружения Lambda (10 паттернов секретов)
  • Сканирование пакетов развёртывания Lambda (ZIP)
  • Сканирование пользовательских данных EC2
  • Сканирование содержимого публичных объектов S3
  • Сканирование слоёв образов ECR на встроенные учётные данные
  • Ключи AWS, токены GitHub/Slack/Stripe

Безопасность контейнеров (НОВОЕ)

Безопасность ECS (10 проверок)

  • Привилегированные контейнеры
  • Секреты в переменных окружения
  • Публичный IP-доступ
  • Режим сетевого пространства хоста
  • Образы не из ECR
  • Записываемая корневая файловая система
  • Опасные возможности Linux
  • Включённый ECS Exec
  • Статус Container Insights
  • Административная роль задачи

Безопасность EKS (12 проверок)

  • Публичный доступ к endpoint
  • Отключённый приватный endpoint
  • Логирование плоскости управления
  • Шифрование секретов
  • Версия Kubernetes
  • Провайдер OIDC для IRSA
  • Устаревшие режимы аутентификации
  • Узлы в публичных подсетях
  • Неограниченный SSH-доступ
  • IAM-роль узла с правами администратора
  • Тип AMI (предпочтение Bottlerocket)

Обнаружение AI-атак (НОВОЕ)

Основано на разведданных об угрозах за февраль 2025: взлом AWS за 8 минут

  • Мониторинг GPU-инстансов: обнаружение инстансов p2/p3/p4/p5, g3/g4/g5, inf1/inf2, trn1
  • Публичный доступ к GPU: GPU-инстансы с публичными IP
  • Риск IMDSv1 на GPU: GPU-инстансы, уязвимые для кражи учётных данных
  • Злоупотребление Bedrock: обнаружение выделенной пропускной способности с высокой ёмкостью
  • Пользовательские модели: несанкционированное обучение моделей Bedrock
  • Логирование Bedrock: отсутствие логирования вызовов моделей
  • Быстрое выделение ресурсов: обнаружение троттлинга API EC2 (паттерн атаки)

Сводка проверок безопасности

КатегорияКоличество
Основные (IAM, VPC, S3, CloudTrail, Секреты)

Критические проверки безопасности

Предварительные требования

1. Установленный AWS CLI

root@kitploit:~
# macOS
brew install awscli

# Linux
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip && sudo ./aws/install

2. Настроенные учётные данные AWS

root@kitploit:~
aws configure
# или используйте именованные профили
aws configure --profile myprofile

3. Необходимые разрешения IAM

Ваши учётные данные AWS должны иметь доступ только на чтение к сканируемым сервисам. Управляемая политика AWS ReadOnlyAccess подходит, или см. Необходимые разрешения ниже.

Примечание: aws-perimeter выполняет только операции чтения и никогда не изменяет ваши ресурсы AWS.

Установка

Быстрая установка (macOS/Linux)

root@kitploit:~
curl -sSfL https://raw.githubusercontent.com/thirukguru/aws-perimeter/main/install.sh | sh

С использованием Go

root@kitploit:~
go install github.com/thirukguru/aws-perimeter@latest

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

root@kitploit:~
aws-perimeter                          # Запустить полное сканирование безопасности
aws-perimeter --output json            # Вывод в JSON
aws-perimeter --profile prod           # Указать профиль AWS
aws-perimeter --region us-west-2       # Указать регион
aws-perimeter --regions us-east-1,us-west-2            # Мультирегиональное сканирование
aws-perimeter --regions us-east-1,us-west-2 --max-parallel 4  # Мультирегиональное с контролем параллелизма
aws-perimeter --regions us-east-1,us-west-2 --max-parallel 4 --best-effort  # Выход с успехом, если хотя бы один регион успешен
aws-perimeter --rules                   # Вывести RULES.md в stdout (Markdown)
aws-perimeter --capabilities            # Вывести обзор возможностей в stdout (Markdown)
aws-perimeter --all-regions                            # Сканировать все включённые регионы
aws-perimeter --org-scan --org-role-name OrganizationAccountAccessRole  # Мультиаккаунтное сканирование организации
aws-perimeter --org-scan --max-parallel 5              # Параллелизм организация+регионы
aws-perimeter --output html --output-file report.html  # Сгенерировать HTML-отчёт
aws-perimeter --store --profile prod --region us-west-2 # Запустить + сохранить результат
aws-perimeter --trends --trend-days 30 --account-id 123456789012  # Показать таблицу исторических трендов
aws-perimeter history list --db-path ~/.aws-perimeter/history.db
aws-perimeter dashboard --port 8080

Для режимов разветвления (--regions, --all-regions, --org-scan) с --output html --output-file ... aws-perimeter записывает по одному отчёту на единицу сканирования с суффиксами региона/аккаунта и временной метки (например, security-report-us-east-1-20260210-213045.html или security-report-123456789012-us-east-1-20260210-213045.html). В HTML-режиме табличный вывод в терминал подавляется, выводятся только краткие сводные строки.

Режим JSON для автоматизации

При использовании --output json aws-perimeter выдаёт единый валидный JSON-документ без баннеров/индикаторов загрузки, поэтому безопасен для конвейеров.

root@kitploit:~
aws-perimeter --profile prod --region us-west-2 --output json | jq .

# Мультирегиональный JSON выдаёт один агрегированный JSON-документ верхнего уровня:
aws-perimeter --profile prod --regions us-east-1,us-west-2 --output json | jq .

# экспорт документации через перенаправление stdout
aws-perimeter --rules > rules.md
aws-perimeter --capabilities > capabilities.md

Мультирегиональный JSON включает:

  • summary (total_regions, success, failed, skipped)
  • results (консолидированные данные сканирования по регионам)
  • failures (регион + детали ошибки, если сканирование региона не удалось)

Сводный вывод разветвления

Для мультирегиональных сканирований и сканирований организации в не-JSON режимах вывода aws-perimeter печатает сводную таблицу в конце выполнения:

  • Строки по единицам сканирования с account_id, account_name, region, status, duration и error.
  • Итоговые суммы (TOTAL, SUCCESS, FAILED, SKIPPED).
  • Сводная таблица по аккаунтам для сканирований организации (количество успехов/ошибок/пропусков на аккаунт).

--max-parallel и --best-effort

  • --max-parallel управляет количеством единиц сканирования (регион/аккаунт), выполняемых одновременно в режимах разветвления (--regions, --all-regions, --org-scan).
  • Более высокие значения ускоряют сканирование, но увеличивают нагрузку на API и вероятность троттлинга/сетевых конфликтов.
  • Рекомендуемая начальная точка: --max-parallel 3 или --max-parallel 4.
  • --best-effort применяется к мультирегиональным сканированиям: команда завершается успехом (0), когда хотя бы один регион успешен, даже если некоторые регионы завершились ошибкой.
  • Без --best-effort любой регион с ошибкой возвращает ненулевой код завершения.
  • В мультирегиональном JSON-выводе регионы с ошибками отображаются в failures с точным описанием ошибки.

Флаги

Необходимые разрешения AWS

Следующие разрешения необходимы для полного покрытия функциональности (включая мультирегиональное сканирование и сканирование организации):

root@kitploit:~
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:GetCallerIdentity",
        "sts:AssumeRole",
        
        "organizations:DescribeOrganization",
        "organizations:ListAccounts",
        
        "ec2:Describe*",
        "ec2:GetEbsEncryptionByDefault",
        
        "iam:List*",
        "iam:Get*",
        "iam:GenerateCredentialReport",
        
        "s3:ListAllMyBuckets",
        "s3:GetBucket*",
        "s3:GetEncryptionConfiguration",
        
        "cloudtrail:DescribeTrails",
        "cloudtrail:GetTrailStatus",
        "cloudtrail:LookupEvents",
        
        "lambda:ListFunctions",
        "lambda:GetFunctionConfiguration",
        "lambda:GetFunction",
        
        "ecr:DescribeRepositories",
        "ecr:DescribeImages",
        "ecr:BatchGetImage",
        "ecr:GetDownloadUrlForLayer",
        
        "ecs:ListClusters",
        "ecs:DescribeClusters",
        "ecs:ListServices",
        "ecs:DescribeServices",
        "ecs:DescribeTaskDefinition",
        
        "eks:ListClusters",
        "eks:DescribeCluster",
        "eks:ListNodegroups",
        "eks:DescribeNodegroup",
        
        "bedrock:ListProvisionedModelThroughputs",
        "bedrock:ListCustomModels",
        "bedrock:GetModelInvocationLoggingConfiguration",
        
        "guardduty:ListDetectors",
        "guardduty:GetDetector",
        "guardduty:ListFindings",
        "guardduty:GetFindings",
        
        "securityhub:DescribeHub",
        "securityhub:GetFindings",
        
        "config:Describe*",
        
        "kms:ListKeys",
        "kms:DescribeKey",
        "kms:GetKeyRotationStatus",
        "kms:Decrypt",
        
        "rds:DescribeDB*",
        
        "dynamodb:ListTables",
        "dynamodb:DescribeTable",
        "dynamodb:DescribeContinuousBackups",
        
        "secretsmanager:ListSecrets",
        
        "elasticloadbalancing:Describe*",
        
        "backup:List*",
        
        "apigateway:GET",
        
        "cloudfront:List*",
        "cloudfront:Get*",
        
        "cloudwatch:GetMetricStatistics",
        
        "sns:ListTopics",
        "sqs:ListQueues"
      ],
      "Resource": "*"
    }
  ]
}

kms:Decrypt требуется только при сканировании зашифрованных объектов/пакетов (например, чтение объектов S3 с SSE-KMS). В production ограничьте эту операцию необходимыми ключами KMS.

Для --org-scan управляющий участник должен иметь разрешение принимать роль аккаунта-участника (по умолчанию OrganizationAccountAccessRole), например:

root@kitploit:~
{
  "Effect": "Allow",
  "Action": "sts:AssumeRole",
  "Resource": "arn:aws:iam::*:role/OrganizationAccountAccessRole"
}

Политика доверия роли аккаунта-участника также должна разрешать вашему субъекту (пользователю/роли) принимать эту роль (и включать условие sts:ExternalId, если вы используете --external-id).

Совет: Для быстрого старта прикрепите управляемую политику AWS arn:aws:iam::aws:policy/ReadOnlyAccess к вашему IAM-пользователю/роли.

План развития

Фаза 3: Расширенное обнаружение угроз

  • Моделирование угроз STRIDE
  • Анализ путей атак
  • Обнаружение утечки данных
  • Индикаторы майнинга криптовалют

Фаза 4: Корпоративные функции

  • Поддержка мультиаккаунтных организаций
  • Интеграция с CI/CD
  • Экспорт в SIEM (Splunk, ELK)
  • Историческая аналитика трендов

Краткая сводка

Лицензия

Apache License 2.0

Скачать инструмент
38
Расширенные (Lambda, ELB, Route53, Inspector и др.)35
Безопасность контейнеров (ECS + EKS)22
Обнаружение AI-атак7
Всего102
ПроверкаСерьёзностьОписание
Эскалация привилегий🔴 КритическийПользователь может повысить права до администратора
Административный доступ (:)🔴 КритическийПредоставлен полный доступ к AWS
Раскрытые секреты🔴 КритическийКлючи API/токены в Lambda/EC2
Публичный S3-бакет🔴 КритическийБакет общедоступен
Отсутствие CloudTrail🔴 КритическийНет аудита логирования
Открытые SSH/RDP🔴 КритическийПорты 22/3389 в интернет
Привилегированный контейнер🔴 КритическийКонтейнер ECS с root-доступом
GPU IMDSv1🔴 КритическийУчётные данные GPU-инстанса уязвимы
Доверие между аккаунтами🟠 ВысокийВнешний аккаунт может принять роль
Публичный endpoint EKS🟠 ВысокийKubernetes API общедоступен
Отсутствие логирования Bedrock🟠 ВысокийИспользование AI-моделей не аудируется
ФлагСокращениеОписание
--profile-pИспользуемый профиль AWS
--region-rРегион AWS
--regionsРегионы через запятую
--all-regionsСканировать все включённые регионы
--org-scanСканировать все активные аккаунты AWS Organization
--org-role-nameИмя IAM-роли для принятия в аккаунтах-участниках
--external-idВнешний ID для принятия роли между аккаунтами
--output-oФормат вывода: table, json или html
--rulesВывести каталог правил в Markdown и выйти
--capabilitiesВывести возможности в Markdown и выйти
--output-file-fФайл вывода (обязателен для html)
--storeСохранить результаты сканирования в SQLite
--db-pathПользовательский путь к БД SQLite
--trendsПоказать исторические тренды
--trend-daysОкно тренда в днях (по умолчанию 30)
--compareСравнить два последних сканирования
--export-jsonЭкспортировать файл трендов JSON
--export-csvЭкспортировать файл трендов CSV
--account-idФильтр по аккаунту для трендов/истории
--max-parallelМаксимальное количество параллельных единиц сканирования регион/аккаунт
--best-effortДля мультирегиональных сканирований — возврат успеха, если хотя бы один регион успешен
--dry-runРежим предварительного просмотра исправлений
--remediateПрименить поддерживаемые исправления
--dashboard-portПорт панели управления (корневой флаг; подкоманда dashboard использует --port)
--version-vИнформация о версии
ФазаСтатусПравила
Фаза 1✅ Завершена73
Фаза 2🔲 В процессе+20
Фаза 2.5🆕 Обнаружение AI-атак+13
Фаза 3🔲 Запланировано+15
Фаза 4🔲 ЗапланированоФункции