Analisi APT Prince of Persia: Malware Infy, Foudre e Tonnerre
Detection stack
- AIDR
- Alert
- ETL
- Query
Sintesi
Prince of Persia (anche tracciato come APT-C-07) è un attore di cyber-spionaggio allineato con l’Iran, attivo dal 2007. Il gruppo ha riciclato diverse famiglie di malware proprietari—Infy, Foudre, Tonnerre e MaxPinner—per sorvegliare organizzazioni mediatiche, enti politici e obiettivi della societĂ civile. Le operazioni spesso combinano spear-phishing con percorsi di infezione opportunistica e si affidano a metodi di comando e controllo su misura, inclusi canali basati su bot Telegram, per mantenere l’accesso e trasferire dati da sistemi compromessi.
Indagine
Unit 42 e altri team di ricerca hanno tracciato la progressione degli strumenti dell’attore dall’infrastruttura di Infy osservata nel 2016 al ritorno dell’attivitĂ di Foudre nel 2017 e a un’iterazione del 2025 di Tonnerre che utilizza Telegram per il comando e controllo. I report tecnici evidenziano la consegna tramite macro di Visual Basic, la persistenza attraverso l’installazione di servizi Windows e l’uso di logica di generazione di domini per supportare un’infrastruttura resiliente. Gli analisti hanno anche documentato funzionalitĂ native a livello di API di Windows usate per l’accesso alle credenziali e comportamenti di sorveglianza come il keylogging, oltre a modelli di esecuzione che indicano un raffinamento continuo delle tecniche di compromissione post-attacco.
Mitigazione
Applicare controlli rigorosi per le macro di Office e imporre la sanificazione degli allegati e-mail per ridurre le opportunitĂ di esecuzione iniziale. Implementare controlli di rete per limitare o monitorare da vicino il traffico Telegram in ambienti in cui non è richiesto per operazioni aziendali. Sui punti terminali, allertare sulla creazione sospetta di servizi, tracciare l’uso di rundll32 coerente con le catene di esecuzione DLL, e bloccare nomi di file dannosi noti e modelli di persistenza basati su registro. Mantenere aggiornati i contenuti di rilevazione per i modelli di dominio che cambiano dinamicamente associati a comportamenti simili a DGA e validare regolarmente i controlli contro la telemetria attuale.
Risposta
Se vengono rilevati indicatori, isolare il sistema coinvolto, catturare artefatti volatili e ricercare i nomi specifici dei servizi e le voci di registro utilizzate per la persistenza. Espandere il triage alla creazione di task pianificati, all’attivitĂ anomala di caricamento DLL, e a qualsiasi evidenza di comunicazioni C2 basate su Telegram. Rimuovere i servizi dannosi e i file messi in scena utilizzando le playbook di rimedio convalidati, quindi ruotare le credenziali potenzialmente esposte e monitorare attentamente per tentativi di reingresso o reinfezione attraverso host adiacenti.
graph TB %% Class definitions classDef action fill:#99ccff classDef malware fill:#ffcc99 classDef tool fill:#cccccc classDef operator fill:#ff9900 %% Nodes for each step step1[“<b>Azione</b> – <b>T1566.001 Allegato di Spearphishing</b><br/>L’avversario invia un’email mirata con un documento Office dannoso contenente macro.”] class step1 action step2[“<b>Azione</b> – <b>T1059.005 Visual Basic</b><br/>La macro esegue codice VBA che estrae ed esegue il payload Infy/Foudre.”] class step2 action malware_inf[“<b>Malware</b> – <b>Nome</b>: Infy/Foudre<br/><b>Descrizione</b>: Payload distribuito tramite macro di Office.”] class malware_inf malware step3[“<b>Azione</b> – <b>T1204.001 Link dannoso</b><br/>La vittima clicca su un link o apre l’allegato, attivando la macro.”] class step3 action step4[“<b>Azione</b> – <b>T1574.010 Hijacking del flusso di esecuzione per permessi deboli</b><br/>Il malware crea un servizio Windows con permessi modificati per la persistenza.”] class step4 action step5[“<b>Azione</b> – <b>T1027 File o informazioni offuscati</b><br/>Il payload è impacchettato in un archivio autoestraente protetto da password con codifica personalizzata.”] class step5 action step6[“<b>Azione</b> – <b>T1036 Mascheramento</b><br/>I file dannosi sono nominati per sembrare software legittimo come “Cyberlink” o “SnailDriver”.”] class step6 action step7[“<b>Azione</b> – <b>T1056.001 Acquisizione input (Keylogging)</b><br/>Il keylogging viene eseguito tramite hook API di Windows per catturare le credenziali.”] class step7 action step8[“<b>Azione</b> – <b>T1555.003 Credenziali dei browser</b><br/>Ruba password, cookie e cronologia da Chrome, Edge, Firefox e altri browser.”] class step8 action step9[“<b>Azione</b> – <b>T1012 Query del registro</b><br/>Legge HKLM\SOFTWARE\Microsoft\Cryptography\MachineGuid per ottenere l’identificatore del sistema.”] class step9 action step10[“<b>Azione</b> – <b>T1518 Scoperta software</b> e <b>T1518.001 Scoperta software di sicurezza</b><br/>Enumera le applicazioni installate e verifica la presenza di antivirus.”] class step10 action step11[“<b>Azione</b> – <b>T1010 Scoperta finestre applicazioni</b><br/>Enumera le finestre aperte per rilevare strumenti di sicurezza o analisi.”] class step11 action step12[“<b>Azione</b> – <b>T1005 Dati dal sistema locale</b><br/>Raccoglie documenti, immagini e archivi dalle cartelle utente.”] class step12 action op_collect_methods((“AND”)) class op_collect_methods operator step13[“<b>Azione</b> – <b>T1113 Cattura schermo</b>, <b>T1123 Cattura audio</b>, <b>T1125 Cattura video</b>, <b>T1115 Dati clipboard</b><br/>Registra schermo, microfono, webcam e clipboard.”] class step13 action step14[“<b>Azione</b> – <b>T1074.001 Preparazione dati locale</b><br/>Comprimes i file raccolti in archivi ZIP o RAR in posizioni temporanee.”] class step14 action step15[“<b>Azione</b> – <b>T1102.002 Comunicazione bidirezionale tramite servizi web</b><br/>Usa un bot o gruppo Telegram per C2 ed esfiltrazione.”] class step15 action tool_telegram[“<b>Strumento</b> – <b>Nome</b>: Telegram Bot<br/><b>Descrizione</b>: Consente comunicazione C2 bidirezionale via Telegram.”] class tool_telegram tool step16[“<b>Azione</b> – <b>T1568.002 Algoritmi di generazione dinamica dei domini</b><br/>Genera domini C2 basati su valori temporali.”] class step16 action step17[“<b>Azione</b> – <b>T1497 Evasione sandbox di virtualizzazione</b><br/>Rileva strumenti di analisi come Deep Freeze e termina l’esecuzione.”] class step17 action step18[“<b>Azione</b> – <b>T1564 Nascondere artefatti</b><br/>Termina e rinomina processi e file dannosi per evitare il rilevamento.”] class step18 action %% Connections showing the attack flow step1 –>|leads_to| step2 step2 –>|executes| malware_inf malware_inf –>|triggers| step3 step3 –>|leads_to| step4 step4 –>|establishes| step5 step5 –>|enables| step6 step6 –>|enables| step7 step7 –>|provides| step8 step8 –>|provides| step9 step9 –>|provides| step10 step10 –>|provides| step11 step11 –>|provides| step12 step12 –>|feeds| op_collect_methods op_collect_methods –>|combines| step13 step13 –>|feeds| step14 step14 –>|prepares| step15 step15 –>|uses| tool_telegram tool_telegram –>|supports| step16 step16 –>|supports| step17 step17 –>|supports| step18
Flusso di attacco
Rilevamenti
Esecuzione Sospetta Taskkill (via cmdline)
Visualizza
La Riga di Comando Sospetta Contiene il Nome del Browser come Argomento (via cmdline)
Visualizza
Possibile Operazione Manuale o di Scripting Effettuata in Cartelle Insolite (via cmdline)
Visualizza
Possibile Utilizzo di Lame per la Registrazione del Suono (via cmdline)
Visualizza
Possibile Abuso di Telegram come Canale di Comando e Controllo (via dns_query)
Visualizza
Chiamata a Funzioni Sospette API di Windows da Powershell (via powershell)
Visualizza
Possibile Archivio Autoestraente è Stato Creato (via file_event)
Visualizza
IOC (Email) per rilevare: Analisi APT Prince of Persia: Malware Infy, Foudre e Tonnerre
Visualizza
Esecuzione e Evasione Malware Foudre Prince of Persia [Creazione Processo Windows]
Visualizza
Rilevamento del Malware Tonnerre Usando Bot Telegram e Generazione Dinamica di Domini [Connessione di Rete Windows]
Visualizza
Rilevamento Chiamate API Malware Infy [Sysmon Windows]
Visualizza
Esecuzione di Simulazione
Prerequisito: Il Controllo di Telemetria e Baseline Pre-volo deve essere passato.
Motivo: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente le TTP identificate e mirano a generare la telemetria esatta prevista dalla logica di rilevamento.
-
Narrativa dell’Attacco & Comandi:
L’avversario simulato mima il comportamento del malware Infy creando tre eseguibili fittizi i cui nomi corrispondono alle chiamate API che la regola osserva. UtilizzandoCopy-Item, duplichiamonotepad.exe(un binario benigno giĂ presente) nella directory temporanea e lo rinomiamo per corrispondere a ciascuna chiamata API. L’attaccante quindi esegue ciascun binario fittizio, producendo eventi di creazione processi di Sysmon conValori Immagineche terminano inGetFileAttributesA.exe,GetMessageA.exe, eDispatchMessageA.exe. PoichĂ© la condizione della regola èselezione1 o selezione2sulValori Immaginecampo -
, ogni lancio soddisfa la regola e genera un avviso.
# ------------------------------------------------- # Script di Simulazione – Test di Rilevamento Chiamate API Infy # ------------------------------------------------- $tempDir = "$env:TEMPInfySim" New-Item -ItemType Directory -Path $tempDir -Force | Out-Null # Helper: copia notepad.exe con un nuovo nome function Copy-And-Run { param ( [string]$newName ) $src = "$env:SystemRootSystem32notepad.exe" $dst = Join-Path $tempDir $newName Copy-Item -Path $src -Destination $dst -Force Write-Host "Creato $dst" Start-Process -FilePath $dst -WindowStyle Hidden } # Creare ed eseguire binari fittizi che corrispondono ai nomi delle API Copy-And-Run -newName "GetFileAttributesA.exe" Copy-And-Run -newName "GetMessageA.exe" Copy-And-Run -newName "DispatchMessageA.exe" Write-Host "Simulazione completata. Verifica gli avvisi nel SIEM." -
Comandi di Pulizia:
# ------------------------------------------------- # Script di Pulizia – Rimuovere binari simulati # ------------------------------------------------- $tempDir = "$env:TEMPInfySim" # Arrestare eventuali processi fittizi rimanenti Get-Process -Name "GetFileAttributesA","GetMessageA","DispatchMessageA" -ErrorAction SilentlyContinue | Stop-Process -Force # Rimuovere la directory temporanea e il suo contenuto Remove-Item -Path $tempDir -Recurse -Force -ErrorAction SilentlyContinue Write-Host "Pulizia completata."