
Un C2/teamserver multiplataforma con soporte para múltiples protocolos de transporte, escrito en Go.
Un C2/teamserver multiplataforma que soporta múltiples protocolos de transporte, escrito en Go.
Nota: Esto está en desarrollo y, por lo tanto, no es exactamente estable. La documentación también es escasa, pero irá mejorando gradualmente con el tiempo.
El sistema Meteor está dividido en varias partes:
Clona el repositorio y compila las imágenes de compose requeridas:
$ git clone https://github.com/degenerat3/meteor
$ cd meteor
$ docker-compose build
<wait patiently as Golang and docker stuff happens>
$ docker-compose up
¡Meteor ya está en marcha! Ten en cuenta que puedes eliminar contenedores del archivo compose si no los vas a usar, así que si solo quieres usar el transporte web no hay necesidad de compilar y ejecutar también Petrie/Cera. Una vez que tus contenedores estén en ejecución, prueba con curl localhost:8888 para asegurarte de que el core esté funcionando.
En este punto, un cliente Daddy Tops debería estar compilado, así que sigue las instrucciones en meteor/docs/daddy_tops.md para descargar el cliente y comenzar a crear agents.
Casi toda la comunicación en el sistema Meteor se realiza con protocol buffers. El Meteor Communication Standard (MCS) define cómo formatear los datos para que el Core los procese. Los listeners y agents también utilizan MCS para la transferencia de acciones y resultados, y Daddy Tops utiliza MCS para todo, desde la autenticación hasta el registro de bots y grupos. El archivo proto de MCS se puede encontrar en meteor/pbuf/mcs.proto.
Los pares agent/listener actuales están implementados, con planes para añadir más en el futuro:
Desarrollar listeners adicionales debería ser bastante sencillo si así lo deseas, ya que la mayor parte de la funcionalidad real de Meteor está abstraída en las utilidades de Agent y Listener. En su mayor parte, lo único necesario para crear un nuevo listener es una forma fiable de enviar y recibir una cadena de bytes. A partir de ahí, las utilidades de listener pueden enrutar los datos al endpoint adecuado de la API del Core, y las utilidades de agent pueden ejecutar las acciones y construir los payloads MCS correctos. Aún hay mucho margen de mejora en este sentido, ya que hay algo de lógica y análisis de protobuf que se realiza fuera de las utilidades en las funciones principales.
El Nest se utiliza para construir y compilar código de Meteor (actualmente solo agents), para que no tengas que hacerlo tú. Puedes usar Daddy Tops (o algo personalizado) para enviar los parámetros necesarios. A diferencia del resto del proyecto, la API del Nest se compone de endpoints JSON en lugar de protobuf. Esto es para que los binarios se puedan compilar y descargar con unos simples comandos curl, en lugar de requerir el uso de protobuf y código más complicado.
La documentación es bastante limitada por ahora, pero irá mejorando con el tiempo. Puedes encontrar documentación sobre las APIs del Core y del Nest, así como instrucciones para Daddy Tops, en meteor/docs.
DESCARGO DE RESPONSABILIDAD: Esta herramienta es solo para fines educativos. No te metas con máquinas que no sean tuyas. Los autores no son responsables de ningún uso ilícito de este código.