Proxy-aware C2 фреймворк для авторизованного red team: постэксплуатация и латеральное перемещение. Модульная архитектура на PowerShell/C#/Python с готовыми имплантами.
Современный open source C2-фреймворк от BishopFox. Альтернатива Cobalt Strike и Metasploit для red team операций. Поддерживает …
Фреймворк для пентестинга на Rust с динамической загрузкой модулей через C FFI. Модули — нативные `.so`-библиотеки: …
C2-фреймворк на Rust для Linux x86_64 и Windows x86_64. Реализует staged-доставку: стейджер (Mikazuki) выходит на связь …
Кроссплатформенный C2-сервер и агент на Go с транспортом по HTTP/2 для постэксплуатационных сценариев в рамках авторизованного …
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install.sh | sudo bash sudo ./Install.sh curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install.sh | sudo bash -s -- -p /root/PoshC2 curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/dev/Install.sh | sudo bash -s -- -b dev curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install-for-Docker.sh | sudo bash curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/BRANCHNAME/Install-for-Docker.sh | sudo bash -s -- -b BRANCHNAME

PoshC2 — это C2-фреймворк с поддержкой прокси, используемый для помощи пентестерам в проведении красной команды, пост-эксплуатации и горизонтального перемещения.
PoshC2 в основном написан на Python3 и имеет модульную структуру, позволяющую пользователям добавлять собственные модули и инструменты, что делает его расширяемым и гибким C2-фреймворком. В базовой комплектации PoshC2 поставляется с имплантами на PowerShell/C# и Python2/Python3, полезными нагрузками, написанными на PowerShell v2 и v4, исходным кодом на C++ и C#, различными исполняемыми файлами, DLL и сырым шеллкодом, а также полезной нагрузкой на Python2/Python3. Это обеспечивает функциональность C2 на широком спектре устройств и операционных систем, включая Windows, *nix и OSX.
Среди других примечательных особенностей PoshC2:
Документация по PoshC2 поддерживается здесь: https://poshc2.readthedocs.io/en/latest/
Присоединяйтесь к нам в Slack — poshc2.slack.com (для запроса приглашения отправьте письмо на labs@nettitude.com).
Вы можете установить PoshC2 напрямую или использовать Docker-образы. Инструкции для обоих вариантов приведены ниже.
Для установки PoshC2 предоставляется скрипт:
*** PoshC2 Install script ***
Usage:
./Install.sh -b <git branch> -p <Directory to clone PoshC2 to>
Defaults are master branch to /opt/PoshC2
Для выполнения скрипта установки требуются повышенные привилегии, так как он выполняет обновление и установку пакетов через apt.
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install.sh | sudo bash
Альтернативно можно клонировать репозиторий и запустить скрипт установки вручную.
sudo ./Install.sh
Вы можете вручную задать каталог установки PoshC2, передав его скрипту Install.sh в качестве аргумента -p. По умолчанию используется /opt/PoshC2:
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install.sh | sudo bash -s -- -p /root/PoshC2
Мы стремимся поддерживать стабильность ветки master, чтобы пользователи могли полагаться на неё при необходимости. По этой причине изменения часто бывают готовы функционально, но ещё не появляются в master, так как не прошли полное тестирование и утверждение.
Если вы хотите ознакомиться с новыми функциями PoshC2, вы можете посмотреть ветку dev или отдельные feature-ветки, ответвлённые от dev.
Поскольку функции проходят тестирование перед слиянием в dev, эта ветка всё ещё должна быть достаточно стабильной, и операторы могут выбрать использование этой ветки или конкретной feature-ветки для своего задания. Однако это предполагает обмен стабильности на новые функции, поэтому делайте это на своё усмотрение.
Чтобы использовать dev или feature-ветку, передайте её название скрипту Install.sh в качестве аргумента -b:
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/dev/Install.sh | sudo bash -s -- -b dev
Обратите внимание, что URL также включает название ветки (здесь dev вместо master).
Вы также можете запускать PoshC2 с помощью Docker, что обеспечивает более стабильную работу и позволяет легко запускать PoshC2 на других операционных системах. Установка через Docker не клонирует PoshC2, так как используются образы PoshC2 с Docker Hub, поэтому выполняется только минимальная установка некоторых зависимостей и скриптов.
Для начала установите Docker на хосте, а затем добавьте каталог проектов PoshC2 в Docker как общий каталог, если это требуется для вашей ОС. По умолчанию это /var/poshc2 на nix и /private/var/poshc2* на Mac.
Скрипт установки:
*** PoshC2 Install script for Docker ***
Usage:
./Install-for-Docker.sh -b <git branch>
Default is the master branch
Для выполнения скрипта установки требуются повышенные привилегии, так как он производит установку скриптов.
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install-for-Docker.sh | sudo bash
Чтобы использовать ветки dev или feature с Docker, скачайте Install-for-Docker.sh из соответствующей ветки и передайте имя ветки в качестве аргумента:
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/BRANCHNAME/Install-for-Docker.sh | sudo bash -s -- -b BRANCHNAME
На Windows импортируйте модуль PowerShell PoshC2.psm1.
Import-Module -DisableNameChecking C:\PoshC2\resources\scripts\PoshC2.psm1
posh-project -PoshC2Dir "C:\PoshC2" -LocalPoshC2ProjectDir "C:\PoshC2_Project" -Arg1 "-n" -Arg2 "newproject"
posh-config -PoshC2Dir "C:\PoshC2" -LocalPoshC2ProjectDir "C:\PoshC2_Project"
posh-server -PoshC2Dir "C:\PoshC2" -LocalPoshC2ProjectDir "C:\PoshC2_Project"
posh -PoshC2Dir "C:\PoshC2" -LocalPoshC2ProjectDir "C:\PoshC2_Project" username
Создайте новый проект:
posh-project -n <project-name>
Переключение на проекты или их список можно выполнить с помощью этого скрипта:
[*] Usage: posh-project -n <new-project-name>
[*] Usage: posh-project -s <project-to-switch-to>
[*] Usage: posh-project -l (lists projects)
[*] Usage: posh-project -d <project-to-delete>
[*] Usage: posh-project -c (shows current project)
Отредактируйте конфигурацию для вашего проекта:
posh-config
Запустите сервер PoshC2:
posh-server
Или запустите его как службу:
posh-service
Отдельно запустите ImplantHandler для взаимодействия с имплантами:
posh -u <username>
Полную документацию по PoshC2 можно найти на сайте https://poshc2.readthedocs.io/en/latest/.
Если вы используете Docker, можно указать тег образа Docker для запуска с помощью параметра -t для команд posh-server и posh.
Например:
posh-server -t latest
Не рекомендуется обновлять PoshC2 во время проведения тестирования. Входящие изменения могут быть несовместимы с существующим проектом и привести к нестабильному поведению.
При использовании версии PoshC2, клонированной из git, вы можете обновить установку PoshC2 с помощью следующей команды:
*** PoshC2 Update Script ***
Usage:
posh-update -b <git branch>
Default is the master branch
Вы можете использовать старую версию PoshC2, ссылаясь на соответствующий тег. Обратите внимание, что это работает только если вы клонировали репозиторий. Вы можете просмотреть теги репозитория, выполнив команду:
git tag --list
Если у вас есть локальная копия PoshC2, вы можете офлайн переключиться на нужную версию, просто переключившись на нужный тег:
git reset --hard <tag name>
Например:
git reset --hard v4.8
Однако учтите, что это перезапишет все локальные изменения в файлах, такие как изменения в конфигурационных файлах, и вам может потребоваться повторно запустить скрипт установки для этой версии или повторно настроить окружение соответствующим образом.
Это программное обеспечение должно использоваться только для санкционированной тестовой деятельности и не для злонамеренного использования.
Загружая это программное обеспечение, вы принимаете условия использования и лицензионное соглашение.