martes, 31 de agosto de 2021

Simulación de adversarios: Infection Monkey

 Estimados amigos de Inseguros !!!


Hace unos años que comencé a hablar de esta herramienta de simulación de adversarios que me sorprende mucho, ya que tiene un potencial brutal, pero poca gente usa.


El concepto es muy sencillo, suelta al mono por tu red, y a ver donde llega :-)

Infection Monkey se compone de una parte servidor de control y un agente, que haciendo uso de distintas métodos, intenta "hackear" tu red de manera controlada hasta donde pueda...

El principio comienza con unos cuantos doble clicks para tener la herramienta instalada en nuestros Windows.


Entramos al navegador y introducimos el usuario y clave por defecto, que si lees esta página, y no lo adivinas, no mereces seguir :-) https://localhost:5000/landing-page



Ahora es el turno de configurar nuestra simulación. Podemos elegir a usar la ejecución de un exploit que se aproveche de una vulnerabilidad, o simular un escenario de infección en la que el atacante conoce las contraseñas de un usuario. En este caso queremos medir la capacidad que tendría un ransomware de expandirse por la red. Para este caso, le proporcionó un usuario y contraseña válido en la red.

Pero bueno, esto es porque queremos hacer este tipo de test, podemos intentar NO pasarle ninguna contraseña, para que usando el propio Mimikatz que alberga, intente sacar claves o hashes. Como digom, el propósito de esta prueba es simular que partimos de un leak de contraseñas.


También podemos indicar el ámbito de redes a los que queremos llegar, excluir y todo lo relativo al "scope".  Por último, indicamos a la herramienta sobre qué carpeta queremos hacer la prueba de infección, de cifrado, en mi caso le doy un path y guardo el setting.

Tenemos la opción de ejecutar la llamada al cliente desde el equipo que queremos comprobar, indicando la dirección del server.


Vamos al asunto. Ejecutamos al mono :-) y le decimos que no use exploits, solo SMB, que es el que realiza las conexiones mediante las credenciales.

En unos minutos, tenemos el resultado. Es importante saber que en este caso, no solo cifra, sino que pueda indicar el nivel de recursividad, es decir, se crea una copia del agente en el equipo infectado para que este infecte a otro equipo al que lo mismo no teníamos visibilidad originariamente. Es decir, que en este caso, el proceso de cifrado no ha sido ejecutado desde el servidor, sino desde el propio server.

Podría tener ejecutando el ransomware.exe en el equipo a, y cifrar el equipo b por una carpeta compartida... o ejecutar el ransomware.exe en el equipo b y seguir la cadena. Este último ha sido el caso.



Una de la cosas que me gusta es que te sumariza por ejemplo, todos los eventos que tu SOC debería haber detectado, es decir, empieza a decirte, te he hecho un portscan, he entrado en tal web, etc. Además, lo hace referenciando dos modelos, uno del tipo Zero Trust que separa el tipo de información, y otro con el famoso Mitre.



Una vez tenemos el informe de mapeo con Mitre, lo tenemos muy sencillo para empezar a preparar un plan en el que podamos implementar todas las medidas de seguridad relativas a todos los fallos explotados, para intentar proteger en distintas capas al tedioso ransomware.

Espero que os haya gustado la aproximación, y quizás otro día sigamos con más "monadas" como estas :-). Las funcionalidades de la simulación "custom" son súper interesantes, ya que podemos incluir cualquier fichero y ejecución post infección, además de las que nos proporciona la propia tool...otro día que me lío :-)

Si estás interesado en servicios de formación donde puedas ampliar tu conocimiento tanto ofensivo como defensivo, puedes consultar el Master de Ciberseguridad en Entornos Microsoft que hemos preparado en Verne para este 2021-2022.

Gracias por leerme !!!