CrucibleC2

Exploitation vV0.3.03-Alpha · 13.10.2023 не обновлялся >2 лет

Кроссплатформенный C# .NET command and control фреймворк с поддержкой совместной работы нескольких операторов для red team операций.

vV0.3.03-Alpha
13.10.2023 current

Установка
# Docker installation
# 1. Install Docker and Docker Compose
# 2. Run:
docker compose up -d
# Optionally, provide HARDHAT_ADMIN_USERNAME and/or HARDHAT_ADMIN_PASSWORD as environment variables
# 3. Navigate to https://localhost:7096/

# Manual installation
# 1. Install .NET 7 SDK from Microsoft
# 2. From the .\TeamServer directory:
dotnet run
# 3. From the HardHatC2Client directory:
dotnet run https://<TEAMSERVER_HOST>:<TEAMSERVER_PORT>
# Example: dotnet run https://127.0.0.1:5000
# 4. Navigate to https://localhost:7096/
показать оригинал переведено ИИ

Discord GitHub issues GitHub Repo stars GitHub forks GitHub tag (latest by date) GitHub last commit Twitter Follow chat on Bloodhound Slack


Sponsored by SpecterOps

HardHat C2

Кроссплатформенный, совместный фреймворк Command & Control, написанный на C#, предназначенный для красных команд и простоты использования

image

HardHat — это многопользовательский фреймворк Command & Control (C2) на основе C# .NET, предназначенный для поддержки операций красных команд и тестирования на проникновение. Его цель — улучшить качество работы во время операций за счёт предоставления надёжного и простого в использовании фреймворка C2.

HardHat состоит из трёх основных компонентов:

  1. Teamserver на основе ASP.NET
  2. Клиент на основе Blazor .NET
  3. Встроенные импланты на C#
    1. Поддержка сторонних имплантов на других языках

Полная документация доступна по адресу https://docs.hardhat-c2.net/.

ЗАМЕТКА: HardHat находится на стадии альфа-релиза; в нём могут быть ошибки, отсутствующие функции и неожиданные ситуации. Спасибо, что пробуете его, и пожалуйста, сообщайте о любых обнаруженных проблемах или отсутствующих функциях, чтобы их можно было устранить.

Сообщество

Присоединяйтесь к нашему Discord, чтобы обсуждать HardHat C2, программирование, операции красных команд и общие темы кибербезопасности. Это также отличное место, чтобы запросить помощь, сообщить об ошибках или предложить новые функции, а также быть в курсе последних обновлений.

Вклад в код приветствуется! Не стесняйтесь отправлять запросы на добавление функций, pull request или делиться своими идеями в Discord.

Возможности

Поддержка пользовательских активов

  • Активы — это импланты и связанные с ними плагины для teamserver и клиента. Чтобы узнать о доступных активах и научиться создавать новые, ознакомьтесь с HardHat Toolbox.

Teamserver и клиент

  • Индивидуальные учётные записи операторов с управлением доступом на основе ролей (RBAC)
    • Позволяет персонализировать учётные записи
    • Позволяет ограничивать доступ к определённым функциям (например, роль гостя только для просмотра, утверждение opsec лидером команды (в разработке))
  • Менеджеры (Слушатели)
  • Динамическая генерация полезной нагрузки (EXE, DLL, shellcode, команда PowerShell)
  • Создание и редактирование C2-профилей на лету в клиенте
  • Настройка генерации полезной нагрузки
    • Время задержки/джиттер
    • Дата завершения работы
    • Рабочие часы
    • Тип (EXE, DLL, shellcode, команда PowerShell)
    • Включённые команды (в разработке)
    • Опция запуска ConfuserEx
  • Загрузка и скачивание файлов
  • Просмотр в виде графа
  • Графический интерфейс файлового браузера
  • Журнал событий
  • Логирование событий и задач в формате JSON
  • Отслеживание добычи
    • Учётные данные
    • Загрузки
  • Отслеживание индикаторов компрометации (IOC)
  • Прокси для пивотирования (SOCKS 4a, перенаправление портов)
  • Хранилище учётных данных
  • Автодополнение истории команд
  • Подробная команда помощи
  • Интерактивная команда терминала bash, если клиент работает на Linux, или PowerShell на Windows
    • Позволяет автоматически анализировать и логировать терминальные команды, такие как proxychains
  • Постоянное хранение данных teamserver в базе данных (учётные записи пользователей, менеджеры, инженеры, события, задачи, учётные данные, загрузки, выгрузки и т. д.)
  • Отслеживание сущностей разведки (отслеживание информации о пользователях/устройствах, произвольные метаданные по мере необходимости)
  • Общие файлы для некоторых команд (см. страницу teamserver для подробностей)
  • Вкладка для ввода команд
  • Опция вывода в виде таблицы для некоторых команд (например, ls, ps и т. д.)
  • Автоматический парсинг вывода Seatbelt для создания «сущностей разведки» для удобного обращения
  • Тёмная и светлая 🤮 тема

