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

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

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

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

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

Категории

Все категории
Loading categories
BlackBerryC2 — Зашифрованная исследовательская платформа командования и управления (C2) для обучения кибербезопасности, лабораторных работ red team и экспериментов по безопасной связи клиент-сервер. | Kitploit
Инструменты/GitHubGitHub/dereeqw/blackberryc2
Инструменты шифрования/дешифрованияГенерация полезной нагрузкиОбход IDS/IPSСетевая безопасностьКриптографияТестирование на ПроникновениеКомандование и УправлениеОбучение и ОбразованиеRed TeamingИнструмент Удаленного Доступа
GitHub
312246 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

BlackBerryC2

Зашифрованная исследовательская платформа командования и управления (C2) для обучения кибербезопасности, лабораторных работ red team и экспериментов по безопасной связи клиент-сервер.

Репозиторий

BlackBerryC2 2.0.0-beta

BlackBerryC2 — это зашифрованная платформа для удаленного администрирования и C2, разработанная исключительно для образовательных целей, исследований в области безопасности и контролируемых лабораторных сред. BlackBerryC2 Demo

Проект демонстрирует, как построить пользовательский сервер управления и контроля с криптографией на уровне приложения, управлением сессиями и безопасной связью с клиентом без использования внешних TLS-стеков.


⚠️ Важное уведомление

Этот проект НЕ является вредоносным ПО и НЕ предназначен для несанкционированного доступа.

BlackBerryC2:

  • Не самораспространяется
  • Не использует уязвимости автоматически
  • Не включает механизмы сохранения
  • Не пытается обходить антивирусное ПО

Используйте только на системах и сетях, которыми вы владеете или на тестирование которых имеете явное разрешение.


Python-зависимости:

pip install cryptography prompt_toolkit zstandard

zstandard опционален, но рекомендуется для передачи файлов размером более 1 ГБ.


Ключевые возможности

  • Пользовательский зашифрованный C2-сервер на основе TCP (v2.0)
  • Обмен ключами ECDHE (secp256r1) — эфемерный или постоянный
  • Аутентифицированное шифрование AES-256-GCM для каждой сессии
  • Аутентификация каждого пакета с помощью HMAC-SHA256 + номера последовательности для защиты от повторного воспроизведения
  • Несколько одновременных клиентских сессий
  • Интерактивная консоль оператора с автодополнением (prompt_toolkit)
  • Зашифрованное удаленное выполнение команд
  • Зашифрованная передача файлов со сжатием zlib / Zstandard
  • Рекурсивная загрузка/выгрузка директорий (get -r, put -r)
  • Фоновые передачи (-b) — неблокирующие, отменяемые
  • Поддержка возобновления передачи (файлы .partial + .resume)
  • Генератор клиентской полезной нагрузки (generate-payload)
  • Блокировка IP: постоянный список блокировки + временные авто-баны
  • Обнаружение сканирования / флуда: сканирование подключений, захват баннера, сбои рукопожатия, флуд heartbeat
  • Опциональная поддержка HTTP(S)/TLS-прокси (BlackBerryHTTPs_TLSProxyGUI)
  • SPA (Single Packet Authorization) и Port-Knocking предварительная аутентификация
  • Режим BerryTransfer — выделенный сервер только для передачи файлов (без оболочки)
  • Зашифрованный журнал сессии (AES-256-GCM + PBKDF2, 600k итераций)
  • Зашифрованный журнал сервера со встроенным просмотрщиком (команда log)
  • Конфигурация запуска сохраняется в logs/last_start.json

Криптографический дизайн

BlackBerryC2 v2.0 устанавливает безопасную связь следующим образом:

  1. Клиент подключается через TCP; сервер отправляет баннер службы.
  2. Клиент отправляет REQUEST_PUBKEY.
  3. Сервер отправляет свой эфемерный открытый ключ ECDHE (secp256r1).
  4. Клиент отправляет свой открытый ключ ECDHE + тег аутентификации HMAC-SHA256.
  5. Сервер проверяет HMAC по предварительно общему секрету (HMAC_PRE_SHARED_SECRET).
  6. Обе стороны выводят 256-битный ключ сессии AES через HKDF-SHA256 на основе общего секрета.
  7. Все дальнейшее общение использует AES-256-GCM с по-пакетным HMAC-SHA256 и номерами последовательности для защиты от повторного воспроизведения.

