SOC Prime Bias: Critico

16 Gen 2026 16:13

Analisi APT Prince of Persia: Malware Infy, Foudre e Tonnerre

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Segui
Analisi APT Prince of Persia: Malware Infy, Foudre e Tonnerre
shield icon

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

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. Utilizzando Copy-Item, duplichiamo notepad.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 con Valori Immagine che terminano in GetFileAttributesA.exe, GetMessageA.exe, e DispatchMessageA.exe. PoichĂ© la condizione della regola è selezione1 o selezione2 sul Valori Immagine campo

  • , 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."