Seguimos poniendo a prueba nuestros sistemas con la simulación de adversarios. Este artículo pertenece a una serie más completa con distintas aproximaciones y ejemplos, así como herramientas y soluciones completas. Puedes leer el artículo de Caldera, de Uber, Flight Simulator...
En el turno de hoy, vamos con una herramienta denominada Blue Team Training Toolkit, muy descriptivo el nombre.
El software tiene una estructura de menús muy parecida a metasploit, en la que podemos hacer show modules, show options, set valor y cosas así, muy intuitivos.
Tiene 3 funciones claras, simulación de peticiones de malware a C&C, retransmisión de capturas de red y uso de ficheros sospechosos por imitación de MD5. Vamos a ir instalando y usando la aplicación para ver las funciones en detalle.
Una vez solventado algún pequeño problema con el instalador y python tenemos acceso al framework.
Empezamos como es menester pidiendo ayuda a la aplicación, no al vecino. Un Help nos posiciona correctamente ante el problema.
Voy a optar por la opción de generar un nuevo token con apisignup para la API. El servicio es gratuito, pero tiene distintas opciones de subscripción para comercializar el producto. Voy a optar por registrarme para la versión community, que si bien no es la más completa, si es gratis.
Al más puro estilo Metasploit, voy navegando por los módulos para ver que me ofrece la herramienta. Show Modules está bien.
Para esta primera prueba vamos a usar Maligno, una estructura cliente servidor para emular las conexiones que hace el malware hacia un C2, reproduciendo metadatos conocidos para testear nuestra capacidad de detección, que es de lo que se trata...
Seteamos el servidor que hará de C2 con la ip indicada y hacemos un show profiles. Veremos la lista de perfiles de imitación que tenemos disponibles, con la salvedad de que algunos son de pago, 1$ creo recordar que cuestan, pero vamos a elegir uno gratuito, que es gratis xD.
Hacemos un download nuclear, luego un set profile nuclear y luego hacemos un genclient para generar el cliente que realizará las conexiones contra nuestro Command And Control.
Si nos vamos a la carpeta profiles podremos ver el código en python de la actividad que vamos a recrear relacionada en este caso con nuclear.
También es interesante ver el fichero que crea cliente.
Ahora es el turno de irnos a nuestra máquina "cliente" y ejecutar el python.
Hemos probado varias simulaciones y hemos puesto un snort en la máquina para ver la detección.
Depende del conjunto de reglas que tengas tendrás unas detecciones u otras, pero al final, el concepto es simular la comunicación con el C2.
Vamos a probar otra opción interesante de la herramienta, la posibilidad de gestionar la retransmisión de ficheros pcap, cambiando muy fácilmente las direcciones ip y mac.
Lo bueno de esta funcionalidad es que podemos usar cualquier pcap que nos apetezca, de los muchos que hay disponibles para su estudio.
Otra de las opciones que implementa esta herramienta es la de usar las colisiones matemáticas del algoritmo MD5 para generar hashes, o mejor dicho, ficheros con el mismo hash que muestra clasificadas como maliciosas, como pueda ser una shell inversa con netcat, mimikatz, etc.
Con este módulo solo podemos bajar el fichero , no tiene ninguna interacción más.
Me parece un framework muy potente y que funciona bien, si bien es un poco más complejo de extender que los demás de la serie, pero cualquier persona con conocimientos de python podrá simular las típicas cabeceras usadas en ataques web y recrear ataques de este tipo.
Espero que os haya gustado y próximamente seguimos con otro capítulo !!!
Gracias por leerme.
En especial, este capítulo se lo dedico a Sergio, para saber si me lee el mamón y me lo dice xD