Каждая сессия поддерживает:

  • Собственный ключ AES-256 и ключ HMAC
  • Независимые nonce (12-байтовые случайные для каждого сообщения)
  • Изолированный трекер защиты от повторного воспроизведения (окно последовательности ±100)
  • Ограничитель скорости для защиты от флуда (настраиваемое количество команд/сек)

Все криптографические ключи генерируются во время выполнения и никогда не повторяются между перезапусками (если не установлен --persistente).


Запуск сервера

python3 BlackBerryC2_server.py

Конфигурация по умолчанию:

  • Хост: 0.0.0.0
  • Порт: 9949

Аргументы командной строки

ФлагОписание
-p / --persistenteИспользовать постоянные ключи ECDHE из ecdhe-cert/ (запрашивает парольную фразу)
-vОтладка логирования
-vvПодробное (расслабленное) логирование
-H <host>Прослушиваемый хост (по умолчанию: 0.0.0.0)
-P <port>Прослушиваемый порт (по умолчанию: 9949)
--no-secureПринимать любого клиента ECDHE без проверки HMAC
--hmac <secret>Пользовательский предварительно общий секрет HMAC (hex или строка)
--log-passphrase <pass>Шифровать журнал сервера с помощью AES-256-GCM (PBKDF2 600k итераций)
--logsИнтерактивный просмотрщик журналов — сервер не запускается
--spaВключить предварительную аутентификацию SPA / port-knocking
--spa-mode <spa|knock>spa = одиночный UDP-токен, knock = последовательность портов
--spa-port <port>UDP-порт для SPA-слушателя (по умолчанию: 7331)
--knock-seq <ports>Последовательность портов для режима knock (по умолчанию: 7001,7002,7003)
--knock-timeout <sec>Секунды для завершения последовательности knock (по умолчанию: 10)
--spa-ttl <sec>Секунды, в течение которых авторизованный IP остается действительным (по умолчанию: 60)
--berrytransferРежим BerryTransfer: только передача файлов, без оболочки
--transfer-root <dir>Корневая директория для BerryTransfer (по умолчанию: ./berry_transfers)
--auto-confirmАвтоматически подтверждать все GET-запросы в BerryTransfer (без запроса оператора)

Примеры:

# Базовый запуск (запрашивает парольную фразу для журнала)
python3 BlackBerryC2_server.py

# Постоянные ключи ECDHE + подробный режим
python3 BlackBerryC2_server.py -p -vv

# Пользовательский порт, без проверки HMAC
python3 BlackBerryC2_server.py -P 8080 --no-secure

# Port-knocking на пользовательских портах
python3 BlackBerryC2_server.py --spa --spa-mode knock --knock-seq 9001,9002,9003

# Режим BerryTransfer с авто-подтверждением
python3 BlackBerryC2_server.py --berrytransfer --auto-confirm

# Просмотр/расшифровка журналов без запуска сервера
python3 BlackBerryC2_server.py --logs

Команды консоли оператора

Управление сервером

КомандаОписание
listСписок активных сессий со статистикой и именем хоста
select <ID>Взаимодействие с клиентской сессией
all <cmd>Отправить команду всем подключенным клиентам
reportПолный отчет о состоянии сервера (аптайм, сессии, передачи)
set host <HOST>Изменить прослушиваемый хост (перезапускает сервер)
set port <PORT>Изменить прослушиваемый порт (перезапускает сервер)
sVbanner "<text>"Изменить баннер службы
generate-payloadСгенерировать клиентскую полезную нагрузку
fingerprintПоказать отпечаток серверного ключа ECDHE (SHA-256)
ecdhe-keysПоказать текущую пару ключей ECDHE (PEM)
kill <id|ip>Завершить сессию по ID или IP
block <IP>Постоянно заблокировать IP
unblock <IP>Разблокировать IP (постоянный + временный)
blocklistПоказать заблокированные IP (постоянные и временные)
logИнтерактивный просмотрщик журналов (поддерживает зашифрованные журналы)
reportСводка состояния: аптайм, сессии, передачи
bannerПовторно отобразить стартовый баннер
cleanУдалить файлы журналов сервера
vПереключить отладку DEBUG
vvПереключить подробное логирование VERBOSE
cd <dir>Изменить рабочую директорию сервера
E <cmd>Выполнить команду через os.system локально
<любая команда>Выполнить локально на сервере
exitОстановить сервер и выйти

Прокси

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