
Кроссплатформенный C2/teamserver, поддерживающий несколько транспортных протоколов, написанный на Go.
Кроссплатформенный C2/teamserver с поддержкой нескольких транспортных протоколов, написанный на Go.
Примечание: Проект находится в разработке и поэтому не совсем стабилен. Документация также оставляет желать лучшего, но со временем будет постепенно улучшаться.
Система Meteor разделена на несколько частей:
Клонируйте репозиторий и соберите необходимые compose-образы:
$ git clone https://github.com/degenerat3/meteor
$ cd meteor
$ docker-compose build
<подождите терпеливо, пока происходят действия с Golang и docker>
$ docker-compose up
Meteor запущен! Обратите внимание, что вы можете удалить контейнеры из compose-файла, если не будете их использовать: если вам нужен только web-транспорт, нет необходимости также собирать и запускать Petrie/Cera. Когда ваши контейнеры запущены, выполните curl localhost:8888, чтобы убедиться, что ядро работает.
На этом этапе клиент Daddy Tops уже должен быть собран, поэтому следуйте инструкциям в meteor/docs/daddy_tops.md, чтобы загрузить клиент и начать создавать агентов!
Почти вся связь в системе Meteor осуществляется с помощью protocol buffers. Стандарт связи Meteor (MCS) определяет, как форматировать данные для обработки их Core. Слушатели и агенты также используют MCS для передачи действий и результатов, а Daddy Tops использует MCS для всего: от аутентификации до регистрации ботов и групп. Proto-файл MCS можно найти по адресу meteor/pbuf/mcs.proto.
Реализованы следующие пары агент/слушатель, в будущем планируется больше:
Разработка дополнительных слушателей должна быть достаточно простой, если вы этого захотите, поскольку большая часть реальной функциональности Meteor абстрагирована в утилиты Agent и Listener. По большей части единственное, что требуется для создания нового слушателя, — это надёжный способ отправки и получения байтовой строки. Оттуда утилиты слушателя могут направлять данные в соответствующий endpoint API Core, а утилиты агента — выполнять действия и формировать правильные MCS-нагрузки. В этом отношении ещё многое предстоит улучшить, поскольку часть логики и разбора protobuf выполняется вне утилит, в main-функциях.
Nest используется для сборки и компиляции кода Meteor (в настоящее время только агентов), так что вам не нужно делать это самостоятельно. Вы можете использовать Daddy Tops (или что-то своё) для отправки необходимых параметров. В отличие от остального проекта, API Nest состоит из JSON-эндпоинтов, а не protobuf. Это сделано для того, чтобы бинарные файлы можно было собирать и загружать с помощью нескольких простых curl-команд, а не требовать использования protobuf и более сложного кода.
Документации сейчас довольно мало, но со временем она будет улучшаться. Некоторые документы по API Core и Nest, а также инструкции для Daddy Tops можно найти в meteor/docs.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Этот инструмент предназначен только для образовательных целей. Не трогайте машины, которые вам не принадлежат. Авторы не несут ответственности за любое незаконное использование этого кода.