En un entorno donde el panorama de las amenazas cambia tan rápidamente, son cada vez más las empresas que toman consciencia de la necesidad de adelantarse a las nuevas tendencias de ciberataque. Es por este motivo que se ha popularizado el Threat Hunting.
Como hemos explicado en un post anterior, lo que realmente destaca del Threat Hunting es que, a diferencia de las soluciones tradicionales, implica una búsqueda activa de amenazas, en vez de centrarse únicamente en una investigación posterior al incidente. Este acercamiento se basa en aplicar algoritmos de inteligencia artificial y aprendizaje de máquina para reducir los tiempos de exposición frente a ataques, sin que sea necesaria la intervención humana, a menos que las amenazas sean demasiado sofisticadas o los sistemas no sean capaces de reaccionar ante ellas.
Este cambio en la manera de hacer las cosas en cuanto a la “caza de amenazas”, responde al panorama al que las empresas se enfrentan a día de hoy: la popularización de ataques sin malware o sin ficheros, el uso de herramientas legítimas para atacar, el cryptojacking o el hacking en vivo.
A continuación explicamos con más detalle cuál es el proceso de Threat Hunting, y presentamos un caso real en el que este servicio ofrecido por Panda Security protege a los equipos de las empresas.
Threat Hunting: el proceso
Para poder adelantarnos a las amenazas más avanzadas y descubrir de antemano comportamientos maliciosos por parte de ciberdelincuentes que usan técnicas cada vez más recurrentes, como el comentado flileless attack, se siguen estos pasos de investigación:
1- Creación de hipótesis. El primer paso a la hora de plantear una investigación es crear hipótesis. Estas hipótesis están enfocadas a encontrar evidencias de amenazas antes de que sean explotadas o incluso las que ya están siendo explotadas.
2- Validación de las hipótesis. Una vez definida la hipótesis, ha de verificarse que ésta es válida y buscar la existencia de amenazas que cumplan con esta hipótesis. En esta etapa es muy habitual descartar hipótesis o priorizar unas investigaciones sobre otras debido a su probabilidad o criticidad.
3- Encontrando evidencias. De los resultados obtenidos en la búsqueda anterior, hay que verificar si existe realmente una amenaza. Los falsos positivos y fallos de configuración se dejan a un lado y los esfuerzos se centran en las hipótesis validadas.
4- Descubrimiento de nuevos patrones. Se lleva a cabo una reconstrucción del ataque para encontrar nuevos patrones y tácticas empleadas para realizarlo.
5- Notificación y enriquecimiento. A partir del conocimiento generado durante el proceso de Threat Hunting, se enriquecen y mejoran los sistemas de detección automatizada. De esta manera, mejora la seguridad global de la organización a partir de lo descubierto durante la investigación.
Bondat, el análisis de un caso real
Ahora que hemos visto cómo es el proceso de Threat Hunting, vamos a analizar un ejemplo real de una amenaza descubierta y neutralizada por el equipo de expertos de Panda:
Bondat – el gusano invisible. El primer paso de la investigación es la fase de estudio. Tras haber localizado al gusano, un experto en Threat Hunting analiza esta familia y estudia sus características, descubriendo lo siguiente:
- Es un gusano (worm) escrito en JavaScript o VBScript.
- Se propaga a través de dispositivos extraíbles (pendrives, hard-drives, etc.) mediante la creación de LNKs.
- Se implanta en el arranque de sistema, evidentemente intentando ser más persistente y más difícil de borrar.
- El servidor C&C actualiza su código.
- Incorpora medidas Anti-debug, anti-máquina virtual y anti-emulación. Todas estas medidas son para evitar que el gusano sea analizado.
- Su código altamente ofuscado en sus últimas versiones, otra medida para evitar un análisis del gusano.
- Muy difícil de detector estáticamente mediante firmas.
- Se propaga muy rápidamente por la red.
- La desinfección es complicada una vez que se expande a través de la red.
El primer paso que hace el equipo de Threat Hunters es generar unas hipótesis basadas en posibles comunicaciones con C&Cs, en el tipo de ocultación y tipos de ejecuciones y en los tipos de eventos. A partir de aquí, las hipótesis se validan, y se descubre que el gusano descarga y ejecuta scripts en PowerShells, algo que nunca se había visto anteriormente en esta familia de gusanos. También se observa que descarga JavaScript y el intérprete PHP. Entonces realiza otra consulta a otra web para obtener un nuevo código PHP para ejecutar.
Con toda esta información, fue posible hacerse pasar por una máquina infectada y así recoger los últimos payloads que los atacantes estaban utilizando.
Se descubrió qué ataques había realizado este gusano, entre lo que había ataques de fuerza bruta a una lista de sitios web en WordPress para infectarlos con troyanos, la descarga de mineros para generar criptomonedas, y ataques DoS contra el NRA (National Rifle Association de EEUU).
Con esta información, fue posible generar nuevos indicadores de ataque (IOA), generar nuevos contenidos de detección, y notificar el incidente a los clientes afectados. A partir de aquí, fue posible tomar medidas para remediar cualquier problema proveniente del ataque, y evitar que vuelva a producirse.
El objetivo de Panda Security es que nuestras soluciones puedan clasificar automáticamente el 99,98% de las amenazas, dejando únicamente el 0,02% de ellas a los analistas. De esta forma se pueden centrar en ataques realmente peligrosos.