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.
Contenido relacionado seleccionado:
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.
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.
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:
Figura 3. Utilizando un grunt para desplegar mimikatz
Puede revisar el resultado de la tarea ejecutada utilizando la interfaz del navegador.
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.
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.
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.
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
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.
Aprende más sobre este tema
Ejemplo de Análisis de Riesgos: Cómo Evaluar los Riesgos
El Triángulo de la CIA y su Aplicación en el Mundo Real
Crear usuarios de AD en masa y enviar sus credenciales por correo electrónico usando PowerShell
Cómo agregar y eliminar grupos de AD y objetos en grupos con PowerShell
Atributos de Active Directory: Último inicio de sesión