El artículo de hoy es algo diferente, ya que nos vamos a hacer algo práctico, pero si vamos a ver algo relacionado con la práctica y con el Ethical Hacking. En la pasada BlackHat USA, dónde estuvimos con ATTPwn, conocí el proyecto de Jorge Orchilles y Bryson Bort llamado ‘the C2 Matrix’. Poco después coincidí en 8dot8 Las Vegas con Jorge Orchilles donde comentábamos nuestras charlas de BlackHat en español especial de la 8dot8.
El proyecto de C2 Matrix es interesante por proporcionar una matriz donde encontrar diferentes herramientas de pentesting y Red Team y que permite comparar, documentar y conocer frameworks de C2 que facilitan la emulación de los adversarios. Es decir, es un listado de herramientas clasificadas por características, funcionalidades, soporte, etcétera. Un proyecto que permite conocer más cosas de las herramientas más conocidas, pero también conocer otras menos conocidas y que tienen potencial.
Gracias al uso de un C2 (Command & Control), los pentesters y los “red teamers” pueden controlar y gestionar máquinas durante las diferentes fases de post-explotación. Si vamos a los términos más puristas, el MITRE ATT&CK define Command & Control como las técnicas que los adversarios utilizan para comunicar con sistemas que se encuentran bajo su control. ¿Cuáles son los objetivos de los adversarios, generalmente? Evitar la detección, entre otras cosas.
Una de las grandes sorpresas que me lleve en BlackHat es ver a nuestra querida iBombShell - de la que hablamos mucho en el libro de Hacking Avanzado en el Red Team con Empire (& iBombShell) -entre todas esas grandes herramientas que se pueden ver en la matriz. Fue una grata sorpresa, ya que no hemos podido dedicarle todo el ‘cariño’ que nos hubiera gustado a nuestra C2 Pentesting Tool. Vamos a ver qué pinta tiene la matriz.
Figura 1: C2 Matrix: Una matriz para comparar los paneles
de Command & Control donde está iBombShell
El proyecto de C2 Matrix es interesante por proporcionar una matriz donde encontrar diferentes herramientas de pentesting y Red Team y que permite comparar, documentar y conocer frameworks de C2 que facilitan la emulación de los adversarios. Es decir, es un listado de herramientas clasificadas por características, funcionalidades, soporte, etcétera. Un proyecto que permite conocer más cosas de las herramientas más conocidas, pero también conocer otras menos conocidas y que tienen potencial.
Figura 2: Empire: Hacking Avanzado en el Red Team de Pablo González y Sebastián Castro |
Gracias al uso de un C2 (Command & Control), los pentesters y los “red teamers” pueden controlar y gestionar máquinas durante las diferentes fases de post-explotación. Si vamos a los términos más puristas, el MITRE ATT&CK define Command & Control como las técnicas que los adversarios utilizan para comunicar con sistemas que se encuentran bajo su control. ¿Cuáles son los objetivos de los adversarios, generalmente? Evitar la detección, entre otras cosas.
Figura 3: iBombshell en GitHub
Una de las grandes sorpresas que me lleve en BlackHat es ver a nuestra querida iBombShell - de la que hablamos mucho en el libro de Hacking Avanzado en el Red Team con Empire (& iBombShell) -entre todas esas grandes herramientas que se pueden ver en la matriz. Fue una grata sorpresa, ya que no hemos podido dedicarle todo el ‘cariño’ que nos hubiera gustado a nuestra C2 Pentesting Tool. Vamos a ver qué pinta tiene la matriz.
Figura 4: Metasploit para Pentesters Gold Edition |
En la siguiente imagen, no están todas, pero ya podemos ver herramientas muy potentes como Empire, Metasploit, Cobalt Strike o Covenant. En esta primera pestaña de la matriz podemos ver información sobre la versión y sobre la implementación o instalación de dependencias y de la propia herramienta.
En el apartado de ‘Code + UI’ podemos ver diferentes opciones, como son el tipo de lenguaje para el servidor y el tipo de lenguaje para el agente de post-explotación. Además, información como si la herramienta es multiusuario, qué tipo de interacción por parte del usuario tiene y si dispone de API se puede encontrar.
En el apartado de "Channels" podemos encontrar los canales utilizados por las herramientas para comunicarse. Cuantos más canales se disponga puede ser mejor para pasar desapercibido, pudiendo utilizar unos y otros de forma indistinta, pero son posibilidades que ofrecen algunas herramientas.
En el apartado de Agents y de Support podemos encontrar si el agente es multiplataforma. En el caso de iBombShell podemos ver cómo es funcional en entornos Windows, GNU/Linux y macOS. La pestaña de soporte nos indica dónde podemos descargarnos las herramientas o comunicar con sus desarrolladores, dónde encontrar más información en alguna Wiki, etcétera.
En esta pestaña de ‘Capabilities’ podemos encontrar cosas bastante interesantes sobre los diferentes proyectos de C2 incluidos en C2 Matrix, como por ejemplo:
Figura 5: Lista de proyectos C2 en C2 Matrix
En el apartado de ‘Code + UI’ podemos ver diferentes opciones, como son el tipo de lenguaje para el servidor y el tipo de lenguaje para el agente de post-explotación. Además, información como si la herramienta es multiusuario, qué tipo de interacción por parte del usuario tiene y si dispone de API se puede encontrar.
Figura 6: lista Code+ UI en C2 Matrix
En el apartado de "Channels" podemos encontrar los canales utilizados por las herramientas para comunicarse. Cuantos más canales se disponga puede ser mejor para pasar desapercibido, pudiendo utilizar unos y otros de forma indistinta, pero son posibilidades que ofrecen algunas herramientas.
Figura 7: Lista por Channels en C2 Matrix
En el apartado de Agents y de Support podemos encontrar si el agente es multiplataforma. En el caso de iBombShell podemos ver cómo es funcional en entornos Windows, GNU/Linux y macOS. La pestaña de soporte nos indica dónde podemos descargarnos las herramientas o comunicar con sus desarrolladores, dónde encontrar más información en alguna Wiki, etcétera.
Figura 8: Sección Capabilites en C2 Matrix
En esta pestaña de ‘Capabilities’ podemos encontrar cosas bastante interesantes sobre los diferentes proyectos de C2 incluidos en C2 Matrix, como por ejemplo:
- Herramientas con intercambio de claves para cifrar contenidos. Siempre fue algo que en iBombshell pensamos meter, pero que de momento no hemos metido.
- Funcionalidades compatibles con el uso de un proxy. En el caso de iBombshell tenemos esta posibilidad.
- Perfiles personalizados, ‘working hours’ o ‘kill date’. Working hours y Kill Date son funcionalidades típicas de un agente de Empire, aunque el aporte en un pentest puede ser más limitado.
- Me llama la atención la clasificación con ATT&CK Mapping.
Como se puede ver la matriz proporciona un documento dónde comparar funcionalidades y proporcionar información al pentester. Yo hubiera incluido estabilidad o tiempo de desarrollo para proporcionar un elemento de ‘calidad’ de la herramienta, ya que muchas veces también se busca esa estabilidad en este tipo de herramientas.
Figura 9: Presentación de Jorge Orchilles en BlackHat USA 2020
Os dejo con el vídeo de la sesión de Jorge Orchilles en BlackHat USA 2020 donde nuestra pequeña y querida iBombshell jugó con las grandes.
Saludos,
Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root", “Pentesting con Powershell”, "Pentesting con Kali Silver Edition" y de "Empire: Hacking Avanzado en el Red Team", Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDCO de Telefónica. Para consultas puedes usar el Buzón Público para contactar con Pablo González - Conseguir 100 Tempos Gratis en MyPublicInbox
Contactar con Pablo González |
No hay comentarios:
Publicar un comentario