martes, noviembre 10, 2020

ATTPwn: Nuevas funciones, gestión de usuarios y fortificación con Latch

Apenas a dos meses de finalizar el año, continuamos sacando pequeños ratos para ir mejorando y actualizando ATTPwn. También seguimos hablando de la herramienta en eventos y conferencias como BitUp. Y siempre hacemos hueco para leer los comentarios y posibles mejoras que podamos llevar a cabo en esta plataforma que estamos construyendo juntos entre todos. En el artículo de hoy os venimos a contar algunas de las nuevas características que hemos implementado en nuestro querido ATTPwn para la emulación de adversarios

Figura 1: ATTPwn: Nuevas funciones, gestión de usuarios y fortificación con Latch

Han pasado solo un par de semanas desde que subimos la anterior actualización de ATTPwn al repositorio de GitHub y de que os hablamos de ello en el anterior artículo dedicado a la versión de ATTPwn 0.21. Una de las características que hemos implementado es un sistema de login, ya que cómo nos mencionaban en la siguiente “issue” nos recomendaban un sistema de login ya que al estar en “0.0.0.0” estuviese disponible para cualquier persona en la red.


En esta versión de ATTPwn ,ya no visualizamos la vista principal donde se mostraban los warrior que pudieran estar activos, en vez de esta vista, nos llevará al nuevo formulario para hacer login, como podéis ver en la imagen siguiente. 

Figura 3: ATTPwn Login

Por defecto tiene creado el usuario “root” con la contraseña “toor”. Una vez hecho el login podemos trabajar como se ha ido haciendo hasta ahora. En la parte superior derecha, tendremos la sección para cerrar la sesión actual o bien la visa “users” donde tendremos la posibilidad de dar de alta o baja usuarios.

Figura 4: Gestión de usuarios en ATTPwn y Latch

También desde este apartado con el usuario “root” u otro con el rol de administrador, podremos configurar Latch para tener control sobre el login, así como desvincular Latch de otros usuarios. En cambio si el rol no es de administrador tendremos la siguiente vista para poder vincular Latch con nuestro usuario. 

Figura 5: Latch Pairing en ATTPwn

En la parte de funciones hemos añadido dos funciones nuevas, por un lado hemos añadido la función “invoke-registryrun”, que es una Técnica que pertenece a la Táctica de Persistencia, ya que se añade al apartado "run" del Registry. Tenéis mas información sobre este tipo de persistencia en la matriz de MITRE ATT&CK.

Figura 6: Función invoke-registryrun

Vemos que está Técnica la hemos configurado marcando la casilla de que la función hará que se bifurque el warrior, ya que la idea es que una vez se reinicie la máquina, esta se conecte de nuevo. La propia función viene para reiniciar la máquina donde se ejecute y a su vez comunicarse con el Command and Control. De esta manera “automatizamos” ese control que de otra manera tendríamos que esperar a que dicha máquina se reiniciara para continuar con el plan del warrior

Figura 7: Función invoke-registryrun con forzado de reinicio

La segunda función “invoke-registryrunClean” está relacionada con la anterior, dado que se deberían ejecutar en el mismo plan para no dejar “restos” de la ejecución del Plan ya que por cada reinicio de la máquina se ejecutaría una sesión Powershell asociada al warrior que creó la clave en el registro.

Figura 8: Nueva función implementada

Una vez que hemos visto un poco en qué consisten las dos funciones, lo mejore es ver cómo se podrían utilizar, así que para poner en contexto su utilidad vamos a ejecutar el siguiente plan que podéis ver en la imagen siguiente.

Figura 9: Plan para ejecución

Como podéis ver, en este plan, no vamos a utilizar ninguna tarea para hacer bypass de AMSI ya que esto lo conseguiríamos lanzando el siguiente comando tal y como hemos visto en otros artículos antes.

Figura 10: Cómo conseguir Bypass de AMSI

Como se observa en el Plan hay dos tareas de capturar la pantalla “invoke-screenshot”. Esta tarea nos puede ser útil para comprobar el estado de la máquina donde se está lanzando el Plan sin necesidad de estar delante de ella. El resultado de esta tarea en el apartado de “results” es un fichero codificado en base64 que podemos decodificar con cualquier herramienta online. Os dejamos todo el proceso del Plan en el siguiente vídeo.

Figura 11: Demo de ATTPwn con invoke-registryrun Plan

Continuamos trabajando en la herramienta para ofrecer una mejor experiencia al usuario, dotando de inteligencia con nuevas técnicas para mejorar esta plataforma.

Autores:

Víctor Rodríguez Boyero, desarrollador y Security Researcher en el equipo de Ideas Locas de CDCO de Telefónica Luis E. Álvarezdesarrollador y miembro del equipo Ideas Locas CDCO de Telefónica.

Contactar con Luis Eduardo Álvarez en MyPublicInbox

No hay comentarios:

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares