Trigona fue un grupo de ransomware de doble extorsión descubierto en octubre de 2022 y activo hasta octubre de 2023, cuando el grupo hacktivista ucraniano Ukrainian Cyber Alliance comprometió su infraestructura completa — panel de afiliados, base de datos de víctimas, servidor de negociaciones y código fuente — poniéndole fin. Llegó a publicar más de 100 víctimas en su DLS, aunque el número real es significativamente mayor.
Operaba bajo modelo RaaS, con diferentes afiliados empleando el mismo locker. Su rasgo más característico era una operativa metódica y pausada: los atacantes permanecían semanas en la red antes de detonar el ransomware, consolidando acceso y exfiltrando datos con calma.
Resumen del ataque
| Fase | Descripción |
|---|---|
| Acceso inicial | Credenciales RDWeb/RDP compradas a IABs o via credential stuffing (sin MFA) |
| Reconocimiento | NetScan para mapear hosts con RDP/SMB, discovery de shares de red |
| Credential Access | WDigest (zam.bat) + Mimikatz en memoria → Domain Admin en horas |
| Lateral Movement | SMB con credenciales DA, propagación a SQL Server, backups y NAS |
| Exfiltración | Rclone contra bases de datos SQL y fileservers antes del cifrado |
| Persistencia | Cuenta sys oculta via SpecialAccounts\UserList, servicios de autoarranque |
| Anti-recovery | coba.bat — eliminación de Shadow Copies + desactivación de Windows Defender |
| Impacto | ChaCha20 + RSA-4096 en Windows; locker ESXi para .vmdk/.vmsn |
Acceso inicial
El vector documentado con más frecuencia es la compra de credenciales válidas a Initial Access Brokers (IAB) para acceder a servicios RDWeb o RDP expuestos sin MFA. Como alternativa: credential stuffing con datos de filtraciones previas. Sin MFA, el acceso era inmediato y sin necesidad de explotar ninguna vulnerabilidad técnica.
Credential Access
Una vez dentro, Trigona ejecutaba un script propio llamado zam.bat que habilitaba WDigest en el registro (UseLogonCredential=1) para forzar que las credenciales quedasen almacenadas en claro en LSASS. A continuación ejecutaba Mimikatz en memoria para extraerlas. Con las credenciales de Domain Admin, la escalada completa solía completarse en cuestión de horas.
️ Persistencia y evasión
Creación de usuario local sys y adición al grupo Administradores
Ocultación del usuario sys via clave de registro SpecialAccounts\UserList = 0 — invisible en pantalla de login
Referencias al SID de administradores (S-1-5-32-544) en PowerShell para evadir detección por nombre de grupo
SQL Server como pivote: ejecución de herramientas de reconocimiento y backdoors desde sqlservr.exe
Exfiltración
Antes de cifrar, Trigona exfiltraba las bases de datos SQL completas y el contenido de fileservers mediante Rclone hacia almacenamiento cloud controlado por el atacante. Esta exfiltración previa era el fundamento de la doble extorsión: pagar para descifrar los datos Y para que no los publicasen.
Impacto y destrucción
El script coba.bat se encargaba de la destrucción previa al cifrado:
Eliminación de Shadow Copies con vssadmin, wmic y bcdedit
Desactivación de Windows Defender
Destrucción de backups accesibles vía SMB
El locker Windows usa ChaCha20 + RSA-4096. El locker ESXi cifraba directamente los ficheros .vmdk y .vmsn en /vmfs desde el hipervisor — una sola ejecución dejaba inoperativa toda la infraestructura virtualizada.
Fin de Trigona
En octubre de 2023, Ukrainian Cyber Alliance penetró los servidores de Trigona y desfiguró el panel de afiliados. Publicaron screenshots del código fuente, la base de datos de víctimas y las conversaciones de negociación — y borraron el resto. Las operaciones de Trigona no se recuperaron. Su código base, sin embargo, continuó en manos de otros grupos: BlackNevas es el derivado más activo a fecha de publicación.
Fuentes
- The DFIR Report — Trigona Ransomware in 3 Hours
- The DFIR Report — From OneNote to RansomNote
- SentinelOne Anthology — Trigona
- Ukrainian Cyber Alliance — Takedown Statement
Sectores Objetivo
Sectores de actividad en los que el grupo Trigona ha concentrado sus ataques.
Trigona atacó activamente a empresas del sector industrial y manufacturero, aprovechando la prevalencia de sistemas Windows legacy sin parchear y la escasa segmentación de red entre OT e IT.
Las organizaciones de salud fueron objetivo prioritario por su baja tolerancia al tiempo de inactividad y la sensibilidad de los datos de pacientes, lo que aumentaba la probabilidad de pago del rescate.
Entidades financieras y aseguradoras fueron atacadas por el valor de sus bases de datos y la presión regulatoria que las obliga a recuperar operaciones rápidamente.
Empresas medianas con servicios RDWeb o RDP expuestos a internet sin MFA eran el vector de entrada más explotado. La falta de segmentación interna facilitaba el movimiento lateral posterior.
Detection & Response Rules
Reglas listas para importar en SentinelOne XDR. Contacta con nosotros para acceso completo al repositorio actualizado.
Detecta procesos hijo sospechosos lanzados desde sqlservr.exe. Trigona usaba SQL Server como pivote para ejecutar herramientas de reconocimiento y backdoors.
event.type = "Process Creation"
AND src.process.name = "sqlservr.exe"
AND tgt.process.name in ("cmd.exe", "powershell.exe", "pwsh.exe", "wscript.exe", "cscript.exe", "mshta.exe", "certutil.exe", "regsvr32.exe", "rundll32.exe", "bitsadmin.exe", "curl.exe", "wget.exe")
Detecta ocultación de cuentas de usuario mediante SpecialAccounts\UserList. Trigona ocultaba el usuario sys creado durante el movimiento lateral.
event.type = "Process Creation"
AND tgt.process.image.path endswith '\\reg.exe'
AND tgt.process.cmdline contains '\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\SpecialAccounts\\UserList'
AND tgt.process.cmdline contains 'add'
AND tgt.process.cmdline contains '/v'
AND tgt.process.cmdline contains '/d 0'
Variante ejecutada via reg.exe o PowerShell. Detecta la escritura a SpecialAccounts\UserList desde línea de comandos.
event.type = "Process Creation"
AND tgt.process.cmdline contains '\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\SpecialAccounts\\UserList'
AND tgt.process.cmdline contains 'add'
AND tgt.process.cmdline contains '/v'
AND tgt.process.cmdline contains '/d 0'
Detecta referencias al SID del grupo Administrators local en PowerShell. Trigona lo usaba para ofuscar la adición de usuarios administradores.
event.type = "Command Script"
AND src.process.cmdline contains 'S-1-5-32-544'
Detecta la ejecución de NetScan (SoftPerfect) y Nmap en el endpoint. Trigona usaba NetScan para mapear hosts con RDP/SMB abiertos antes de propagarse lateralmente vía PSEXEC/PAEXEC.
event.type = "Process Creation"
AND (
tgt.process.name in ("netscan.exe", "nmap.exe")
OR tgt.process.publisher contains:anycase "SoftPerfect Pty. Ltd."
OR tgt.process.publisher contains:anycase "Nmap Software LLC"
)
Detecta la creación en disco de un fichero con 'netscan' en la ruta. Los atacantes suelen descargar NetScan a rutas temporales o de usuario antes de ejecutarlo.
event.type = "File Creation"
AND tgt.file.path contains:anycase "netscan"
Detecta artefactos de NetScan (delete.me) en shares de red. Trigona usaba NetScan para descubrir hosts con RDP/SMB antes de propagarse lateralmente.
Detecta ejecución de AnyDesk. Trigona y grupos afiliados usaban herramientas de acceso remoto legítimas para mantener persistencia y canal C2 alternativo durante la intrusión.
event.type = "Process Creation"
AND (tgt.process.name in ("AnyDesk.exe", "AnyDeskMSI.exe")
OR tgt.process.publisher contains:anycase "AnyDesk Software GmbH"
OR src.process.publisher contains:anycase "AnyDesk Software GmbH")
Detecta instalación o ejecución del agente Atera RMM. Los atacantes instalan Atera como backdoor persistente para mantener acceso remoto incluso si se eliminan otros payloads.
event.type = "Process Creation"
AND (tgt.process.publisher contains:anycase "Atera Networks Ltd"
OR src.process.publisher contains:anycase "Atera Networks Ltd"
OR tgt.process.name = "AteraAgent.exe"
OR (tgt.process.name = "msiexec.exe"
AND tgt.process.cmdline contains:anycase "AteraAgent"))
Detecta el borrado de Shadow Copies con vssadmin/wmic/bcdedit. Patrón exacto del script coba.bat documentado en ataques de Trigona.
event.type = "Process Creation"
AND (
(tgt.process.name = "vssadmin.exe" AND tgt.process.cmdline contains:anycase "delete shadows")
OR (tgt.process.name = "wbadmin.exe" AND tgt.process.cmdline contains:anycase "delete")
OR (tgt.process.name = "bcdedit.exe" AND tgt.process.cmdline contains:anycase "recoveryenabled no")
OR (tgt.process.name = "wmic.exe" AND tgt.process.cmdline contains:anycase "shadowcopy delete")
)
Detecta la habilitación de WDigest para almacenar credenciales en caché en LSASS. Trigona habilitaba WDigest via zam.bat antes de ejecutar mimikatz.
event.type in ("Registry Value Create", "Registry Value Modified")
AND registry.keyPath contains "SecurityProviders\\WDigest"
AND registry.valueName = "UseLogonCredential"
AND registry.value = "1"