«Por motivos ajenos, la web y la sede electrónica no se encuentran disponibles»… así se presentaba Ryuk la semana pasada a quienes intentaban acceder a la web de SEPE.
De esta forma se informó que las 710 oficinas presenciales y las 52 telemáticas, del servicio de empleo estatal, estaban fuera de servicio. Todo hacía pensar en que habían sido comprometidos por un ransomware. Una nota escueta, sin mucha información aparentemente, pero poco a poco se fue informando de la criticidad y del estado del SEPE, aunque no de forma oficial…
Pero, ¿qué podemos suponer que paso? En primer lugar, no podemos estar seguros de algunos puntos, solo estando dentro de la organización o de la investigación podríamos tener todos los datos.
La primera pregunta que nos podemos hacer es ¿cómo pudieron comprometerse los sistemas de SEPE? Pues aquí encontramos varias teorías, aunque la más plausible sea la actual pandemia y el teletrabajo que obligó a ejercer a muchos profesionales desde su hogar. Según tengo entendido a mediados del año pasado el SEPE contaba con 4.400 personas teletrabajando y según palabras del propio subdirector general adjunto de tecnologías de la información y comunicaciones del SEPE: «no contábamos con ningún piloto previo de teletrabajo».
Podemos suponer que muchos se vieron en la obligación de trabajar con sus ordenadores y conectarse vía VPN a los sistemas del SEPE y esto pudo abrir una vía de entrada bastante plausible. McAfee realizo un informe donde exponía ésta y otras amenazas del teletrabajo.
Cómo se produce un ataque con Ryuk
Se sabe que Ryuk es parte de un ataque que involucra a Emotet y TrickBot.
El primer paso para el compromiso de un sistema es la recepción de Emotet a través de correos electrónicos de phishing que contienen un documento de word con una macro que lo descarga.
Una vez que Emotet se ejecuta, descarga otro malware (generalmente TrickBot) que puede recopilar información del sistema, robar credenciales, desactivar AV, realizar movimientos laterales, …
La tercera etapa del ataque es conectarse al servidor C&C para descargar Ryuk, que hace uso del movimiento lateral realizado por TrickBot para infectar y cifrar tantos sistemas en la red como sea posible.
Copia y persistencia
El dropper contiene los payloads tanto para sistemas de 32 como de 64 bits. Haciendo uso de la API «IsWow64Process» se puede saber cuál de los payloads debe utilizar. Al mismo tiempo verifica la versión del sistema operativo, porque esto le marcará la localización donde realizara el ejecutable. Para versiones antiguas utilizará «C:\Documents and Settings\Default User\», y si se está ejecutando en sistemas más recientes «C:\users\Public\». Payload será ejecutado por medio de la API ShellExecuteW.
Como método de persistencia el Ryuk generará una clave de registro para su ejecución en cada reinicio en «HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run»
Proceso de inyección
Gracias a la API CreateToolhelp32Snapshot, el Ryuk lista todos los procesos del sistema inyectando su código en varios procesos, exceptuando exploret.exe, Isaas.exe y csrss.exe.
Además termina los procesos y detiene los servicios contenidos en una lista hardcodeada. Estos procesos y servicios son antivirus, bases de datos y copias de seguridad.
Ryuk también elimina las instantáneas y otros archivos de backup para que en el sistema comprometido no se pueda restaurar los datos.
Efectos visibles
Uno de los efectos más visibles fue el rollback de la página del SEPE, no fue recuperada de un backup. Lo que hicieron es recuperar la página almacenada en Waybackmachine: Waybackmachine es una base de datos donde se almacenan diferentes versiones de páginas o sitios de internet
¿confirmamos?
confirmamos
:S https://t.co/TRQnR0bTGx pic.twitter.com/BQnclUAwUf— Marc Almeida (@cibernicola_es) March 10, 2021
Exactamente del 28 de diciembre:
¿Que decíais del backup? pic.twitter.com/KFvc3vD1ri
— Miguel (@Dormidera) March 10, 2021
Así que se pueden haber perdido las copias de seguridad, pero el problema puede ser un poco más peliagudo. El SEPE cuenta con dos centros alternativos de respaldo (CARES), basados en la solución CentricStor de Fujitsu, que permite una unificación de backups y una gran escalabilidad con lo cual la restauración de los servicios tenían que haberse realizado con gran agilidad algo que, obviamente, no fue así.
Proceso de cifrado de Ryuk
Ryuk utiliza un enfoque de subprocesos múltiples para el proceso de cifrado, crea un nuevo subproceso para cada archivo que cifra, lo que lo hace muy rápido.
Comienza a enumerar archivos usando FindFirstFileW () y FindNextFileW () y luego pasa cada nombre de archivo a un nuevo hilo de cifrado.
Para el cifrado utiliza una combinación de cifrado RSA (asimétrico) y AES (simétrico). Ryuk incorpora un par de claves RSA en el que la clave privada RSA ya está encriptada con una clave pública RSA global.
El malware genera una clave AES-256 para cada archivo y cifra los archivos con una clave AES. Además, la clave AES se cifra con una clave pública hardcodeada y se adjunta al final del archivo cifrado.
Los archivos que no tengan ninguna de las siguientes extensiones: dll, lnk, hrmlog, ini o exe, o no estén incluidos en alguno de los directorios de Windows, Mozilla, Chrome o papelera de reciclaje, serán cifrados tanto en la unidad local como en la red compartida. Una vez finalizado el cifrado, Ryuk mostrará su nota de rescate, llamada RyukReadMe.txt, en todos los directorios solicitando un rescate en bitcoin.
No ha habido petición de rescate.
Un post de José Julio Ruiz de Loizaga
CTO BOTECH