Kimsuky Adopta OpenCode AI para Señuelos en Campañas LNK Basadas en PAT de GitHub
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
El grupo de amenaza Kimsuky está avanzando en su campaña Operation GitPower utilizando agentes de IA como OpenCode para generar grandes volúmenes de documentos señuelo convincentes. La cadena de ataque se basa en archivos LNK maliciosos entregados dentro de archivos ZIP para lanzar cargadores de PowerShell ofuscados. Estos cargadores abusan de los Tokens de Acceso Personal de GitHub (PATs) y Pastebin para el comando y control (C2) y la entrega de cargas útiles.
Investigación
La investigación examinó 13 variantes maliciosas de LNK y 29 documentos señuelo, revelando el uso recurrente de contenido generado por IA y automatización de navegadores sin cabeza. Los investigadores también identificaron varias técnicas de evasión de análisis, incluyendo listas negras de procesos y verificaciones de nombres de usuario en sandbox. La campaña además ha cambiado de señuelos mayormente diplomáticos hacia documentos señuelo con temas financieros y corporativos.
Mitigación
Los defensores deben fortalecer el monitoreo basado en EDR para la actividad anómala de archivos LNK y patrones sospechosos de ejecución de PowerShell. Las organizaciones también deben detectar el uso no autorizado de los PATs de GitHub y las conexiones a Pastebin para la entrega de contenido bruto. El monitoreo de tareas programadas ocultas que imitan servicios legítimos del sistema puede reducir aún más el riesgo de persistencia.
Respuesta
Si se detecta actividad maliciosa, los respondedores deben correlacionar la ejecución de LNK con procesos secundarios inmediatos de PowerShell y conexiones salientes a GitHub o Pastebin. Las líneas de comandos deben ser revisadas para detectar longitud excesiva, espacios iniciales inusuales y rutinas de decodificación aritmética personalizadas. Los puntos finales afectados deben ser aislados y revisados para detectar tareas programadas no autorizadas o scripts temporales de PowerShell en %AppData% and %TEMP%.
Flujo de Ataque
Todavía estamos actualizando esta parte.
Detecciones
Cadenas de Powershell Sospechosas (via powershell)
LOLBAS Conhost (via cmdline)
Ejecución de Archivo de Powershell en Directorio Sospechoso Usando Política de Ejecución de Bypass (via cmdline)
Posible Descarga de Archivo de Github Iniciada por Proceso Inusual (via network_connection)
IOCs (HashMd5) para detectar: Kimsuky utiliza el Agente de IA ‘opencode’ para crear señuelos a medida que evolucionan sus ataques LNK basados en PAT de GitHub
IOCs (SourceIP) para detectar: Kimsuky utiliza el Agente de IA ‘opencode’ para crear señuelos a medida que evolucionan sus ataques LNK basados en PAT de GitHub
IOCs (DestinationIP) para detectar: Kimsuky utiliza el Agente de IA ‘opencode’ para crear señuelos a medida que evolucionan sus ataques LNK basados en PAT de GitHub
Detección de Ofuscación Personalizada y Ejecución de Comandos Usando Pastebin [Windows Powershell]
Detectar Acceso No Autorizado a PowerShell de Contenido Crudo de GitHub y Ejecución Sin Cabeza [Windows Process Creation]
Archivos LNK Haciéndose Pasar por Aplicaciones Legítimas [Windows File Event]
Ejecución de Simulación
Requisito previo: La Verificación Preliminar de Telemetría y Línea Base debe haber pasado.
Razonamiento: Esta sección detalla la ejecución precisa de la técnica adversaria (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 la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados conducirán a un diagnóstico erróneo.
-
Narrativa de Ataque y Comandos: Un adversario entrega un correo de phishing que contiene un archivo llamado
Google Chrome.lnk. Cuando el usuario hace clic, el archivo LNK ejecuta un comando que llama apowershell.exe. Para engañar al usuario e intentar ocultar el comando de un análisis simple de registro, el objetivo del archivo LNK incluye una larga cadena de espacios seguida de una referencia a la ruta del ejecutable legítimo de Chrome, y finalmente la carga útil maliciosa. Esto coincide con la lógica de detección específica que buscapowershell.exe, la ruta de Chrome y el bloque masivo de espacios en blanco. -
Script de Prueba de Regresión:
# Script de Simulación: Crear un archivo LNK malicioso que active la detección $WshShell = New-Object -ComObject WScript.Shell $ShortcutPath = "$env:TEMPGoogle Chrome.lnk" $TargetDir = "C:Program FilesGoogleChromeApplication" # Construir la línea de comando ofuscada # Nota: Usamos muchos espacios para cumplir con el requisito 'selection_spaces' en la regla Sigma $Spaces = " " * 250 $MaliciousCommand = "powershell.exe $Spaces `"$TargetDirchrome.exe" -Command "Write-Output 'Malicious Payload Executed'"" # Crear el archivo LNK $Shortcut = $WshShell.CreateShortcut($ShortcutPath) $Shortcut.TargetPath = "powershell.exe" $Shortcut.Arguments = "$Spaces `"$TargetDirchrome.exe" -Command "Write-Output 'Malicious Payload Executed'"" $Shortcut.IconLocation = "$TargetDirchrome.exe, 0" $Shortcut.Save() Write-Host "LNK malicioso creado en: $ShortcutPath" Write-Host "Ejecutando LNK para activar la detección..." # Ejecutar el LNK Start-Process $ShortcutPath -
Comandos de Limpieza:
# Script de Limpieza Remove-Item "$env:TEMPGoogle Chrome.lnk" -ErrorAction SilentlyContinue Write-Host "Limpieza completa."