
Простая расширяемая система маячковой связи C&C.
Репозиторий C2 стремится предоставить практическую реализацию идей, изложенных в Red Team Infrastructure Wiki по адресу https://github.com/bluscreenofjeff/Red-Team-Infrastructure-Wiki. В частности, этот репозиторий содержит два пакета на Go: один для биконеров (beaconers) и один для загрузчиков (downloaders). Кроме того, в репозитории представлены примеры имплантов, использующих эти биконеры и загрузчики. Наконец, репозиторий содержит серверные DNS- и HTTP-серверы для C2, а также конфигурационную информацию для создания фронтенд-редиректоров (redirector).
В папке implants находятся два импланта, показывающие, как использовать пакеты beaconer и downloader. Эти импланты можно использовать в качестве справочного материала для создания собственных имплантов. Общая идея заключается в том, чтобы выбрать биконер и загрузчик и обернуть их в цикл с каким-либо механизмом синхронизации для управления тем, как часто имплант будет отправлять сигналы (beacon).
Чтобы создать новые биконеры и загрузчики, необходимо создать структуру (struct), удовлетворяющую соответствующему интерфейсу. Каталоги beaconer и downloader содержат примеры как для HTTP, так и для DNS.
Каталог servers содержит DNS-сервер и HTTP-сервер, которые можно использовать в качестве серверного сервера для различных биконов и загрузчиков. Эти серверы не были разработаны с расчетом на промышленное использование, но при необходимости могут использоваться в производственной среде. Кроме того, в папке servers находится файл полезной нагрузки (payload), который можно собрать с помощью go build -o payload.bin payload.go. Серверы ожидают, что в текущем каталоге будет находиться файл payload.bin, который будет передан загрузчикам и выполнен на клиенте.
Папка docs содержит конфигурационную информацию, необходимую для создания фронтенд-редиректоров для системы C2. Конфигурация позволяет перенаправлять трафик C2 на сервер C2 на основе определенных критериев, а весь остальной трафик отправляет на безвредный сервер.
Я не эксперт по C2. Я читал Red Team Infrastructure Wiki и решил реализовать практическую реализацию. Тем не менее, я буду рад pull request'ам с новыми биконерами и загрузчиками. Если вам неудобно писать код самостоятельно, сообщите мне, какие техники биконов или загрузчиков вы хотели бы реализовать, создав issue.