Hoy hablamos de dos noticias respecto a ATTPwn. La primera es que seguimos mejorando la herramienta e implementando técnicas para que puedan ser utilizadas en la emulación de adversarios. Desde hoy está disponible la nueva versión de ATTPwn con la nueva GUI de la que ya hablamos en el blog y nuevas técnicas de MITRE ATT&CK implementadas. Poco a poco iremos introduciendo más técnicas. Es un proyecto Open Source en el que puedes colaborar haciendo tu ‘pull request’.
Figura 1: ATTPwn en DefCON 2020 Red Team Village: Nueva Versión |
El repositorio oficial de ATTPwn en Github está actualizado cuando leas este artículo. Recomendamos que para que pruebes la herramienta hagas uso de Docker y puedas generar tu imagen rápidamente y levantar el contenedor de manera trivial. En este artículo sobre Docker y la nueva GUI ya hablamos del proceso.
Figura 2: Libro de Docker:SecDevOps de 0xWord escrito por Elias Grande, Fran Ramírez y Rafael Troncoso |
Ahora hablaremos un poco de algunas técnicas que se han ido incorporando a la herramienta. La gracia de todo esto es que cualquier usuario puede generar una función en Powershell que implemente una técnica de la matriz concreta. Puede haber una técnica con diferentes implementaciones, incluso de la misma función. Esto le da valor a la emulación de amenazas, ya que permite observar una amenaza que puede “mutar” o cambiar en función de la implementación de la técnica.
La idea detrás de las técnicas es el mapeo de controles asociados a dichas técnicas, por lo que una organización puede emular ciertos adversarios e ir verificando la eficacia de sus controles con diferentes técnicas. Es decir, podemos lanzar técnica a técnica en ATTPwn para verificar la eficiencia y eficacia de los controles de seguridad en los que estamos invirtiendo.
En el Apartado ATT&CK del panel web de ATTPwn podemos encontrar un botón denominado “Implemetations”. Aquí podemos ver el código de cada función que tenemos disponible en la versión de ATTPwn correspondiente.
La idea detrás de las técnicas es el mapeo de controles asociados a dichas técnicas, por lo que una organización puede emular ciertos adversarios e ir verificando la eficacia de sus controles con diferentes técnicas. Es decir, podemos lanzar técnica a técnica en ATTPwn para verificar la eficiencia y eficacia de los controles de seguridad en los que estamos invirtiendo.
En el Apartado ATT&CK del panel web de ATTPwn podemos encontrar un botón denominado “Implemetations”. Aquí podemos ver el código de cada función que tenemos disponible en la versión de ATTPwn correspondiente.
Tenemos un selector para las tácticas, otro para las técnicas y podemos visualizar el contenido de la función de Powershell. Tal y como ocurre en la vista donde puedes crear un plan de amenaza, puedes ir seleccionando diferentes técnicas y ver cómo se han implementado.
Proyecto colaborativo. Inteligencia de amenazas colaborativa
Cuando hablamos de ATTPwn nos gusta decir que es un proyecto en el que se invita a genera conocimiento en la implementación de técnicas y de poder compartir dicho conocimiento con la comunidad.
¿Cómo se puede hacer esto a través de ATTPwn? Como he comentado anteriormente, nosotros podemos hacer la implementación de una técnica cualquiera de MITRE ATT&CK. Esta técnica que hemos implementado puede interesar a otros miembros de la comunidad que andan trabajando con la emulación de adversarios para comprobar el nivel de los controles de seguridad.
Proyecto colaborativo. Inteligencia de amenazas colaborativa
Cuando hablamos de ATTPwn nos gusta decir que es un proyecto en el que se invita a genera conocimiento en la implementación de técnicas y de poder compartir dicho conocimiento con la comunidad.
Figura 5: ATTPwn en GitHub |
¿Cómo se puede hacer esto a través de ATTPwn? Como he comentado anteriormente, nosotros podemos hacer la implementación de una técnica cualquiera de MITRE ATT&CK. Esta técnica que hemos implementado puede interesar a otros miembros de la comunidad que andan trabajando con la emulación de adversarios para comprobar el nivel de los controles de seguridad.
Figura 6: Matriz de técnicas y operaciones en MITRE ATT&CK |
ATTPwn permite la exportación de planes de amenaza, así como la posterior importación de dicho conocimiento. Es decir, nosotros podemos crear planes de amenaza con técnicas que hemos desarrollado y compartirlo con el resto, sin necesidad de pasar por el repositorio oficial.
Creando Planes de Amenazas
El formato elegido para este intercambio de conocimiento entre miembros de la comunidad es JSON. Pongamos el siguiente ejemplo:
1. Creo un plan de amenaza con una técnica. Esta técnica la he implementado para la verificación de uno o más controles. Es una técnica utilizada en MITRE ATT&CK, pero el código es totalmente nuestro.
2. Simplemente, por este hecho, puede que tus controles no detecten la implementación y el fondo de la técnica. Aquí se genera inteligencia en las técnicas de la amenaza.
3. Esta inteligencia se puede compartir con el resto de usuarios o con quién quieras.
4. Exportamos el plan de amenaza creado en un JSON. Se puede visualizar el contenido del JSON y la función en sí, la cual implementa la técnica TXXXX de MITRE ATT&CK.
5. Cuando obtenemos el fichero JSON tenemos los siguientes datos:
1. Creo un plan de amenaza con una técnica. Esta técnica la he implementado para la verificación de uno o más controles. Es una técnica utilizada en MITRE ATT&CK, pero el código es totalmente nuestro.
Figura 7: Creación de un Plan de Amenaza con una técnica |
2. Simplemente, por este hecho, puede que tus controles no detecten la implementación y el fondo de la técnica. Aquí se genera inteligencia en las técnicas de la amenaza.
3. Esta inteligencia se puede compartir con el resto de usuarios o con quién quieras.
4. Exportamos el plan de amenaza creado en un JSON. Se puede visualizar el contenido del JSON y la función en sí, la cual implementa la técnica TXXXX de MITRE ATT&CK.
Figura 8: Exportación del Plan de Amenaza |
5. Cuando obtenemos el fichero JSON tenemos los siguientes datos:
a. Nombre del plan.
b. Datos sobre la amenaza: el nombre, la fecha, la descripción, etcétera.
c. Identificadores internos de ATTPwn.
d. Datos de la implementación de la técnica. Es aquí dónde podemos ver el código de la implementación de la técnica y la importaríamos en otro ATTPwn para disponer de dicho conocimiento.
e. Datos de la técnica: TXXXX.
f. Datos de la táctica: TAXXXX.
Ahora si queremos importarlo, vamos la pestaña “Upload” de otro ATTPwn y pulsamos en “Select File” seleccionando el fichero JSON y, posteriormente, le damos a “Import”.
Figura 9: Importación de Plan de Amenaza |
Ahora tenemos la amenaza generada por otro usuario, con su conocimiento en la herramienta dispuesta a ayudar en al emulación del adversario.
DefCON Red Team Village 2020 ... y en BlackHat USA 2020 Arsenal
Hace unas semanas teníamos el honor de comunicar que estábamos en BlackHat USA 2020 presentando esta herramienta en el Arsenal. Hoy tenemos que decir que estaremos en el Red Team Village de DefCON 2020 en un briefing sobre ATTPwn.
El próximo 7 de agosto de 2020 estaremos dando una charla denominada: “ATTPwn: Adversarial Emulation and Offensive Techniques Collaborative Project”. Tenéis toda la info de la agenda en el enlace de DefCON.
Es una “pasada” ver cómo este año eventos como BlackHat y DefCON se fijan en nuestro ATTPwn, el cual seguirá creciendo con la incorporación de nuevas técnicas y amenazas. Recordad que cualquiera que quiera colaborar puede hacerlo a través de Github.
Autor: 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” 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
Figura 10: Contactar con Pablo González |
No hay comentarios:
Publicar un comentario