Attacco Malware che Mira ai Server MS‑SQL per Distribuire ICE Cloud Scanner (Larva-26002)
Detection stack
- AIDR
- Alert
- ETL
- Query
Riepilogo
L’attore di minaccia Larva-26002 prende di mira ripetutamente i server MS-SQL esposti tramite attacchi di forza bruta. Una volta ottenuto l’accesso, l’attaccante utilizza strumenti come BCP, Curl o Bitsadmin per scaricare e scrivere uno scanner basato su Go noto come ICE Cloud Client. Questo scanner si connette a un server di comando e controllo, riceve credenziali per ulteriori server SQL e può infine facilitare il dispiegamento di famiglie di ransomware come Trigona o Mimic.
Indagine
AhnLab ha documentato l’abuso dell’utilità BCP per estrarre un binario dannoso da una tabella di database e salvarlo come C:\ProgramData\api.exe. I ricercatori hanno anche osservato metodi di download alternativi utilizzando Curl e Bitsadmin. ICE Cloud Launcher si autentica quindi al server C2, recupera elenchi e credenziali di destinazione, e inizia a forzare altri server SQL. La campagna ha anche introdotto strumenti di accesso remoto come AnyDesk e Teramind.
Mitigazione
Le organizzazioni dovrebbero richiedere password forti e uniche per gli account SQL, prevenire servizi SQL esposti a internet e limitare rigorosamente l’accesso RDP. SQL Server e i relativi componenti dovrebbero essere completamente patchati, mentre i team di sicurezza dovrebbero monitorare l’uso inconsueto di BCP, Curl o Bitsadmin. La segmentazione della rete e il rilevamento delle intrusioni dovrebbero essere utilizzati anche per identificare comunicazioni in uscita sospette verso infrastrutture note come dannose.
Risposta
Se viene rilevata questa attività, isolare l’host interessato, preservare artefatti forensi come api.exe e la cronologia comandi, e cercare nell’ambiente comportamenti simili di BCP o downloader. Bloccare gli IP e i domini dannosi, reimpostare le credenziali SQL compromesse e rimuovere eventuali strumenti di amministrazione remota distribuiti. Una completa revisione di risposta agli incidenti dovrebbe quindi determinare se è avvenuta la preparazione o il dispiegamento del ransomware.
"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef technique fill:#cccccc classDef malware fill:#ff9999 classDef operator fill:#ff9900 %% Nodes action_initial_access["<b>Azione</b> – <b>T1110.003 Forza Bruta: Spruzzatura delle Password</b><br/>L’attaccante forza bruta i servizi MSu2011SQL esposti per ottenere credenziali."] class action_initial_access action tool_mssql["<b>Strumento</b> – <b>Nome</b>: Microsoft SQL Server<br/><b>Scopo</b>: Servizio bersaglio per furto di credenziali"] class tool_mssql tool tech_valid_accounts["<b>Tecnica</b> – <b>T1078 Account Validi</b><br/>Uso delle credenziali ottenute per accedere ai server SQL"] class tech_valid_accounts technique tech_cmd_shell["<b>Tecnica</b> – <b>T1059.003 Shell di Comando Windows</b><br/>Esegui comandi di sistema (hostname, whoami, ifconfig, netstat, tasklist)"] class tech_cmd_shell technique tech_network_config["<b>Tecnica</b> – <b>T1016 Scoperta di Configurazione della Rete di Sistema</b>"] class tech_network_config technique tech_network_conn["<b>Tecnica</b> – <b>T1049 Scoperta delle Connessioni di Rete di Sistema</b>"] class tech_network_conn technique tech_process_disc["<b>Tecnica</b> – <b>T1057 Scoperta dei Processi</b>"] class tech_process_disc technique tool_curl["<b>Strumento</b> – <b>Nome</b>: curl<br/><b>Scopo</b>: Scaricare payload dannoso"] class tool_curl tool tool_bitsadmin["<b>Strumento</b> – <b>Nome</b>: bitsadmin<br/><b>Scopo</b>: Scaricare payload dannoso"] class tool_bitsadmin tool tool_bcp["<b>Strumento</b> – <b>Nome</b>: BCP (Bulk Copy Program)<br/><b>Scopo</b>: Esportare dati binari per creare api.exe"] class tool_bcp tool tech_masquerade["<b>Tecnica</b> – <b>T1036.003 Mascheramento: Rinomina delle Utilità di Sistema</b><br/>Payload mascherato come programma legittimo"] class tech_masquerade technique malware_api["<b>Malware</b> – <b>Nome</b>: api.exe<br/><b>Funzione</b>: ICE Cloud Launcher C2 agent"] class malware_api malware tech_c2_web["<b>Tecnica</b> – <b>T1071.001 Protocolli Web</b><br/>Comunicazione C2 su HTTP"] class tech_c2_web technique tech_c2_websvc["<b>Tecnica</b> – <b>T1102.002 Servizio Web: Risolutore Dead Drop</b>"] class tech_c2_websvc technique action_lateral_movement["<b>Azione</b> – <b>T1078 Account Validi</b><br/>Uso delle credenziali per autenticarsi a ulteriori server MSSQL"] class action_lateral_movement action tech_exploit_remote["<b>Tecnica</b> – <b>T1210 Sfruttamento dei Servizi Remoti</b><br/>Port forwarding o RDP per movimento laterale"] class tech_exploit_remote technique tool_anydesk["<b>Strumento</b> – <b>Nome</b>: AnyDesk<br/><b>Scopo</b>: Controllo remoto"] class tool_anydesk tool tool_teramind["<b>Strumento</b> – <b>Nome</b>: Teramind<br/><b>Scopo</b>: Monitoraggio remoto"] class tool_teramind tool action_data_exfil["<b>Azione</b> – <b>Raccolta ed Esfiltrazione Dati</b><br/>Scansione ed esfiltrazione di dati di configurazione"] class action_data_exfil action %% Connections action_initial_access –>|bersagli| tool_mssql tool_mssql –>|abilita| tech_valid_accounts tech_valid_accounts –>|permette| tech_cmd_shell tech_cmd_shell –>|raccolta| tech_network_config tech_cmd_shell –>|raccolta| tech_network_conn tech_cmd_shell –>|raccolta| tech_process_disc tech_cmd_shell –>|scarica payload usando| tool_curl tech_cmd_shell –>|scarica payload usando| tool_bitsadmin tech_cmd_shell –>|usa| tool_bcp tool_bcp –>|crea| malware_api malware_api –>|si maschera come| tech_masquerade malware_api –>|comunica tramite| tech_c2_web malware_api –>|usa| tech_c2_websvc malware_api –>|abilita| action_lateral_movement action_lateral_movement –>|sfrutta| tech_exploit_remote tech_exploit_remote –>|installa| tool_anydesk tech_exploit_remote –>|installa| tool_teramind tool_anydesk –>|facilita| action_data_exfil tool_teramind –>|facilita| action_data_exfil "
Flusso di Attacco
Rilevazioni
Possibile Enumerazione dei Servizi (tramite cmdline)
Visualizza
Possibile Scoperta della Configurazione della Rete di Sistema (tramite cmdline)
Visualizza
Tentativo di Esecuzione Sospetto di SQL Bulk Copy Tool (tramite cmdline)
Visualizza
Download Sospetto di File con IP Diretto (tramite proxy)
Visualizza
Uso Sospetto di CURL (tramite cmdline)
Visualizza
Possibile Enumerazione dei Processi di Sistema (tramite cmdline)
Visualizza
Possibile Esecuzione di Comandi tramite Stored Procedure Estesa SQL xp_cmdshell (tramite cmdline)
Visualizza
Possibile Enumerazione di Sistema (tramite cmdline)
Visualizza
Possibile Enumerazione o Manipolazione degli Account o dei Gruppi (tramite cmdline)
Visualizza
IOC (SourceIP) da rilevare: Attacco Malware che Prende di Mira i Server MS‐SQL per Distribuire lo Scanner ICE Cloud (Larva-26002)
Visualizza
IOC (DestinationIP) da rilevare: Attacco Malware che Prende di Mira i Server MS‐SQL per Distribuire lo Scanner ICE Cloud (Larva-26002)
Visualizza
IOC (HashMd5) da rilevare: Attacco Malware che Prende di Mira i Server MS‐SQL per Distribuire lo Scanner ICE Cloud (Larva-26002)
Visualizza
Creazione ed Esecuzione di Malware sui Server MS-SQL [Creazione Processo Windows]
Visualizza
Esecuzione della Simulazione
Prerequisito: Il Controllo Pre-volo di Telemetria e Baseline deve essere superato.
Motivazione: Questa sezione dettagli la precisa esecuzione 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 errori di diagnosi.
-
Narrazione dell’Attacco & Comandi:
- Ricognizione sull’host SQL compromesso – L’attaccante enumera l’identità dell’host e le interfacce di rete attive utilizzando
nome hostandnetstat -an. - Preparazione al movimento laterale – L’attaccante elenca i processi in esecuzione per verificare che
sqlservr.exesia presente, confermando che l’obiettivo è un server SQL. - Download di malware tramite utilità nativa – Utilizzando
bcp.exe, l’attaccante abusa della capacità dell’utilità di invocare un programma esterno (-eswitch) per scaricare un payload dannoso (api.exe) da un server C2 remoto. - Esecuzione del payload – Il
api.exescaricato viene avviato, stabilendo persistenza.
- Ricognizione sull’host SQL compromesso – L’attaccante enumera l’identità dell’host e le interfacce di rete attive utilizzando
-
Script di Test di Regressione: (PowerShell – completamente auto-contenuto)
# ------------------------------------------------------------ # Attacco simulato contro un host Windows SQL Server # ------------------------------------------------------------ $tempDir = "$env:TEMPlarva26002" New-Item -Path $tempDir -ItemType Directory -Force | Out-Null # 1. Raccolta delle informazioni di sistema (attiva selection_info) hostname whoami netstat -an tasklist /FI "IMAGENAME eq sqlservr.exe" /FO CSV /NH # 2. Scarica payload dannoso usando BCP (attiva selection_malware) # Simula un file remoto creando un exe fittizio localmente $maliciousExe = "$tempDirapi.exe" Set-Content -Path $maliciousExe -Value "FakeMalware" -Encoding ASCII # Comando BCP che chiama il "api.exe" tramite lo switch -e (esecuzione di programma esterno) $bcpCmd = @" bcp "SELECT TOP (1) name FROM master.dbo.spt_values" queryout NUL -c -t, -S localhost -T -e "$maliciousExe" "@ Invoke-Expression $bcpCmd # 3. Esegui il payload (ulteriore processo osservabile) Start-Process -FilePath $maliciousExe -WindowStyle Hidden # Ritardo di pulizia (permite al SIEM di ingerire) Start-Sleep -Seconds 10 -
Comandi di Pulizia:
# Rimuove i file temporanei e interrompe eventuali processi fasulli in sospeso Stop-Process -Name "api" -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPlarva26002" -Recurse -Force