Profilo APT di Imperial Kitten: TTP, Malware e Simulazione di Attacco
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
Imperial Kitten è un APT sponsorizzato dallo stato iraniano, collegato al IRGC e noto per colpire organizzazioni nell’aerospaziale e nella difesa. Il gruppo fa affidamento su campagne di spearphishing altamente mirate e portali di autenticazione validati per fornire malware personalizzato. Il suo kit include diversi backdoor, come TWOSTROKE e MINIBIKE, e utilizza frequentemente l’infrastruttura di Microsoft Azure per le comunicazioni C2.
Indagine
Il rapporto traccia l’evoluzione di Imperial Kitten dal 2017 al 2026, evidenziando il suo passaggio dalle operazioni della catena di fornitura verso sofisticati catfishing sui social media e portali di phishing su misura. L’analisi esamina anche tecniche di offuscamento in stile LLVM personalizzate e metodi di sideloading DLL usati per mantenere la furtività e complicare il rilevamento.
Mitigazione
Le organizzazioni dovrebbero rafforzare la sicurezza delle e-mail per identificare domini simili e verificare i flussi di autenticazione legittimi. Le difese degli endpoint dovrebbero essere rinforzate contro il sideloading DLL, mentre le modifiche non autorizzate al registro nelle chiavi Run dovrebbero essere strettamente monitorate. Limitare il traffico in uscita ai servizi cloud approvati può inoltre ridurre il rischio di comunicazione C2 tramite l’infrastruttura Azure.
Risposta
Quando viene rilevata un’attività di Imperial Kitten, isolare gli host compromessi per prevenire il movimento laterale tramite tunnel RDP o SSH. Condurre un’analisi forense di %LOCALAPPDATA% per DLL sospette e ispezionare le chiavi di registro per meccanismi di persistenza. Esaminare il traffico di rete relativo ad Azure per modelli insoliti associati ai domini C2 e agli strumenti identificati.
Flusso di Attacco
Rilevamenti
Punti di Persistenza Possibili [ASEPs – Software/NTUSER Hive] (via registry_event)
Inoltro Porta SSH Sospetto [Windows] (via cmdline)
Possibile Enumerazione o Manipolazione di Account o Gruppi (via cmdline)
Tentativo di Eliminazione di Artefatti Specifici RDP nel Registro (via cmdline)
Possibile Utilizzo di Strumento di Tunneling [Windows] (via cmdline)
Software di Accesso Remoto / Gestione Alternativa (via process_creation)
Possibile Tentativo di Sideloading Dxgi (via image_load)
Possibile Tentativo di Side-Loading VGAuth.dll (via image_load)
File Sospetti nel Profilo Utente Pubblico (via file_event)
Possibile Dominio Azurewebsites Contattato da Processo Insolito (via dns_query)
IOC (SourceIP) da rilevare: Imperial Kitten (Tortoiseshell) APT: TTP, Malware e Simulazione di Attacco
IOC (DestinationIP) da rilevare: Imperial Kitten (Tortoiseshell) APT: TTP, Malware e Simulazione di Attacco
Modifiche al Registro di Persistenza e Furtività di Imperial Kitten [Evento Registro di Windows]
Rileva Server C2 di Imperial Kitten nell’Infrastruttura di Azure [Log di Attività di Azure]
Esecuzione della Simulazione
-
Narrativa & Comandi di Attacco: L’avversario ha ottenuto con successo l’accesso iniziale. Per garantire la permanenza nel sistema dopo un riavvio, implementano un loader che aggiunge una voce “MigAutoPlay” nella chiave Run dell’utente corrente del registro. Questo mima il profilo malware di Imperial Kitten. Dopo aver stabilito la persistenza, l’avversario esegue movimenti laterali tramite RDP. Per evitare il rilevamento e nascondere le loro tracce agli investigatori forensi, eliminano immediatamente le chiavi di registro che memorizzano la cronologia dei server RDP recentemente connessi.
-
Script di Test Regressione:
# --- PARTE 1: Simulazione di Persistenza --- Write-Host "[+] Simulando la Persistenza via MigAutoPlay..." $PersistencePath = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun" New-ItemProperty -Path $PersistencePath -Name "MigAutoPlay" -Value "C:UsersPublicloader.dll" -PropertyType String -Force # --- PARTE 2: Simulazione Anti-Forense (RDP Cleanup) --- Write-Host "[+] Simulando la Pulizia della Cronologia RDP..." $RDPPath1 = "HKCU:SoftwareMicrosoftTerminal Server ClientDefault" $RDPPath2 = "HKCU:SoftwareMicrosoftTerminal Server ClientServers" # Eliminare le chiavi per simulare la pulizia if (Test-Path $RDPPath1) { Remove-Item -Path $RDPPath1 -Recurse -Force } if (Test-Path $RDPPath2) { Remove-Item -Path $RDPPath2 -Recurse -Force } Write-Host "[!] Simulazione Completa." -
Comandi di Pulizia:
# Pulire la chiave di persistenza creata durante la simulazione Remove-ItemProperty -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun" -Name "MigAutoPlay" -ErrorAction SilentlyContinue # Nota: le chiavi RDP sono gestite dal sistema; non possiamo facilmente ripristinare la cronologia 'eliminata' # tramite script, ma possiamo ricreare le strutture vuote se necessario. New-Item -Path "HKCU:SoftwareMicrosoftTerminal Server ClientDefault" -Force | Out-Null New-Item -Path "HKCU:SoftwareMicrosoftTerminal Server ClientServers" -Force | Out-Null