SOC Prime Bias: Medio

27 May 2026 15:51 UTC

BlackToad Utilizza la Manipolazione di Rete in un Payload AutoIt

Author Photo
SOC Prime Team linkedin icon Segui
BlackToad Utilizza la Manipolazione di Rete in un Payload AutoIt
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sommario

JUMPSEC ha scoperto una campagna di phishing che distribuisce un payload Remcos RAT nascosto all’interno di un crypter AutoIt personalizzato. La catena d’infezione utilizza uno script VBS per eseguire ipconfig /release seguito da ipconfig /renew, interrompendo brevemente la connettività di rete come metodo per eludere il rilevamento. I ricercatori hanno collegato la campagna all’ecosistema e-crime nigeriano, con infrastrutture che si basano su domini DNS dinamici ospitati dietro connessioni ISP mobile.

Indagine

L’indagine ha seguito l’email malevola, decomprimendo l’archivio autoestraente WinRAR e identificando un loader VBS che avviava un interprete AutoIt camuffato. Lo script AutoIt ha successivamente decriptato ed eseguito l’impianto Remcos, mentre la configurazione recuperata ha esposto i domini di comando e controllo, il valore del mutex e una chiave Run di persistenza. I ricercatori hanno mappato l’infrastruttura di supporto a tre domini DNS dinamici e un set rotante di indirizzi IP nigeriani.

Mitigazione

Le organizzazioni dovrebbero bloccare i domini DNS dinamici identificati e gli intervalli di IP associati, monitorare la sequenza sospetta ipconfig /release and ipconfig /renew e rilevare script AutoIt o VBS che generano cmd.exe. Si dovrebbero anche applicare controlli d’esecuzione rigorosi ai file con doppi estensioni fuorvianti, mentre voci di registro Run come WindowsUpdate dovrebbero essere monitorate per abusi.

Risposta

Se quest’attività viene rilevata, isolare immediatamente l’endpoint interessato, terminare il processo Remcos, rimuovere la chiave Run malevola utilizzata per la persistenza ed eseguire una revisione forense completa per il furto di credenziali o attività successive. Anche il contenuto di rilevamento dovrebbe essere aggiornato per identificare la tecnica di blackout della rete e i pattern di nomi di file specifici legati alla campagna.

Flusso di Attacco

Esecuzione Simulazione

Prerequisito: La Verifica Preventiva di Telemetria & Baseline deve essere passata.

Razionale: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e il racconto DEVONO riflettere direttamente i TTP identificati e mirano a generare la telemetria esatta prevista dalla logica di rilevamento. Esempi astratti o non correlati porteranno a misdiagnosi.

  • Narrazione & Comandi di Attacco:

    1. Obiettivo: Stabilire un canale C2 con l’impianto Remcos di BlackToad utilizzando uno dei domini DDNS malevoli noti sulla porta hardcoded 50240.
    2. Passo-passo:
      • Risolvi il dominio malevolo DDNS scelto (pmitm.ddns.net).
      • Apri un socket TCP all’IP risolto sulla porta 50240.
      • Invia un payload minimo di “heartbeat” per emulare la stretta di mano iniziale dell’impianto.
      • Tieni il socket aperto per 30 secondi per garantire che il firewall registri la connessione in uscita.
    3. La connessione in uscita corrisponde esattamente alla regola di Sigma destination.ip elenco e destination.port criteri, producendo un evento di firewall rilevabile.
  • Script di Test di Regressione:

     # Simulazione di comunicazione C2 di BlackToad (PowerShell)
      $c2Domain = "pmitm.ddns.net"      # uno dei domini elencati nella regola
      $c2Port   = 50240
    
      try {
          # Risolvi il dominio in IP (aggiunge telemetria query DNS)
          $ip = [System.Net.Dns]::GetHostAddresses($c2Domain) |
                Where-Object { $_.AddressFamily -eq 'InterNetwork' } |
                Select-Object -First 1
    
          if (-not $ip) { throw "Impossibile risolvere $c2Domain" }
    
          Write-Host "Risolto $c2Domain a $($ip.IPAddressToString). Collegamento..."
    
          # Apri connessione TCP (genera log di uscita firewall)
          $client = New-Object System.Net.Sockets.TcpClient
          $client.Connect($ip, $c2Port)
    
          # Invia un semplice heartbeat (hex 0x01)
          $stream = $client.GetStream()
          $payload = [byte[]](0x01)
          $stream.Write($payload, 0, $payload.Length)
    
          Write-Host "Heartbeat inviato. Connessione mantenuta attiva per 30 secondi..."
          Start-Sleep -Seconds 30
    
          $stream.Close()
          $client.Close()
          Write-Host "Connessione chiusa correttamente."
      }
      catch {
          Write-Error "Simulazione fallita: $_"
      }
  • Comandi di Pulizia:

     # Assicurati che eventuali socket rimanenti siano chiusi
      Get-NetTCPConnection -RemotePort 50240 -State Established |
          ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }
      # Facoltativo: Svuota la cache DNS per rimuovere l'entry DDNS risolta
      ipconfig /flushdns
      Write-Host "Pulizia completata."