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

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

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

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

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

Категории

Все категории
Loading categories
cowcloud — Бессерверное AWS-решение для распределения рабочих нагрузок по разведке и сканированию уязвимостей. Отправляйте задачи через веб-интерфейс; рабочие узлы EC2 выполняют пользовательские Python-скрипты с такими инструментами, как Nmap. | Kitploit
Инструменты/GitHubGitHub/nccgroup/cowcloud
Безопасность облачной инфраструктурыФреймворки для пентестаСканеры уязвимостейСкриптинг и автоматизацияСбор информацииБезопасность облачных средDevSecOpsУтилиты и фреймворки
GitHubnccgroup/cowcloud

cowcloud

Бессерверное AWS-решение для распределения рабочих нагрузок по разведке и сканированию уязвимостей. Отправляйте задачи через веб-интерфейс; рабочие узлы EC2 выполняют пользовательские Python-скрипты с такими инструментами, как Nmap.

602253 лет назадПроверено Kitploit
Репозиторий

Популярное

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

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

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

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

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

CowCloud

бессерверное решение для распределения рабочих нагрузок в AWS

CowCloud изначально был создан для распределённого запуска инструментов разведки и сканирования уязвимостей; например, одним из сценариев использования может быть работа охотников за багами (bug bounty). Это решение предназначено для того, чтобы абстрагировать конечных пользователей от работы, необходимой для распределения рабочих нагрузок в AWS. CowCloud предоставляет пользователям удобный веб-интерфейс для просмотра и создания новых задач, которые затем обрабатываются Python-кодом, выполняющимся на рабочих узлах (EC2-инстансах). Предполагается, что Python-код и AMI EC2 будут настраиваться под конкретные нужды. В качестве примера, предположим, вы хотите выполнять сканирование с помощью Nmap. В этом случае вы можете просто выбрать AMI из каталога AMI и обновить поле image_id в Terraform/ec2_module/ec2_module.tf. Затем потребуется обновить файл ec2py/template.py, чтобы настроить аргументы для сканирования Nmap (-Pn, -p 443 и т.д.). Наконец, потребуется обновить поле user_data в файле конфигурации Terraform/ec2_module/ec2_module.tf, чтобы установить Nmap и его зависимости.

Другой вариант — установить и запустить несколько коммерческих инструментов; в этом случае вы можете создать собственный EC2-инстанс или снапшот. В этом случае вы установите все зависимости и активируете лицензии, чтобы использовать этот AMI в качестве эталонного образа для своих рабочих узлов.

Скриншот

CowCloud можно разделить на три основных компонента:

  • конфигурация Terraform
  • front-end на React JS
  • Python-приложение, которое выполняется на рабочих узлах

