APT15 Cyber-Spionage: Analyse der Kampagnen und TTPs
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
APT15 ist eine chinesische, staatlich geförderte Cyber-Spionagegruppe, die seit 2010 aktiv ist und in erster Linie auf Regierungsbehörden, diplomatische Vertretungen und militärische Organisationen abzielt. Die Akteure verlassen sich auf Spear-Phishing, die Ausnutzung öffentlich zugänglicher Anwendungen und maßgeschneiderte Backdoors, um sich anfänglich Zugang zu verschaffen und langfristige Zugänge aufrechtzuerhalten. Ihr Werkzeugkasten umfasst Steganographie, Verschleierung, Registry-Manipulation und verschlüsselte C2-Kanäle, die in HTTP-Header oder DNS-Verkehr eingebettet sind. Die Kampagne entwickelt sich weiter mit neuen Werkzeugen wie Graphican und dem ORB3-Relay-Netzwerk.
Untersuchung
Die Untersuchung hat mehrere Malware-Familien (BS2005, TidePool, MirageFox, Graphican, etc.) zugeordnet und einen umfassenden Satz von ATT&CK-Techniken, die von anfänglichem Zugang über Ausführung, Persistenz, Privilegieneskalation, Verteidigungsumgehung, Anmeldeinformationenzugriff, Entdeckung, Sammlung, Exfiltration bis hin zu Befehls- und Kontrollfunktionalitäten reichen. Analysten extrahierten konkrete Indikatoren wie Domänen, Dateipfade, Registrierungsschlüssel und Befehlszeilen aus den Falldaten. Die Infrastruktur der Gruppe nutzt Domänen wie goback.stranged.net and finance.globaleducat.com für C2-Operationen.
Minderung
Empfohlene Abwehrmaßnahmen umfassen ein rigoroses Scannen von E-Mail-Anhängen, das zeitnahe Patchen von Microsoft Exchange, SharePoint und VPN-Geräten sowie das Überwachen verdächtiger Registry-Änderungen, abnormaler geplanter Aufgaben und Rundll32- oder COM-basierter Payload-Ausführung. Die Netzwerküberwachung sollte sich auf untypische HTTP-Cookie-Aktivitäten und DNS-TXT-Abfragen in Übereinstimmung mit bekannten C2-Mustern konzentrieren. Anwendungs-Whitelisting und Verhaltensanalysen können helfen, den Einsatz umbenannter Archivprogramme und Steganographie-basierter PNG-Payloads zu blockieren.
Reaktion
Wenn APT15-Aktivität festgestellt wird, isolieren Sie den betroffenen Host, erfassen Sie flüchtige Daten und alle zugehörigen IOC-Artefakte und blockieren Sie die identifizierten C2-Domänen und IP-Adressen. Führen Sie vollständige forensische Analysen durch, um persistente Verknüpfungen, geplante Aufgaben und Registry-Änderungen zu lokalisieren, dann beseitigen Sie bösartige Komponenten und setzen alle kompromittierten Anmeldedaten zurück. Informieren Sie die betroffenen Benutzer und aktualisieren Sie die Erkennungsregeln, um die beobachteten Befehlszeilen, Dateipfade und Infrastrukturindikatoren abzudecken.
„graph TB %% Klassendefinitionen classDef technique fill:#99ccff classDef operator fill:#ff9900 %% Knotendefinitionen node_initial[„<b>Technik</b> – <b>T1566.001 Spear-Phishing-Anhang</b><br/><b>Beschreibung</b>: Sende gezielte E-Mails mit bösartigen Anhängen, um ersten Zugriff zu erlangen.“] class node_initial technique node_valid[„<b>Technik</b> – <b>T1078 Gültige Accounts</b><br/><b>Beschreibung</b>: Verwende kompromittierte legitime Anmeldeinformationen, um auf Systeme zuzugreifen.“] class node_valid technique node_exploit[„<b>Technik</b> – <b>T1190 Ausnutzen von öffentlich zugänglichen Anwendungen</b><br/><b>Beschreibung</b>: Nutze Schwachstellen in internet-gerichteten Diensten aus, um Zugriff zu erhalten.“] class node_exploit technique node_cmd[„<b>Technik</b> – <b>T1059.003 Windows-Befehlszeileninterpreter</b><br/><b>Beschreibung</b>: Führe Befehle über cmd.exe aus, um bösartigen Code auszuführen.“] class node_cmd technique node_shortcut[„<b>Technik</b> – <b>T1547.009 Verknüpfungsmodifikation</b><br/><b>Beschreibung</b>: Erstelle oder modifiziere LNK-Verknüpfungen zur Persistenz.“] class node_shortcut technique node_task[„<b>Technik</b> – <b>T1053 Geplanter Task</b><br/><b>Beschreibung</b>: Verwende geplante Tasks, um Nutzlasten zu definierten Zeiten auszuführen.“] class node_task technique node_active[„<b>Technik</b> – <b>T1547.014 Aktives Setup</b><br/><b>Beschreibung</b>: Nutze Active-Setup-Registrierungsschlüssel für Persistenz.“] class node_active technique node_token[„<b>Technik</b> – <b>T1134.003 Zugriffstoken-Manipulation</b><br/><b>Beschreibung</b>: Erreiche höhere Privilegien durch das Ändern von Zugriffstoken.“] class node_token technique node_steg[„<b>Technik</b> – <b>T1027.003 Steganographie</b><br/><b>Beschreibung</b>: Verstecke Daten in anderen Dateien, um Erkennung zu vermeiden.“] class node_steg technique node_masq[„<b>Technik</b> – <b>T1036 Verschleierung</b><br/><b>Beschreibung</b>: Benenne Dateien um oder tarne sie als legitim, um Erkennung zu vermeiden.“] class node_masq technique node_icon[„<b>Technik</b> – <b>T1027.012 LNK-Icon-Schmuggel</b><br/><b>Beschreibung</b>: Betten Sie bösartigen Code in LNK-Icon-Ressourcen ein.“] class node_icon technique node_proxy[„<b>Technik</b> – <b>T1218 System-Binärproxy-Ausführung</b><br/><b>Beschreibung</b>: Missbrauche vertrauenswürdige System-Binärdateien, um bösartigen Code auszuführen.“] class node_proxy technique node_guard[„<b>Technik</b> – <b>T1480.001 Ausführungs-Leitplanken</b><br/><b>Beschreibung</b>: Überprüfe Umgebungsbedingungen vor der Ausführung.“] class node_guard technique node_sandbox[„<b>Technik</b> – <b>T1497 Sandbox-Umgehung</b><br/><b>Beschreibung</b>: Erkenne und umgehe Analyse-Sandbox-Umgebungen.“] class node_sandbox technique node_keylog[„<b>Technik</b> – <b>T1056.001 Keylogging</b><br/><b>Beschreibung</b>: Erfasse Tastenanschläge, um Anmeldedaten zu erlangen.“] class node_keylog technique node_dump[„<b>Technik</b> – <b>T1003 OS-Anmeldeinformationsabruf</b><br/><b>Beschreibung</b>: Extrahiere Passwort-Hashes aus dem Betriebssystem.“] class node_dump technique node_sysinfo[„<b>Technik</b> – <b>T1082 Systeminformationsentdeckung</b><br/><b>Beschreibung</b>: Sammle Informationen über OS, Hardware und Software.“] class node_sysinfo technique node_inet[„<b>Technik</b> – <b>T1016.001 Internetverbindungsentdeckung</b><br/><b>Beschreibung</b>: Identifiziere aktive Netzwerkverbindungen und IP-Adressen.“] class node_inet technique node_stage[„<b>Technik</b> – <b>T1074.001 Daten gestaged</b><br/><b>Beschreibung</b>: Sammle Daten lokal, bevor sie exfiltriert werden.“] class node_stage technique node_archive[„<b>Technik</b> – <b>T1560.001 Archivierung über Dienstprogramm</b><br/><b>Beschreibung</b>: Komprimiere Daten mit Dienstprogrammen wie zip.“] class node_archive technique node_email[„<b>Technik</b> – <b>T1114.002 Fern-E-Mail-Sammlung</b><br/><b>Beschreibung</b>: Greife auf E-Mail-Konten zu, um Nachrichten zu sammeln.“] class node_email technique node_http[„<b>Technik</b> – <b>T1071.001 Web-Protokolle HTTP</b><br/><b>Beschreibung</b>: Verwende HTTP für Befehls- und Steuerkommunikation.“] class node_http technique node_obfusc[„<b>Technik</b> – <b>T1001 Datenverschleierung</b><br/><b>Beschreibung</b>: Kodiere oder verschlüssele Daten, um deren Inhalt zu verbergen.“] class node_obfusc technique node_dead[„<b>Technik</b> – <b>T1102.001 Toter Briefkasten Resolver</b><br/><b>Beschreibung</b>: Rufe Befehle oder Daten aus versteckten Orten ab.“] class node_dead technique node_encrypt[„<b>Technik</b> – <b>T1573.001 Verschlüsselter Kanal</b><br/><b>Beschreibung</b>: Verschlüssele C2-Traffic, um Kommunikation zu verbergen.“] class node_encrypt technique node_exfil[„<b>Technik</b> – <b>T1048.003 Exfiltration über unverschlüsseltes nicht-C2-Protokoll</b><br/><b>Beschreibung</b>: Übertrage Daten mit Protokollen, die nicht mit C2 assoziiert sind, ohne Verschlüsselung.“] class node_exfil technique %% Verbindungen node_initial u002du002d>|leads_to| node_valid node_initial u002du002d>|leads_to| node_exploit node_valid u002du002d>|leads_to| node_cmd node_cmd u002du002d>|enables| node_shortcut node_cmd u002du002d>|enables| node_task node_cmd u002du002d>|enables| node_active node_cmd u002du002d>|enables| node_token node_cmd u002du002d>|enables| node_steg node_cmd u002du002d>|enables| node_masq node_cmd u002du002d>|enables| node_icon node_cmd u002du002d>|enables| node_proxy node_cmd u002du002d>|enables| node_guard node_cmd u002du002d>|enables| node_sandbox node_cmd u002du002d>|enables| node_keylog node_cmd u002du002d>|enables| node_dump node_cmd u002du002d>|enables| node_sysinfo node_cmd u002du002d>|enables| node_inet node_sysinfo u002du002d>|feeds| node_stage node_inet u002du002d>|feeds| node_stage node_stage u002du002d>|includes| node_archive node_stage u002du002d>|includes| node_email node_archive u002du002d>|used_by| node_http node_email u002du002d>|used_by| node_http node_http u002du002d>|uses| node_obfusc node_http u002du002d>|uses| node_dead node_http u002du002d>|uses| node_encrypt node_http u002du002d>|exfiltrates_via| node_exfil „
Angriffsfluss
Erkennungen
Ausführen von Archivierungssoftware über Befehl und Skript-Interpreter (via process_creation)
Anzeigen
Verdächtige PowerShell-Strings (via PowerShell)
Anzeigen
Verdächtige PowerShell-Strings (via cmdline)
Anzeigen
Verdächtige Binärdateien / Skripte im Autostart-Ort (via file_event)
Anzeigen
Mögliche XCOPY-Ausführung zur Dokumentensammlung (via cmdline)
Anzeigen
Verdächtige Dateierweiterung zu Run-Keys hinzugefügt [ASEPs] (via registry_event)
Anzeigen
IOCs (E-Mails) zur Erkennung: Analyse von APT15-Cyber-Spionage: Kampagnen und TTPs
Anzeigen
Erkennung von APT15-Befehlsausführungs- und Persistenztechniken [Windows-Prozess-Erstellung]
Anzeigen
Erkennung der APT15-C2-Kommunikation über bestimmte HTTP-Header [Windows-Netzwerkverbindung]
Anzeigen
Simulationsausführung
Voraussetzung: Die Telemetrie- und Baseline-Pre-Flight-Check müssen bestanden sein.
Angriffserzählung & Befehle:
- Vorbereitung: Der Gegner hat bereits ein Benutzerkonto kompromittiert und ist auf dem Endpunkt gelandet.
- Datenstaging (T1059.003): Mit dem exakten
xcopySyntax, wie bei historischen APT15-Aktivitäten beobachtet, kopiert der Angreifer die Desktop-Dateien des Opfers in einen verborgenen WMI-Temporärordner und bewahrt die Zeitstempel (/D:09-29-2021) auf, um sich mit legitimen Systemaktivitäten zu vermischen. - Payload-Ausführung (T1218.002): Der Angreifer ruft dann
rundll32.exemit einem kurzen Pfadnamen (C:DOCUME~1ALLUSE~1IEHelpermshtml.dll) auf, um schädliches JavaScript auszuführen, das Persistenz herstellt. - Ergebnis: Beide Befehle erzeugen eindeutige Prozess-Erstellungsereignisse, die der Sigma-Regel
auswahl1andauswahl2entsprechen und einen Alarm auslösen.
Regressionstest-Skript:
# -------------------------------------------------
# APT15-Simulationsskript – löst Sigma-Regel aus
# -------------------------------------------------
# 1. Erstellen Sie Staging-Verzeichnisse und Dummy-Dateien
$src = "C:usersREDACTEDDesktop"
$dst = "C:windowstempwmi"
New-Item -Path $src -ItemType Directory -Force | Out-Null
New-Item -Path $dst -ItemType Directory -Force | Out-Null
Set-Content -Path "$srcsecret.txt" -Value "sensitive data" -Encoding UTF8
# 2. Führen Sie den exakten xcopy-Befehl aus, der von APT15 verwendet wird
$xcopyCmd = "xcopy /D:09-29-2021 /S/Y/C c:usersREDACTEDDesktop c:windowstempwmi"
Invoke-Expression $xcopyCmd
# 3. Bereitstellen der bösartigen DLL (simuliert durch Kopieren einer legitimen DLL)
$malDllSrc = "$env:SystemRootSystem32mshtml.dll"
$malDllDst = "C:DOCUME~1ALLUSE~1IEHelpermshtml.dll"
New-Item -Path (Split-Path $malDllDst) -ItemType Directory -Force | Out-Null
Copy-Item -Path $malDllSrc -Destination $malDllDst -Force
# 4. Führen Sie rundll32 mit dem genauen APT15-Argumentmuster aus
$rundllCmd = "rundll32.exe C:DOCUME~1ALLUSE~1IEHelpermshtml.dll, IEHelper"
Invoke-Expression $rundllCmd
# -------------------------------------------------
# Ende der Simulation
# -------------------------------------------------
Bereinigungskommandos:
# Entfernen Sie Staging-Dateien und -Verzeichnisse
Remove-Item -Path "C:usersREDACTEDDesktopsecret.txt" -Force -ErrorAction SilentlyContinue
Remove-Item -Path "C:windowstempwmi" -Recurse -Force -ErrorAction SilentlyContinue
# Entfernen Sie den gefälschten IEHelper-Ordner und die DLL
Remove-Item -Path "C:DOCUME~1ALLUSE~1IEHelper" -Recurse -Force -ErrorAction SilentlyContinue
# Optional: Stoppen Sie Sysmon (wenn nur für den Test benötigt)
# & "$env:ProgramFilesSysinternalsSysmon.exe" -u