SOC Prime Bias: Critico

21 Gen 2026 19:10

Operazione Accesso Nascosto: Spear-Phishing Basato su LNK Mirato al Settore Giudiziario Argentino per Distribuire un RAT Nascosto

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Segui
Operazione Accesso Nascosto: Spear-Phishing Basato su LNK Mirato al Settore Giudiziario Argentino per Distribuire un RAT Nascosto
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sommario

Seqrite ha identificato un’operazione di spear-phishing che consegna un collegamento LNK armato associato a un caricatore BAT malevolo. Una volta eseguito, il caricatore scarica un trojan di accesso remoto basato su Rust da un repository GitHub, dove esegue controlli anti-analisi e stabilisce un canale di comando e controllo resiliente. L’attivitĂ  è valutata come mirata alle organizzazioni giudiziarie dell’Argentina e alle entitĂ  governative adiacenti. Per aumentare la probabilitĂ  di esecuzione, gli aggressori includono contenuti esca PDF dall’aspetto legittimo nel pacchetto di consegna.

Indagine

Gli analisti hanno esaminato l’archivio ZIP contenente i file LNK, BAT e PDF, quindi hanno ricostruito la sequenza di comandi PowerShell usata per attivare il caricatore BAT. Hanno profilato la funzionalitĂ  del RAT, inclusi i controlli anti-VM/anti-sandbox, il riconoscimento degli host e la fingerprinting del sistema, la configurazione della persistenza e la gestione criptata delle attivitĂ  su C2. I comportamenti osservati sono stati mappati sulle tecniche MITRE ATT&CK rilevanti, con schemi notevoli come il mascheramento, il bypass delle politiche di esecuzione di PowerShell e la logica C2 secondaria/di riserva per mantenere la connettivitĂ  se i canali primari falliscono.

Mitigazione

Applica una governance rigorosa per l’esecuzione di collegamenti LNK, in particolare da posizioni scrivibili dall’utente e archivi compressi, e applica politiche di esecuzione PowerShell rafforzate con logging centralizzato. Restringi o proxi l’accesso in uscita a repository GitHub non autorizzati, e allerta sui modelli sospetti di download e esecuzione originati da interpreti di script. Monitora la persistenza tramite chiavi di registro Run o attivitĂ  pianificate con nomi anomali o recentemente osservati. Ove possibile, implementa rilevamenti che evidenziano comportamenti comuni anti-analisi e garantisci che gli utenti che gestiscono PDF operino con i privilegi minimi per ridurre il raggio di esplosione di un’esecuzione riuscita.

Risposta

Attiva avvisi quando viene creato o eseguito il LNK armato e quando viene osservata la catena di invocazioni PowerShell associata. Caccia proattivamente l’oggetto msedge_proxy.exe rilasciato e qualsiasi voce di persistenza collegata nel registro o nel pianificatore di attivitĂ . Isola gli endpoint interessati, termina l’albero dei processi malevoli e rimuovi eventuali attivitĂ  pianificate create e valori delle chiavi Run. Completa una revisione forense completa per convalidare l’ambito, confermare se i dati sono stati messi in scena o esfiltrati, e identificare eventuali host aggiuntivi esposti allo stesso modello di consegna ZIP/LNK.