Ниже перечислены ключевые возможности:

  • Решение использует Amazon Cognito (с пользовательским пулом), чтобы пользователи могли регистрироваться и входить в веб-приложение.
  • React JS-приложение в качестве front-end. Front-end отображает задачи и рабочие узлы и позволяет добавлять новые задачи.
  • API Gateway с интеграцией Lambda для обработки CORS и взаимодействия с некоторыми Lambda-функциями для создания и получения информации из DynamoDB.
  • CloudFront для управления SSL и кэшем.
  • WAF с правилами и условиями по IP-адресам для ограничения доступа к веб-приложению (необязательно).
  • S3-бакеты для хранения результатов выполнения и front-end приложения; отдельный S3-бакет используется в качестве репозитория кода для Python-приложения.
  • Python-приложение как ядро для выполнения задач на EC2-инстансах (рабочих узлах). Действия инструмента можно разбить на несколько этапов:
    • Python-приложение потребляет сообщения
    • запускает сканирование
    • сжимает вывод
    • и шифрует вывод с помощью AES256-CBC и пароля
    • затем загружает результат в S3-бакет
  • При каждом создании нового рабочего узла репозиторий Python загружается из S3-бакета, после чего выполняется включённый в него файл ec2py.
  • При каждом создании нового рабочего узла инстансу может автоматически назначаться EIP (необязательно).
  • Группы журналов CloudWatch для хранения журналов из различных источников, таких как ошибки Lambda, исключения в Python-инструменте ec2app, API Gateway, журналы Docker и многое другое.
  • Перехватчики жизненного цикла для изменения статуса рабочих узлов в DynamoDB и предотвращения завершения рабочих узлов, пока задача всё ещё выполняется.
  • Стратегия автомасштабирования на основе количества задач в очереди и заданной конфигурации (дополнительную информацию о работе алгоритма можно найти в autoscalingStrategy.py).
  • Сопоставление источника событий Lambda для таблицы задач в DynamoDB; это нужно для управления действиями автомасштабирования при увеличении или уменьшении количества элементов в базе данных.
  • SNS для отправки новых сообщений (задач) в SQS; эти сообщения позже читаются рабочими узлами.
  • Сервис Step Functions используется для создания обратного отсчёта и удаления групп журналов CloudWatch после истечения retention_time.
  • Если ec2py запускает инструменты (например, Nmap) внутри Docker-контейнеров, stdout может записываться в CloudWatch и просматриваться через интерфейс; обратите внимание на переменную extra_docker_params в файле template.py (это объясняется в разделе «Администратор/сопровождающий» ниже).
  • Front-end предоставляет кнопку для прерывания задач во время их выполнения и ещё одну кнопку для просмотра журналов Docker-контейнера.
  • Если вы хотите изменить что-либо в коде front-end или в папках ec2py, вам нужно распространить эти изменения на S3-бакеты и инвалидировать кэш для front-end; всё это можно сделать, просто выполнив setup.bat/sh.

Схема:

Deprecated

В конфигурации Terraform доступны следующие параметры:

переменнаязначение по умолчаниюописание
eipenablefalseЕсли true, решение выделяет пул эластичных IP-адресов, связанных с рабочими узлами по мере их запуска. Количество резервируемых EIP вычисляется по формуле sum([var.max_workers, var.maximum_number_of_terminating_machines])
cidr_whitelist[]Белый список CIDR, разрешающий в брандмауэре только определённые IP-диапазоны. Например: ["195.95.131.0/24"]
max_workers и max_queued_tasks_per_workermax_workers: 3, max_queued_tasks_per_worker: 10Эти два параметра определяют, когда уменьшать или увеличивать масштаб, например, max_workers 3, max_queued_tasks_per_worker 10. Это означает, что если количество задач превышает десять, будет создан новый EC2-инстанс. Если задач больше двадцати, для распределения рабочих нагрузок будет доступно не более трёх EC2-инстансов (см. алгоритм в скрипте Terraform/dynamodb_module/autoscalingTool/autoscalingStrategy.py).
maximum_number_of_terminating_machines2Определяет количество инстансов, которые должны быть завершены, но находятся в ожидании, пока процесс/скан не завершит задачу.
heartbeat_timeout900Определяет время, в течение которого эти рабочие узлы находятся в ожидании. После истечения этого времени рабочий узел будет принудительно завершён.
instance_typet2.microhttps://aws.amazon.com/ec2/instance-types/
aminullhttps://aws.amazon.com/es/amazon-linux-ami/
retention_time7Задаёт срок хранения (в днях) для журналов и срок действия элементов архивной таблицы (выполненных задач).

В результате выполнения Terraform создаётся новый файл (config.js), содержащий конфигурацию, необходимую React JS-приложению для аутентификации в каталоге пользовательского пула Cognito. После развёртывания инфраструктуры необходимо собрать React-приложение и загрузить папку build. Кроме того, нужно загрузить Python-код в S3-бакет, который выступает в роли репозитория кода. Этот процесс автоматизирован в двух скриптах setup.bat и setup.sh, так что вам не нужно об этом беспокоиться; здесь это указано лишь для описания данного этапа.


Шаги по установке:

Инфраструктура по умолчанию развёртывается в регионе us-east-1, хотя это можно изменить в файле locals.tf внутри папки Terraform.

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