Estimados amigos de Inseguros !!!
En el post de hoy os lanzo un pequeño recordatorio y consejo para los que estáis en el mundo ciber sobre la simulación de adversarios.
Hemos hablado aquí ya hace tiempo, y en algún post más que no tengo controlado ahora mismo. Se trata de realizar las mismas técnicas que emplean los malos, como cuando hacemos un redteaming, pero con el objetivo de comprobar la capacidad de respuesta de una organización.
Voy a explicarlo de otra manera. Tu tienes un objetivo, una IP Pública, y en un red team lo normal es que uses 10, 15, 30, 50 procesos/técnicas/herramientas para inentar conseguir, pues desde información,acceso, comprometer el equipo, cualquiera de las fases por ejemplo de MITRE...
Si de las 50 técnicas, solo 1 te funciona, sigues por ese camino. Tu objetivo es comprometer la máquina... por lo general.
En un purple team o simulación de adversarios, me preocupa qué técnica has usado para "joderme" con el fin de "parchear" o securizar la vulnerabilidad. Pero también me interesan las 49 técnicas que no hansido efectivas, porque lo que estamos midiendo es nuestra capacidad de detección.
Sigo con este concepto para explicarme mejor. Imagina que tienes una vulnerabilidad conocida en Exchange CVE 2022-41040 que permite código remóto en tu servidor de correo. Imagina que un atacante, en un ejercicio de Purple Team o simulación de adversarios, detecta que tienes un Exchange, y te tira 5 exploits para 5 CVE, para 5 fallos. Puede que no seas vulnerable a 4 de ellos, pero al 2022-41040 si. Pero se trata de saber que te han tirado 5 exploits, para que mejores tus capacidades de detección, por ejemplo en un firewall con IDS, o es un host IDS en el servidor, o un antimalware en el servidor... o lo que sea.
Porque en el purple team, para mi punto de vista, no es tanto medir tu ciberseguridad de hoy, es decir, si eres vulnerable a esos 5 exploits que te he tirado, sino que tu resiliencia, tu capacidad defensiva crezca, no para estos 5, sino para todos los que vengan en el futuro.
Digamos que un redteam o un pentesting tiene una vigencia de HOY, porque te diríamos que parcheases ese Exchange que tienes con RCE, pero un purple team te diría qué hacer para detectar ese, y otros exploits de la misma índole...
No se si me he explicado? xD
Siguiendo estos planteamientos, seguimos alineados con MITRE, y queremos conocer las técnicas que emplean los malos, no tanto las herramientas. En el pasado nos preocupábamos de la firma para un antvirus, o una firma de red para detectar una herrramienta. Hoy en día la herramienta es mucho menos importante, porque me da "igual" que estés usando un powershell, un modulo de Empire o un c2 hecho a mano... Al final yo quiero detectar comportamientos inusuales.
Siempre pongo el ejemplo de arp -a. Me da igual la herramienta que lo lance, al final, es un técnica que usan los malos para descubrimientos de objetivos en la red. Si consigo detectar un ataque que emplea esta técnica, y más técnicas, podré adivinar la herramienta, e ir escalando en la pirámide de valor para llegar a saber quien me está atacando... nos suena todo esto?
Biennnn seguimos. Por eso en el titulo escribía el debe y el haber. Como en la contabilidad de las empresas, tengo que tener siempre equilibrada la cuenta. Si tengo 100 euros en el haber, luego tengo que tener equis movimientos de debe, si me los he gastado...
Con el Purple Team igual. Si te he lanzado 17 técnicas, tengo que detectarlas, independientemente de que hayan sido fructíferas o no.
Para la simulación de adversarios yo uso CALDERA, un framework del MITRE muy simpático. Instalas un agente en el equipo que quieres probar, para hacer de C2, y empiezas a lanzar golosinas, y en el lado del defensor esperas la alerta en el siem, o el contraro de rescinsión del SOC gestionado :-)
Caldera viene de casa con unos 140 ataques, técnicas, lo que llama abilities. Si habilitamos el plugin de ATOMIC, nos importa 1400 técnicas que provienen del proyecto RED CANARY
Por ejemplo, vamos a ver una técnica que simula ser un Bypass de Amsi
Como siempre, me gusta dejar el "poso" de los que hacemos los buenos. Aparte de detectar, podemos usar las características de Powershell 5 para bloquear contenido. Aunque me temo que también hay varios bypass a este medida :-)