image image

Инженеры

  • Имплант на основе C# .NET для устройств под управлением Windows (в настоящее время поддерживается только CLR/.NET 4)
    • Пока только один имплант, но планируется добавление других
  • Может генерироваться в виде EXE, DLL, shellcode или PowerShell-стажера
  • RC4-шифрование памяти полезной нагрузки и кучи во время сна (только для EXE/DLL)
  • AES-шифрование всего сетевого трафика
  • Интеграция с ConfuserEx для обфусцирования
  • Коммуникация по HTTP, HTTPS, TCP, SMB
    • TCP и SMB могут работать по модели peer-to-peer (P2P) в конфигурациях bind или reverse
  • Уникальный ключ для каждого импланта, генерируемый во время компиляции
  • Несколько URI обратного соединения в зависимости от C2-профиля
  • Интеграция P/Invoke и D/Invoke для вызовов Windows API
  • Поддержка SOCKS 4a
  • Обратное перенаправление портов и перенаправление портов
  • Все команды выполняются как асинхронные, отменяемые задачи
    • Опция выполнения команд синхронно, если требуется
  • Выполнение встроенного ассемблерного кода и встроенного shellcode
  • Инъекция DLL
  • Выполнение ассемблерного кода и интеграция с Mimikatz
    • Mimikatz не встроен в имплант, а загружается при выполнении определённых команд
  • Различные инструменты для локального и сетевого перечисления
  • Команды манипуляции токенами
    • Кража маски токена (в разработке)
  • Команды бокового перемещения
  • Jump (psexec, wmi, wmi-ps, winrm, dcom)
  • Удаленное выполнение (в разработке)
  • Исправление интерфейса сканирования антивирусом (AMSI) и трассировки событий для Windows (ETW)
  • Неуправляемый PowerShell
  • Хранилище скриптов позволяет загружать несколько скриптов одновременно
  • Создание и инъекция
    • Создание процесса настраиваемо image

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

Установка

Docker

  1. Установите Docker и Docker Compose
  2. Выполните docker compose up -d
    • При желании укажите переменные окружения HARDHAT_ADMIN_USERNAME и/или HARDHAT_ADMIN_PASSWORD; если они не указаны, стандартное имя администратора и случайно сгенерированный пароль будут записаны в логи teamserver при первом запуске
  3. Перейдите по адресу https://localhost:7096/ в браузере

Вручную

  1. Установите .NET 7 SDK от Microsoft
  2. Выполните dotnet run из каталога .\TeamServer, чтобы собрать и запустить teamserver
  3. Выполните dotnet run https://<TEAMSERVER_HOST>:<TEAMSERVER_PORT> из каталога HardHatC2Client
    • Например, если teamserver работает на том же хосте и стандартном порту: dotnet run https://127.0.0.1:5000
  4. Перейдите по адресу https://localhost:7096/ в браузере

Чтобы настроить адрес прослушивания teamserver (т.е. куда будут подключаться клиенты), отредактируйте .\TeamServer\Properties\LaunchSettings.json и измените "applicationUrl": "https://127.0.0.1:5000" на нужный адрес и порт.

Настройка

  1. Войдите в веб-интерфейс клиента, используя имя пользователя и пароль, заданные через переменную окружения или выведенные в STDOUT teamserver
  2. Перейдите на страницу настроек и создайте новую учетную запись пользователя
    • В случае успеха появится сообщение; после этого можно войти с этой учетной записью, чтобы получить доступ к полному клиенту

Отслеживание релиза

Войдите, чтобы оставить комментарий