Prince of Persia APT Analysis: Infy, Foudre, and Tonnerre Malware
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Prince of Persia (también rastreado como APT-C-07) es un actor de ciberespionaje alineado con Irán que se considera activo desde 2007. El grupo ha pasado por múltiples familias de malware propietario—Infy, Foudre, Tonnerre y MaxPinner—para vigilar organizaciones de medios, entidades políticas y objetivos de la sociedad civil. Las operaciones suelen mezclar spear-phishing con rutas oportunistas de infección y dependen de métodos de comando y control a medida, incluidos canales basados en bots de Telegram, para mantener el acceso y mover datos desde sistemas comprometidos.
Investigación
Unit 42 y otros equipos de investigación rastrearon la progresión de herramientas del actor desde la infraestructura Infy observada en 2016, hasta el regreso de la actividad Foudre en 2017 y una iteración de Tonnerre en 2025 que usa Telegram para comando y control. Los informes técnicos destacan la entrega a través de droppers de macros de Visual Basic, persistencia mediante la instalación de servicios de Windows, y el uso de lógica de generación de dominios para mantener una infraestructura resiliente. Los analistas también documentaron la funcionalidad a nivel de API nativa de Windows utilizada para el acceso a credenciales y comportamientos de vigilancia como captura de teclado, junto con patrones de ejecución que indican un refinamiento continuo de la táctica post-compromiso.
Mitigación
Aplique controles estrictos para macros de Office y refuerce la sanitización de adjuntos de correo electrónico para reducir oportunidades de ejecución inicial. Implemente controles de red para restringir o monitorear de cerca el tráfico de Telegram en entornos donde no se requiere para operaciones de negocio. En dispositivos finales, alerte sobre la creación sospechosa de servicios, rastree el uso de rundll32 consistente con cadenas de ejecución DLL, y bloquee nombres de archivos maliciosos conocidos y patrones de persistencia basados en el registro. Mantenga el contenido de detección actualizado para patrones de dominios cambiantes dinámicamente asociados con comportamientos similares a DGA y valide rutinariamente controles contra telemetría actual.
Respuesta
Si se detectan indicadores, aísle el sistema afectado, capture artefactos volátiles, y busque los nombres de servicio específicos y las entradas del registro utilizadas para persistencia. Expanda el triaje a la creación de tareas programadas, actividad anómala de carga de DLL y cualquier evidencia de comunicaciones C2 basadas en Telegram. Elimine servicios maliciosos y archivos en etapa usando manuales de remediación verificados, luego rote credenciales potencialmente expuestas y monitoree de cerca para intentos de reingreso o reinfección en hosts adyacentes.
graph TB %% Class definitions classDef action fill:#99ccff classDef malware fill:#ffcc99 classDef tool fill:#cccccc classDef operator fill:#ff9900 %% Nodes for each step step1[«<b>Acción</b> – <b>T1566.001 Adjunto de Spearphishing</b><br/>El adversario envía un correo dirigido con un documento Office malicioso que contiene macros.»] class step1 action step2[«<b>Acción</b> – <b>T1059.005 Visual Basic</b><br/>La macro ejecuta código VBA que extrae y ejecuta el payload Infy/Foudre.»] class step2 action malware_inf[«<b>Malware</b> – <b>Nombre</b>: Infy/Foudre<br/><b>Descripción</b>: Payload entregado mediante una macro de Office.»] class malware_inf malware step3[«<b>Acción</b> – <b>T1204.001 Enlace malicioso</b><br/>La víctima hace clic en un enlace o abre el adjunto, activando la macro.»] class step3 action step4[«<b>Acción</b> – <b>T1574.010 Secuestro del flujo de ejecución por permisos débiles</b><br/>El malware crea un servicio de Windows con permisos modificados para persistencia.»] class step4 action step5[«<b>Acción</b> – <b>T1027 Archivos o información ofuscados</b><br/>El payload está empaquetado en un archivo autoextraíble protegido por contraseña con codificación personalizada.»] class step5 action step6[«<b>Acción</b> – <b>T1036 Suplantación</b><br/>Los archivos maliciosos se nombran para parecer software legítimo como “Cyberlink” o “SnailDriver”.»] class step6 action step7[«<b>Acción</b> – <b>T1056.001 Captura de entrada (Keylogging)</b><br/>El keylogging se realiza mediante ganchos de la API de Windows para capturar credenciales.»] class step7 action step8[«<b>Acción</b> – <b>T1555.003 Credenciales de navegadores</b><br/>Roba contraseñas, cookies e historial de Chrome, Edge, Firefox y otros navegadores.»] class step8 action step9[«<b>Acción</b> – <b>T1012 Consulta del registro</b><br/>Lee HKLM\SOFTWARE\Microsoft\Cryptography\MachineGuid para obtener el identificador del sistema.»] class step9 action step10[«<b>Acción</b> – <b>T1518 Descubrimiento de software</b> y <b>T1518.001 Descubrimiento de software de seguridad</b><br/>Enumera aplicaciones instaladas y verifica la presencia de antivirus.»] class step10 action step11[«<b>Acción</b> – <b>T1010 Descubrimiento de ventanas de aplicaciones</b><br/>Enumera ventanas abiertas para detectar herramientas de seguridad o análisis.»] class step11 action step12[«<b>Acción</b> – <b>T1005 Datos del sistema local</b><br/>Recopila documentos, imágenes y archivos de las carpetas del usuario.»] class step12 action op_collect_methods((«AND»)) class op_collect_methods operator step13[«<b>Acción</b> – <b>T1113 Captura de pantalla</b>, <b>T1123 Captura de audio</b>, <b>T1125 Captura de video</b>, <b>T1115 Datos del portapapeles</b><br/>Graba pantalla, micrófono, webcam y portapapeles.»] class step13 action step14[«<b>Acción</b> – <b>T1074.001 Preparación local de datos</b><br/>Comprime los archivos en ZIP o RAR en ubicaciones temporales.»] class step14 action step15[«<b>Acción</b> – <b>T1102.002 Comunicación bidireccional por servicio web</b><br/>Usa un bot o grupo de Telegram para C2 y exfiltración.»] class step15 action tool_telegram[«<b>Herramienta</b> – <b>Nombre</b>: Telegram Bot<br/><b>Descripción</b>: Permite comunicación C2 bidireccional por Telegram.»] class tool_telegram tool step16[«<b>Acción</b> – <b>T1568.002 Algoritmos de generación dinámica de dominios</b><br/>Genera dominios C2 basados en valores de tiempo.»] class step16 action step17[«<b>Acción</b> – <b>T1497 Evasión de sandbox de virtualización</b><br/>Detecta herramientas de análisis como Deep Freeze y termina la ejecución.»] class step17 action step18[«<b>Acción</b> – <b>T1564 Ocultar artefactos</b><br/>Finaliza y renombra procesos y archivos maliciosos para evitar la detección.»] class step18 action %% Connections showing the attack flow step1 –>|leads_to| step2 step2 –>|executes| malware_inf malware_inf –>|triggers| step3 step3 –>|leads_to| step4 step4 –>|establishes| step5 step5 –>|enables| step6 step6 –>|enables| step7 step7 –>|provides| step8 step8 –>|provides| step9 step9 –>|provides| step10 step10 –>|provides| step11 step11 –>|provides| step12 step12 –>|feeds| op_collect_methods op_collect_methods –>|combines| step13 step13 –>|feeds| step14 step14 –>|prepares| step15 step15 –>|uses| tool_telegram tool_telegram –>|supports| step16 step16 –>|supports| step17 step17 –>|supports| step18
Flujo de ataque
Detecciones
Ejecución Sospechosa de Taskkill (vía cmdline)
Ver
Línea de Comando Sospechosa Contiene Nombre del Navegador como Argumento (vía cmdline)
Ver
Posible Operación Manual o de Scripting Realizada en Carpetas Inusuales (vía cmdline)
Ver
Posible Uso de Lame para Grabar Sonido (vía cmdline)
Ver
Posible Abuso de Telegram como Canal de Comando y Control (vía dns_query)
Ver
Llamada a Funciones Sospechosas de la API de Windows desde Powershell (vía powershell)
Ver
Posible Archivo Autoextraíble Creado (vía file_event)
Ver
IOCs (Correos Electrónicos) para detectar: Análisis APT Prince of Persia: Malware Infy, Foudre y Tonnerre
Ver
Ejecución y Evasión del Malware Foudre Prince of Persia [Creación de Procesos de Windows]
Ver
Detección de Malware Tonnerre Usando Bot de Telegram y Generación de Dominios Dinámicos [Conexión de Red de Windows]
Ver
Detección de Llamada API de Malware Infy [Sysmon de Windows]
Ver
Ejecución de Simulación
Prerrequisito: La Verificación de Telemetría y Línea de Base debe haber pasado.
Razonamiento: 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 apuntan a generar la telemetría exacta esperada por la lógica de detección.
-
Narrativa del Ataque y Comandos:
El adversario simulado imita el comportamiento del malware Infy creando tres ejecutables ficticios cuyos nombres de archivo corresponden a las llamadas API que la regla observa. UsandoCopy-Item, duplicamosnotepad.exe(un binario benigno ya presente) al directorio temporal y lo renombramos para que coincida con cada llamada a la API. El atacante luego ejecuta cada binario ficticio, produciendo eventos de creación de procesos de Sysmon conImagenvalores terminando enGetFileAttributesA.exe,GetMessageA.exe, yDispatchMessageA.exe. Debido a que la condición de la regla esselección1 o selección2en elImagencampo, cada lanzamiento satisface la regla y genera una alerta. -
Guión de Prueba de Regresión:
# ------------------------------------------------- # Guión de Simulación – Prueba de Detección de Llamadas de API de Infy # ------------------------------------------------- $tempDir = "$env:TEMPInfySim" New-Item -ItemType Directory -Path $tempDir -Force | Out-Null # Ayudante: copia notepad.exe a un nuevo nombre function Copy-And-Run { param ( [string]$newName ) $src = "$env:SystemRootSystem32notepad.exe" $dst = Join-Path $tempDir $newName Copy-Item -Path $src -Destination $dst -Force Write-Host "Created $dst" Start-Process -FilePath $dst -WindowStyle Hidden } # Crear y ejecutar binarios ficticios que coincidan con los nombres de API Copy-And-Run -newName "GetFileAttributesA.exe" Copy-And-Run -newName "GetMessageA.exe" Copy-And-Run -newName "DispatchMessageA.exe" Write-Host "Simulation complete. Check SIEM for alerts." -
Comandos de Limpieza:
# ------------------------------------------------- # Guion de Limpieza – Eliminar binarios simulados # ------------------------------------------------- $tempDir = "$env:TEMPInfySim" # Detener cualquier proceso ficticio restante Get-Process -Name "GetFileAttributesA","GetMessageA","DispatchMessageA" -ErrorAction SilentlyContinue | Stop-Process -Force # Eliminar el directorio temporal y su contenido Remove-Item -Path $tempDir -Recurse -Force -ErrorAction SilentlyContinue Write-Host "Cleanup complete."