APTualizador (II): deconstruyendo el rootkit Necurs y herramientas para detectarlo y eliminarlo
Este informe ha sido realizado por Roberto Santos y Javier Rascón del equipo de investigadores del CSIRT-SCC (Security Cyberoperations Center) con la colaboración de ElevenPaths.
A finales de junio de 2019, una importante empresa española sufrió un ataque que afectó a miles de sus equipos. Fue tal la magnitud del ataque que nos motivó a comenzar esta investigación, de la que ya escribimos el artículo APTualizador (I) en julio de 2019. En aquel momento nos llamó la atención que en un primer análisis rápido observamos que la muestra descargaba la actualización de seguridad legítima de Windows KB3033929, aunque lo hacía desde un servidor no oficial. En otras palabras: instalaba el archivo legítimo (firmado por Microsoft) desde un servidor no oficial. En este segundo informe nos centraremos en los aspectos técnicos del rootkit encontrado.
Como resultado de la investigación identificamos este rootkit como una evolución de Necurs. Esta botnet aparecida en 2012 es una de las más persistentes y grandes del mundo y se estima que está formada por 6 millones de equipos zombi, ordenadores de víctimas repartidos por todo el mundo y que controlan los atacantes de manera remota.
En este informe se estudiará a fondo y desde una perspectiva técnica cómo el malware logra ocultarse en el equipo, analizando las herramientas utilizadas y el código que controla este comportamiento. Por otro lado, también se analiza el protocolo de comunicación utilizado, que ha sido modificado desde las primeras versiones y en el que se dejan de utilizar comandos IOCTL. En vez de esto, ahora se basa en lecturas/escrituras sobre el registro de Windows, convirtiendo el registro en un covert channel local.
Nuestra investigación finaliza con la publicación de dos herramientas, NeCure y NeCsists, que permiten detectar la presencia del malware y desinfectar la máquina. Estas herramientas han sido desarrolladas tras encontrar la manera de abusar de las técnicas utilizadas por los propios atacantes, gracias al estudio y el análisis mediante técnicas de ingeniería inversa.
En este informe hemos contribuido a actualizar el estado del arte sobre la evolución de uno de los rootkits más sofisticados hasta la fecha.
Conclusiones y hallazgos
- Se ha extraído una lista actualizada de todos los comandos funcionales que el rootkit puede recibir. Hasta ahora sólo se conocía un número muy reducido de ellos y, si existían listas completas, no estaban actualizadas.
- Hemos podido desarrollar herramientas que permiten su detección y desinfección. Además, ponemos a disposición pública tanto el presente análisis como su código fuente.
- Demostramos como Necurs ha evolucionado a un modelo de negocio del tipo Malware as a Service que sirve como punto de entrada de otro malware y ofrece este servicio a otros actores. Solo así se explica la existencia de las claves que establecían una fecha límite y un número de ejecuciones máximas del malware.
- Gracias a la comparación entre las blacklists (lista de procesos contra los que se protege el rootkit) de versiones anteriores y las modernas, se extrae un trabajo activo de investigación por parte de los atacantes sobre el estado del arte de las soluciones antimalware.