Magic Quadrant™ para la gestión de acceso privilegiado 2025: Netwrix reconocida por cuarto año consecutivo. Descarga el informe.

Plataforma
Centro de recursosBlog
Covenant C2 llena el vacío dejado por Empire PowerShell

Covenant C2 llena el vacío dejado por Empire PowerShell

Jan 27, 2023

Las herramientas de post-explotación son utilizadas por actores de amenazas para moverse lateralmente dentro de una red y escalar sus privilegios con el fin de robar datos, desatar malware, crear puertas traseras y más. Los equipos rojos y los hackers éticos también usan estas herramientas; de hecho, simular los esfuerzos de los adversarios juega un papel clave en la implementación de controles efectivos para asegurar sistemas, aplicaciones y archivos.

Hasta hace poco, uno de los frameworks de post-explotación más utilizados era PowerShell Empire (PSEmpire). Permitía a los adversarios utilizar agentes de PowerShell y Python para desplegar elementos maliciosos, que iban desde registradores de teclas hasta mimikatz, en entornos de Windows, Linux y macOS mientras evitaban ser detectados. Sin embargo, en 2019, la página del proyecto Empire GitHub anunció que PowerShell Empire ya no tenía soporte. Esto probablemente se debió a que las herramientas de detección y respuesta en endpoints (EDR) se volvieron más efectivas para detectar el uso malicioso de PowerShell.

En consecuencia, muchos atacantes y profesionales de la ciberseguridad han pasado a marcos de C2 de código abierto de próxima generación. Este artículo explora una de estas herramientas de post-explotación: Covenant C2.

Acerca de Covenant C2

Covenant C2 es un marco de comando y control (C&C) que facilita la explotación de aplicaciones web y sus entornos de red de soporte. Este marco de código abierto altamente escalable está disponible en GitHub. Se implementa en minutos, incluso para aquellos con experiencia mínima en marcos C2, y ofrece una interfaz web intuitiva (ver Figura 1) que facilita la adición de nuevos agentes, fuentes de datos e integraciones, y la extracción de datos y credenciales.

Image

Figura 1. Panel de Covenant (fuente: GitHub)

Arquitectura

Covenant se basa en una arquitectura altamente escalable escrita en C# que permite a los desarrolladores integrar fácilmente con el marco de trabajo. Soporta perfiles de múltiples usuarios con autenticación y utiliza bases de datos ligeras y confiables como SQLLite y PostgreSQL. Su soporte multiplataforma incluye Windows, macOS y distribuciones de Linux como Kali.

El Covenant Server ejecuta funcionalidades de comando y control, permitiendo a los usuarios operar de manera colaborativa entre sí. Utiliza grunts — agentes que se comportan de manera similar a los soldados rasos en la guerra antigua que eran utilizados como carne de cañón. Estos grunts se comunican con el Covenant server mientras realizan sus tareas asignadas y evitan ser detectados.

Implementando Covenant

Un servidor Covenant puede estar operativo en cuestión de minutos. En Windows, el único requisito previo es el .NET Core SDK. Para construir e iniciar la aplicación Covenant ASP .NET Core, simplemente ejecute los siguientes comandos:

      git clone --recurse-submodules https://github.com/cobbr/Covenant

cd Covenant/Covenant

dotnet build

dotnet run
      

Alternativamente, puede usar un Docker container.

Luego navegue a la máquina localhost utilizando el puerto 7443, y podrá comenzar a usar la interfaz de usuario de Covenant con su navegador preferido.

Usando Covenant

La primera tarea es configurar un listener, como se detalla aquí. Luego crea un payload para desplegar tus grunts en máquinas remotas donde establecerán comunicaciones con el servidor Covenant.

Entonces puede usar las siguientes páginas en la interfaz de usuario de Covenant para crear, ejecutar y revisar tareas.

Página de Grunts

Utilice la Grunts page para revisar sus gruñidos y hacer que ejecuten tareas.

Image

Figura 2. Página de detalle de Grunt (fuente: GitHub)

Ejemplo: Implementando mimikatz

Por ejemplo, el video a continuación ilustra cómo usar un Grunt para desplegar mimikatz:

Image

Figura 3. Utilizando un grunt para desplegar mimikatz

Puede revisar el resultado de la tarea ejecutada utilizando la interfaz del navegador.

Image

Figura 4. Revisando el resultado de una tarea realizada por un grunt

Página de Tareas

La página de Tasks page proporciona una lista ordenable y buscable de todas las tareas disponibles que puede asignar a sus Grunts.

Image

Figura 5. Página de tareas

Página de Tareas

La página de asignaciones muestra las tareas que has asignado a los subordinados y su estado.

Image

Figura 6. Página de tareas

Página de datos

El propósito de las tareas es capturar datos, los cuales se resumen en la Data Page. La pestaña de Indicadores proporciona un registro de auditoría de la actividad, que puedes entregar a tu equipo azul para reforzar sus esfuerzos de seguridad.

Image

Figura 7. Página de datos

Conclusión

Covenant C2 es un excelente ejemplo de cómo los proyectos de C2 de post-explotación de código abierto han tomado el relevo de PowerShell Empire para potenciar a los equipos rojos. Incluye muchas características impresionantes que lo hacen ideal para esfuerzos colaborativos de hacking ético. Hay una gran cantidad de excelentes recursos en el Covenant GitHub para ayudarte a comenzar. Si el marco de trabajo de Covenant es nuevo para ti, es hora de echarle un vistazo.

Compartir en

Aprende más

Acerca del autor

Asset Not Found

Joe Dibley

Investigador de seguridad

Investigador de seguridad en Netwrix y miembro del Equipo de Investigación de Seguridad de Netwrix. Joe es un experto en Active Directory, Windows y una amplia variedad de plataformas y tecnologías de software empresarial, Joe investiga nuevos riesgos de seguridad, técnicas de ataque complejas y las mitigaciones y detecciones asociadas.