[Nota: Este artículo ha sido elaborado por Arturo Navarro y Salvador Sánchiz Aranda]
Tal y como nos contaba nuestra compañera Maite Moreno en este mismo blog, Shamoon fue como se denominó a una campaña atribuida supuestamente a Irán en 2012 y centrada principalmente en la destrucción de información, principalmente en petroleras de Arabia Saudí. Como también se indica en el mismo artículo, la rivalidad entre Arabia Saudí e Irán es histórica, con lo que este tipo de campañas podrían ser habituales entre ambos estados.
Shamoon ha estado evolucionando desde aquel 2012 y en este artículo os queremos hacer un análisis sobre las tres versiones que se han ido detectando de dicha amenaza.
LAILAT AL-QADR AGOSTO 2012 – SHAMOON V1
El Laylat al-Qadr (la Noche del Destino o del Poder) es una de las noches más sagradas para el Islam durante el mes de Ramadán. Se trata de la celebración de la revelación del Corán a Mahoma. En 2012, durante esa noche, se aprovechó tal festividad para lanzar un ciberataque (Shamoon) contra el sector energético en Oriente Medio (algo así como aprovechar la Nochebuena en occidente para poner en jaque a las empresas). Concretamente, el ataque fue dirigido contra la empresa estatal de Arabia Saudí de petroleo y gas llamada Saudi Aramco (valorada actualmente en 1.7 billones de euros y que produce más del 10% del petroleo mundial) y en menor medida la empresa de Qatar de gas natural RasGas, como protesta del apoyo del régimen Al-Saul para la represión del gobierno en países vecinos. Aproximadamente tres cuartas partes del total de los equipos de Saudi Aramco fueron comprometidos por un malware de tipo wiper que destruyó todos los datos de los sistemas afectados.
El principal sospechoso de llevar a cabo el ciberataque es el grupo de hackers llamado Cutting Sword of Justice. Los ataques fueron supuestamente auto-atribuidos a este grupo de hackers a través de un comunicado colgado de forma anónima en la web PasteBin y firmado por el susodicho grupo, donde se puede leer una justificación por las afrentas producidas por el régimen de Al-Saud (la Casa Real).
Cuando la pieza de malware asociada a Shamoon fue descubierta, apuntaba a la cadena de texto
“C:\Shamoon\ArabianGulf\wiper\release\wiper.pdb”
y es por ello que Symantec, Kaspersky Lab y Seculert decidieron ponerle ese nombre a la amenaza.
Destripando los componentes (dropper, wiper y módulo de reporte) que forman Shamoon v1 podemos dividir su funcionamiento en las siguientes fases:
FASE 1: VÍA DE ENTRADA
Lo primero que llama la atención es el uso de una memoria USB (existen contradicciones entre fuentes en las que algunas apuntan a que el vector de entrada fue un ataque de spear-phishing al PC de un empleado del equipo de IT), por parte de un insider, conectada en un puerto como vector de infección por donde se introduce el payload en el entorno del sistema, que básicamente es el dropper, responsable de crear todos los ficheros necesarios en el OS y registrar un servicio (%System%\trksvr.exe) de persistencia con el nombre “TrkSvr”.
FASE 2: PROPAGACIÓN
Aparece un comportamiento de gusano, en el que el dropper intenta, en una primera instancia, replicarse en espacios de datos compartidos tomando el control del controlador de dominios para propagarse mucho más rápido y fácil. En segundo lugar, intenta ejecutarse de forma remota para infectar al resto de hosts de la misma red.
FASE 3: DESTRUCCIÓN DE LA INFORMACIÓN
El wiper borra todos los ficheros del sistema siguiendo un orden específico y con una estructura concreta preconfigurada, es decir, busca tipos de carpetas (configuración, documentos, usuarios). En paralelo, sube los datos borrados a un servidor controlado por el atacante y borra los logs de eventos que está generando para no dejar ningún rastro de sí mismo. Un perito forense tendría graves problemas para generar una traza de ejecución del malware. Una vez borrados, genera los archivos que existían y los sobrescribe con contenido binario que coincide con la representación de una bandera estadounidense en llamas con formato JPEG, lo que se puede interpretar como una señal de que el ataque fue realizado por un bando motivado por intereses políticos más que económicos.
Una vez el wiper ha finalizado el borrado inicial prosigue con el MBR (Master Boot Record) y las operaciones realizadas por el core file system. El MBR es el primer sector escrito en el disco duro que define cómo se particiona la memoria y cómo cargar el OS durante el arranque. Con el MBR corrupto, comprometido o borrado el OS se vuelve prácticamente inoperable. En el proceso de modificar, cambiar o eliminar el MBR, Shamoon realmente aprovecha una pieza de software comercial llamado RawDisk, creada por la empresa estadounidense EldoS, que permite acceder al disco duro desde el modo de usuario y sin necesidad de emplear las APIs de Windows y se puede usar para eliminar un MBR.
FASE 4: COMUNICACIÓN CON C2
El módulo de reporte informa de los resultados de las operaciones anteriores a un servidor C2 central ubicado en algún lugar para fines de mantenimiento de registros. Además, dispone de capacidades para descargar archivos binarios adicionales del C2 y cambiar el tiempo preconfigurado de borrado del disco, si así se lo indican. Uno de los puntos a destacar en el caso particular de Shamoon, el C2 está alojado internamente. Este hecho ocurre con muy poca frecuencia, lo cual da más credibilidad y peso al argumento de que la amenaza podría haber sido introducida por insiders en la organización. Un servidor interno es fácilmente accesible desde dentro, pero es posible que desde fuera no sea tan sencillo.
NOVIEMBRE 2016 – ENERO 2017. SHAMOON V2
Shamoon v2 aparece en 17 Noviembre 2016 con más impactos el 19 de noviembre de 2016 y el 23 de enero de 2017. Casi no ha cambiado respecto a v1, pero sí presenta algunos cambios como la mejora de las técnicas anti-sandbox o uso del navegador como vector de entrada para inyectar el wiper directamente en memoria sin usar drivers, según datos de Kaspersky Lab.
Sus objetivos principales siguen siendo el borrado de datos críticos incluyendo el MBR y la destrucción masiva de operaciones. En este caso, las víctimas de este nuevo ataque fueron los sistemas informáticos de la Autoridad General de Aviación Civil (GACA) de Arabia Saudí y otras 5 agencias gubernamentales en el Golfo Pérsico. Se estiman más de 1000 hosts infectados en GACA y no se han encontrado datos concluyentes sobre el resto de organizaciones.
SHAMOON V1 VS V2
Como se ha mencionado, una característica nueva que incorpora esta segunda versión del malware es un módulo de detección de sandboxes con técnicas avanzadas de escape que le agregan la posibilidad de bypassearlas utilizando una bomba lógica en su código.
En esta versión el dropper, una vez alcanza el OS de la víctima, comprueba en una variable de entorno la arquitectura del procesador para instalar la variante de 32-bit (ntssrvr32.exe) o 64-bit (ntssrv64.exe) que levante uno u otro servicio de persistencia, lo cual no estaba presente en v1. El servicio de persistencia (%System%\ntssrvr32.exe o %System%\ntssrvr64.exe) pasa a llamarse “NtsSrv”. Además, también mejora el dropper, que aprende a auto-mutar para evadir los sistemas de seguridad de detección basados en firmas.
El wiper también sufre modificaciones para funcionar en modo borrador o cifrador, es decir, se añade un nuevo módulo de ransomware totalmente funcional que no se ha empleado en este ataque (inactivo) pero no deja de dilucidar ideas para próximas variantes. Se puede apreciar la existencia de un generador pseudoaleatorio de claves RC4 (Rivest Cipher 4) que se cifra adicionalmente con una clave pública RSA (Rivest, Shamir y Adleman) preparada para secuestrar los datos y probablemente pedir un rescate por su recuperación.
Otro detalle añadido al wiper es una función de ajuste de hora del reloj de los sistemas infectados, que la cambia de forma aleatoria a fecha de entre el 1-20 de agosto de 2012 (Shamoon v1), con el fin de poder validar la licencia y el periodo de evaluación de la herramienta de software comercial RawDisk.
También se remplaza la imagen de la bandera estadounidense en llamas por una foto del cuerpo de Alan Kurdi, un refugiado sirio de 3 años muerto ahogado en una playa de Turquía al tratar de cruzar hasta Grecia el 2 de septiembre de 2015.
En el siguiente artículo continuaremos con la evolución de Shamoon y otros aspectos relacionados de interés.