Imperial Kitten APT-Profil: TTPs, Malware und Angriffssimulation
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Imperial Kitten ist eine vom Iran staatlich geförderte APT, die mit der IRGC in Verbindung steht und dafür bekannt ist, sich auf Luft- und Raumfahrt sowie Verteidigungsorganisationen zu konzentrieren. Die Gruppe setzt auf hoch gezielte Spear-Phishing-Kampagnen und glaubwürdig wirkende Anmeldeportale, um maßgeschneiderte Schadsoftware bereitzustellen. Ihr Werkzeugkasten umfasst mehrere Backdoors, wie TWOSTROKE und MINIBIKE, und nutzt häufig die Microsoft Azure-Infrastruktur für C2-Kommunikation.
Untersuchung
Der Bericht verfolgt die Entwicklung von Imperial Kitten von 2017 bis 2026 und hebt den Wechsel von Lieferkettenoperationen hin zu ausgefeilten Social-Media-Katzenfisching und maßgeschneiderten Phishing-Portalen hervor. Die Analyse untersucht auch benutzerdefinierte LLVM-ähnliche Verschleierungstechniken und DLL-Sideloading-Methoden, die verwendet werden, um verdeckt zu bleiben und die Erkennung zu erschweren.
Minderung
Organisationen sollten die E-Mail-Sicherheit stärken, um zu erkennen, die wie echte Domains aussehen, und legitime Authentifizierungsabläufe überprüfen. Endpunktschutzmaßnahmen sollten gegen DLL-Sideloading gehärtet werden, während unautorisierte Änderungen im Registryschlüssel ‚Run‘ genau überwacht werden sollten. Die Einschränkung ausgehender Verbindungen auf genehmigte Cloud-Dienste kann auch das Risiko von C2-Kommunikation über die Azure-Infrastruktur reduzieren.
Reaktion
Wenn Aktivität von Imperial Kitten erkannt wird, isolieren Sie kompromittierte Hosts, um seitliche Bewegungen über RDP oder SSH-Tunnel zu verhindern. Führen Sie eine forensische Analyse von %LOCALAPPDATA% auf verdächtige DLLs durch und überprüfen Sie die Registrierungsschlüssel auf Persistenzmechanismen. Überprüfen Sie netzwerkbezogenen Datenverkehr von Azure auf ungewöhnliche Muster, die mit identifizierten C2-Domains und -Tools verknüpft sind.
Angriffsfluss
Erkennungen
Mögliche Persistenzpunkte [ASEPs – Software/NTUSER Hive] (via registry_event)
Verdächtiges SSH-Portweiterleiten [Windows] (via cmdline)
Mögliche Konto- oder Gruppenumgehung / -manipulation (via cmdline)
Möglicher Löschversuch von spezifischen RDP-Artefakten in der Registrierung (via cmdline)
Mögliche Tunneling-Tool-Nutzung [Windows] (via cmdline)
Alternative Remote-Access-/Management-Software (via process_creation)
Möglicher Dxgi-Sideloading-Versuch (via image_load)
Möglicher VGAuth.dll-Sideloading-Versuch (via image_load)
Verdächtige Dateien im öffentlichen Benutzerprofil (via file_event)
Möglicher Azurewebsites-Domainkontakt durch ungewohnte Prozesse (via dns_query)
IOCs (SourceIP) zur Erkennung: Imperial Kitten (Tortoiseshell) APT: TTPs, Malware und Angriffs-Simulation
IOCs (DestinationIP) zur Erkennung: Imperial Kitten (Tortoiseshell) APT: TTPs, Malware und Angriffs-Simulation
Imperial Kitten Persistenz und Tarnung in Registrierungsänderungen [Windows Registry Event]
Imperial Kitten C2-Server in Azure-Infrastruktur erkennen [Azure Activity Logs]
Simulationsausführung
-
Angriffserzählung & Befehle: Der Angreifer hat erfolgreich initialen Zugriff erlangt. Um sicherzustellen, dass er nach einem Neustart auf dem System bleibt, setzt er einen Loader ein, der einen „MigAutoPlay“-Eintrag in dem Run-Registrierungsschlüssel des aktuellen Benutzers hinzufügt. Dies ahmt das Malware-Profil von Imperial Kitten nach. Nach der Herstellung der Persistenz führt der Angreifer mittels RDP seitliche Bewegungen durch. Um die Erkennung zu umgehen und seine Spuren vor forensischen Ermittlern zu verbergen, löscht er sofort die Registrierungsschlüssel, die den Verlauf der zuletzt verbundenen RDP-Server speichern.
-
Regressions-Testskript:
# --- TEIL 1: Persistenzsimulation --- Write-Host "[+] Simulierung von Persistenz via MigAutoPlay..." $PersistencePath = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun" New-ItemProperty -Path $PersistencePath -Name "MigAutoPlay" -Value "C:UsersPublicloader.dll" -PropertyType String -Force # --- TEIL 2: Antiforensik (RDP-Cleanup) Simulation --- Write-Host "[+] Simulierung der RDP-Verlaufslöschung..." $RDPPath1 = "HKCU:SoftwareMicrosoftTerminal Server ClientDefault" $RDPPath2 = "HKCU:SoftwareMicrosoftTerminal Server ClientServers" # Schlüssel löschen, um die Bereinigung zu simulieren if (Test-Path $RDPPath1) { Remove-Item -Path $RDPPath1 -Recurse -Force } if (Test-Path $RDPPath2) { Remove-Item -Path $RDPPath2 -Recurse -Force } Write-Host "[!] Simulation abgeschlossen." -
Bereinigungskommandos:
# Entfernen Sie den während der Simulation erstellten Persistenzschlüssel Remove-ItemProperty -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun" -Name "MigAutoPlay" -ErrorAction SilentlyContinue # Hinweis: RDP-Schlüssel werden vom System verwaltet; wir können den 'gelöschten' Verlauf nicht leicht per Skript wiederherstellen, aber wir können die leeren Strukturen bei Bedarf neu erstellen. New-Item -Path "HKCU:SoftwareMicrosoftTerminal Server ClientDefault" -Force | Out-Null New-Item -Path "HKCU:SoftwareMicrosoftTerminal Server ClientServers" -Force | Out-Null