Ransomware Ekans: características y funcionamiento
De manera similar a lo que se expuso en las anteriores entradas de blog sobre los ransomware Sodinokibi (parte 1 y parte 2) y NetWalker, este tipo de ciberamenazas se ha posicionado en el primer lugar en cuanto a relevancia para usuarios individuales y organizaciones, con especial énfasis en la sustanciosa ganancia económica que se obtiene con esta práctica, una vez que la víctima accede a pagar el rescate, así como por el daño reputacional que puede acarrear.
Características
El ransomware Ekans, conocido inicialmente como Snake (no confundir con otro malware diferente que también utilizaba este seudónimo: APT Turla: malware de espionaje, Ataque APT contra el contratista de defensa suizo RUAG, El grupo Turla ataca de nuevo e Informe de actividad del grupo Turla elaborado por la NSA y el NCSC), es una variante descubierta en diciembre de 2019 que está especializada en el ataque a entornos industriales y otros ambientes en los que estén desplegados Sistemas de Control Industrial (SCI), provocando la paralización de las plantas productivas de dichos entornos industriales que son infectados, u otros entornos que tengan desplegados para su funcionamiento dispositivos pertenecientes a este ámbito industrial.
Por su diseño y características de funcionamiento, distintos analistas consideran que es una evolución mejorada de otro ransomware bien conocido, también diseñado para atacar entornos de SCI, denominado Megacortex.
Ekans, del que ya hemos reportado información desde INCIBE-CERT en forma de aviso de SCI y de bitácora de ciberseguridad, ha sido desarrollado mediante el lenguaje de programación GoLang, que no es comúnmente utilizado para el desarrollo de código dañino, pero últimamente está siendo más usado por los atacantes, especialmente en el modelo RaaS (Ransomware as a Service), aunque este no es el caso de Ekans.
Este ransomware, a diferencia de otras variantes, dispone de manera local de todos los recursos necesarios para llevar a cabo el secuestro de datos, por lo que no necesita conectar con el exterior para obtener configuraciones, claves u otros datos para su funcionamiento.
Funcionamiento
- Figura 1. Esquema de funcionamiento de Ekans. -
Vectores de propagación
En los análisis publicados sobre distintas muestras de este malware que se han podido adquirir, de los ciberataques confirmados, se observa un patrón de propagación y funcionamiento muy similar, con variaciones personalizadas en caso de tratarse de ataques dirigidos contra un objetivo concreto.
Muchos analistas apuntan a que la mayoría de las infecciones se producen como consecuencia de una configuración de RDP (Remote Desktop Protocol) insegura, pero también es viable que los atacantes puedan utilizar como vector de propagación la infección de paquetes de actualizaciones legítimas y otro tipo de software utilizado en el entorno industrial, que les permita el acceso interactivo a los equipos infectados. Tampoco se descarta que pueda utilizar otros medios de propagación habituales en la distribución de malware, como puede ser el spam con adjuntos maliciosos.
A diferencia de otros ransomware dirigidos a equipos informáticos del ámbito TI, que tratan de propagarse a la mayor velocidad posible e infectar el mayor número de equipos, Ekans no dispone en su diseño de rutinas de replicación y para su difusión en las infraestructuras atacadas recurre a la ejecución de scripts que se lanzan al obtener acceso al equipo, en modo interactivo, u otras técnicas, como la programación horaria de tareas. Los ciberatacantes esperan comprometer las infraestructuras aprovechando las funcionalidades de administración que proporciona el dominio Windows, a través del AD (Active Directory) y otros mecanismos de gestión propios de los sistemas operativos de Microsoft, para alcanzar el mayor número posible de equipos simultáneamente.
Funcionamiento general
Después de que el archivo binario haya infectado el equipo, el primer paso consiste en comprobar si existe el valor mutex (identificador empleado por el código dañino para comprobar si un sistema ya ha sido infectado) “GlobalEKANS” en el equipo. Si el mutex ya existe en el sistema, el código dañino finalizará su ejecución y el programa terminará con el mensaje a la víctima de que su equipo ya ha sido cifrado. Teniendo esto en cuenta, la creación de un mutex en el sistema podría utilizarse para bloquear la infección de este código malicioso.
En caso contrario, si el equipo no ha sido aún atacado, captura el mutex de ese nombre y continúa su ejecución, para el descifrado de todas las cadenas de texto utilizadas durante la ejecución del código dañino, pero cada cadena utiliza una clave XOR diferente.
El código del ransomware contiene una amplia lista negra con nombres de procesos y servicios relacionados con sistemas SCADA, SCI, máquinas virtuales, sistemas de administración remota, aplicaciones de administración de red, etc., de forma que si encuentra alguno en ejecución, procederá a detenerlo mediante TerminateProcess().
El siguiente paso consiste en desactivar el servicio de instantáneas de Microsoft Windows, denominado VSS (Volume Shadow Copy), y eliminar las copias para restauración con el objetivo de impedir que se puedan recuperar los ficheros cifrados desde la copia de seguridad generada por el servicio.
Una vez finalizado este paso, el payload de este malware intenta detener todos los procesos y servicios relacionados con SCI, como se comentó anteriormente, por lo que los archivos asociados que son objetivo de cifrado dejan de estar bloqueados y su secuestro se puede realizar sin fallos.
Los archivos que deben cifrarse se localizan por su extensión, pero los ficheros de sistema operativo quedan excluidos del cifrado para no inutilizar completamente el equipo. Una lista bastante representativa de directorios, extensiones y ficheros que no se deben cifrar en el proceso aparece a continuación:
- Directorios excluidos:
- %SystemDrive%
- :$Recycle.Bin
- :ProgramData
- :UsersAll Users
- :Program Files
- :Local Settings
- :Boot
- :System Volume Information
- :Recovery
- AppData
- Temp
- %Windir%
- %SystemDrive%
- Extensiones excluidas:
- .docx
- .dll
- .exe
- .sys
- .mui
- .tmp
- .lnk
- .config
- .manifest
- .tlb
- .olb
- .blf
- .ico
- .regtrans-ms
- .devicemetadata-ms
- .settingcontent-ms
- .bat
- .cmd
- .ps1
- Ficheros excluidos:
- ntuser.dat
- ntuser.ini
- ntuser.dat.log1
- ntuser.dat.log2
- usrclass.dat
- usrclass.dat.log1
- usrclass.dat.log2
- bootmgr
- bootnxt
- ntldr
- ntdetect.com
- boot.ini
- bootfont.bin
- bootsect.bak
- desktop.ini
- ctfmon.exe
- iconcache.db
- ntuser.dat
- ntuser.dat.log
- ntuser.ini
- thumbs.db
- desktop.ini
- iconcache.db
Cifrado de archivos
Para el proceso de cifrado, genera una clave única AES-256 de 32 bytes en modo CTR, con un vector de inicialización de 16 bytes, ambos generados aleatoriamente, utilizando llamadas a la función genérica de API criptográfica llamada CryptGenRandom.
El código dañino utiliza la codificación GOB para incluir la clave AES cifrada, el vector de inicialización y el nombre del fichero al final del archivo cifrado. Esta clave única de fichero, a su vez, se cifra con la clave pública RSA-2048 incrustada en propio binario. Los archivos solo se podrán descifrar si se dispone de la clave privada.
- Figura 2. Clave pública RSA embebida de Ekans. Fuente: GitHub. -
Todo fichero cifrado es marcado con la cadena de texto “EKANS” al final del mismo (EKANS es SNAKE al revés). Los ficheros cifrados son renombrados añadiendo 5 caracteres aleatorios al final. El ransomware primero selecciona todos los ficheros que quiere cifrar, a continuación los cifra y finalmente procede a renombrarlos Con este método se evita que la víctima pueda percibir indicios del proceso de secuestro de sus archivos e intervenir, abortando la operación sin que llegue a completarse.
Pago del rescate
En la nota de rescate, escrita en inglés en el archivo recién generado Decrypt-Your-Files.txt, que se ubica en dos directorios (uno en la unidad raíz de instalación de Windows y otro en el escritorio), se informa del secuestro de los datos, proporcionando algunos detalles sobre el método de cifrado utilizado, con el objetivo de disuadir a la víctima de cualquier intento de recuperación por descifrado, y además se proporciona una dirección de correo electrónico para contactar con los secuestradores, normalmente asociada a un dominio tipo protonmail, servicio de correo electrónico cifrado, ubicado en una variable que es resuelta en tiempo de ejecución.
Esta dirección de correo es utilizada por el atacante para intercambiar con la víctima las instrucciones concretas con las que realizar el pago del rescate sin exponerse, al estar ubicada en dominios públicos que cifran los buzones de sus usuarios y los mensajes de extremo a extremo.
- Figura 3. Nota de rescate de Ekans. Fuente: Security Boulevard. -
Persistencia
No se ha evidenciado que este malware contenga rutinas de ningún sistema de persistencia.
Conclusiones
Como se ha visto a lo largo del post, el ransomware Ekans está especialmente diseñado para centrar sus ataques en los SCI y todo el ámbito relacionado con la producción industrial.
Consecuentemente, se limita el número de potenciales sistemas objetivo, pero este hecho no resta un ápice de importancia a la amenaza, ya que la interrupción que puede provocar, comprometiendo sistemas críticos en infraestructuras de producción y suministro, y afectando tanto a la ciudadanía en general, como a distintos sectores críticos, podría tener graves repercusiones para las empresas que lo sufran, repercutiendo en un gran impacto reputacional y económico.
Continuaremos en una próxima entrada de blog, en la que se detallarán las fases de prevención, identificación y respuesta en caso de verse afectados por este ransomware.