“graph TB %% Class definitions classDef action fill:#99ccff classDef artifact fill:#cccccc classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef operator fill:#ff9900 %% Nodes artifact_email_zip[“<b>Artifact</b> – Email ZIP Malevolo<br/><b>Contenuto</b>: Contiene file LNK e PDF esca.”] class artifact_email_zip artifact artifact_lnk[“<b>Artifact</b> – File LNK (info/juicio-grunt-posting.pdf.lnk)<br/><b>Tecnica</b>: T1027.012 Icon Smuggling”] class artifact_lnk artifact attack_initial_access[“<b>Azione</b> – T1566.001 Allegato Spearphishing<br/><b>Descrizione</b>: Consegna di ZIP malevolo via email.”] class attack_initial_access action attack_user_execution[“<b>Azione</b> – T1204.002 Esecuzione File Malevolo<br/><b>Descrizione</b>: L’utente clicca sul LNK mascherato da PDF.”] class attack_user_execution action defense_evasion_icon[“<b>Azione</b> – T1027.012 Icon Smuggling LNK<br/><b>Descrizione</b>: LNK utilizza un’icona PDF per camuffarsi.”] class defense_evasion_icon action execution_powershell[“<b>Azione</b> – T1059.001 PowerShell & T1059.003 Windows Command Shell<br/><b>Descrizione</b>: LNK lancia PowerShell con bypass e finestra nascosta, eseguendo un loader BAT.”] class execution_powershell action defense_evasion_obfusc[“<b>Azione</b> – T1027 Comandi Offuscati/Codificati<br/><b>Descrizione</b>: Comando PowerShell e messaggi C2 sono codificati in Base64u2011.”] class defense_evasion_obfusc action artifact_bat[“<b>Artifact</b> – health-check.bat<br/><b>Scopo</b>: Scarica e salva msedge_proxy.exe.”] class artifact_bat artifact malware_rust_rat[“<b>Malware</b> – msedge_proxy.exe (Rust RAT)<br/><b>Tecniche</b>: T1497.001 Evasione Virtualizzazione/Sandbox, T1622 Evasione Debugger, T1547.001 Chiavi Registro di Run, T1053.005 Task Pianificato”] class malware_rust_rat malware defense_evasion_sandbox[“<b>Azione</b> – T1497.001 Evasione Virtualizzazione/Sandbox & T1622 Evasione Debugger<br/><b>Descrizione</b>: Controlla registro, driver, prefissi MAC, cartelle sandbox, IsDebuggerPresent.”] class defense_evasion_sandbox action persistence_registry[“<b>Azione</b> – T1547.001 Chiavi di Run del Registro/Cartella Avvio<br/><b>Descrizione</b>: Crea voci HKCU Run per la persistenza.”] class persistence_registry action persistence_task[“<b>Azione</b> – T1053.005 Task Pianificato<br/><b>Descrizione</b>: Registra un task pianificato via schtasks con esecuzione ritardata.”] class persistence_task action discovery_system[“<b>Azione</b> – T1082 Scoperta Informazioni di Sistema<br/><b>Descrizione</b>: Raccoglie hostname, nome utente, versione OS, livello di privilegio.”] class discovery_system action discovery_process[“<b>Azione</b> – T1057 Scoperta Processi<br/><b>Descrizione</b>: Esegue tasklist per rilevare strumenti di analisi e processi VM.”] class discovery_process action collection_local[“<b>Azione</b> – T1005 Dati dal Sistema Locale<br/><b>Descrizione</b>: Raccoglie file per l’esfiltrazione.”] class collection_local action c2_app_layer[“<b>Azione</b> – T1071 Protocollo di Livello Applicativo & T1573 Canale Cifrato<br/><b>Descrizione</b>: Comunica con il server C2 su HTTP(S) utilizzando payload cifrati.”] class c2_app_layer action c2_encoding[“<b>Azione</b> – T1132.001 Codifica Dati (Base64)<br/><b>Descrizione</b>: Tutti i comandi C2 sono codificati Base64u2011.”] class c2_encoding action exfiltration[“<b>Azione</b> – T1041 Esfiltrazione tramite Canale C2<br/><b>Descrizione</b>: Invia dati raccolti tramite lo stesso canale C2.”] class exfiltration action %% Flow connections artifact_email_zip u002du002d>|contiene| artifact_lnk artifact_email_zip u002du002d>|consegna| attack_initial_access attack_initial_access u002du002d>|porta a| attack_user_execution attack_user_execution u002du002d>|attiva| defense_evasion_icon defense_evasion_icon u002du002d>|porta a| execution_powershell execution_powershell u002du002d>|esegue| artifact_bat artifact_bat u002du002d>|scarica| malware_rust_rat malware_rust_rat u002du002d>|esegue| defense_evasion_sandbox defense_evasion_sandbox u002du002d>|stabilisce| persistence_registry persistence_registry u002du002d>|aggiunge| persistence_task persistence_task u002du002d>|abilita| discovery_system discovery_system u002du002d>|fornisce| discovery_process discovery_process u002du002d>|raccoglie| collection_local collection_local u002du002d>|invia a| c2_app_layer c2_app_layer u002du002d>|utilizza| c2_encoding c2_encoding u002du002d>|trasporta| exfiltration %% Apply classes class artifact_email_zip,artifact_lnk,artifact_bat artifact class attack_initial_access,attack_user_execution,defense_evasion_icon,execution_powershell,defense_evasion_obfusc,defense_evasion_sandbox,persistence_registry,persistence_task,discovery_system,discovery_process,collection_local,c2_app_layer,c2_encoding,exfiltration action class malware_rust_rat malware “

Flusso di Attacco

Esecuzione di Simulazione

Prerequisito: Il Controllo di Telemetria e Baseline Pre-Volato deve essere superato.

Motivazione: 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 i TTP identificati e mirare a generare la telemetria esatta attesa dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.

  • Narrazione dell’Attacco & Comandi:

    1. Compromissione Iniziale: L’attaccante invia un’email di spear-phishing con un .lnk scorciatoia mirata a un dipendente giudiziario. La scorciatoia punta a un comando PowerShell che si esegue con -ExecutionPolicy Bypass e una finestra nascosta per evitare sospetti.

    2. Flusso di Esecuzione: Quando l’utente clicca sulla scorciatoia, Windows esegue il seguente comando, che lancia health-check.bat. Il file batch contiene il payload malevolo reale (ad esempio, un downloader PowerShell che recupera un RAT).

       powershell.exe -ep bypass -w hidden -f health-check.bat
    3. Consegna del Payload: health-check.bat esegue un silenzioso HTTP GET a un C2 malevolo, scrive il payload su %TEMP%, ed esegue il payload.

  • Script di Test di Regressione: Lo script qui sotto riproduce la stessa telemetria creando health-check.bat con contenuto innocuo (per mantenere il test sicuro) e quindi invocando il comando PowerShell.

    # -------------------------------------------------
    # Script di Simulazione – Esecuzione PowerShell LNK Armato
    # -------------------------------------------------
    # 1. Crea un health-check.bat vuoto (innocuo per il test)
    $batPath = "$env:TEMPhealth-check.bat"
    Set-Content -Path $batPath -Value '@echo off & echo Simulated payload executed' -Encoding ASCII
    
    # 2. Esegui PowerShell con i flag esatti e il nome dello script
    $psCommand = "powershell.exe -ep bypass -w hidden -f `"$batPath`""
    Write-Host "Esecuzione: $psCommand"
    Start-Process -FilePath "powershell.exe" -ArgumentList "-ep", "bypass", "-w", "hidden", "-f", $batPath -NoNewWindow
    
    # 3. Aspetta qualche secondo per assicurare che i log siano generati
    Start-Sleep -Seconds 5
    # -------------------------------------------------
  • Comandi di Pulizia: Rimuovi il file batch di test e qualsiasi processo rimasto.

    # Pulisci il laurd-ddfeg-viewport-keymeth-check.bat
    Remove-Item -Path "$env:TEMPhealth-check.bat" -ErrorAction SilentlyContinue
    
    # Assicurati che non vi siano istanze di PowerShell residue dal test
    Get-Process -Name "powershell" -ErrorAction SilentlyContinue | Stop-Process -Force