SOC Prime Bias: Critico

16 Gen 2026 16:25

Come i download di software autentico possono nascondere backdoor remoti

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Segui
Come i download di software autentico possono nascondere backdoor remoti
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sintesi

Gli attaccanti stanno operando un sito di download fittizio di RustDesk (rustdesk.work) che distribuisce un installer trojanizzato: una configurazione legittima di RustDesk associata a un caricatore malevolo soprannominato Winos4.0. Quando eseguito, il dropper impianta logger.exe and Libserver.exe, quindi carica il backdoor in memoria per ridurre i residui sul disco. L’impianto stabilisce un comando e controllo verso 207.56.13.76 su TCP/5666, consentendo l’accesso remoto persistente. Questa attivitĂ  è guidata da ingegneria sociale e impersonificazione del marchio, non da una vulnerabilitĂ  software di RustDesk.

Indagine

Gli analisti hanno ottenuto il binario malevolo rustdesk-1.4.4-x86_64.exe e hanno osservato che scrive un installer legittimo di RustDesk piĂą un logger.exe armato sul disco. Il logger.exe componente genera Libserver.exe, che quindi mette in scena WinosStager DLLs e un ampio payload nella memoria senza persistere quei moduli su disco. La telemetria di rete ha confermato comunicazioni in uscita verso 207.56.13.76:5666, valutato come il canale C2 della campagna. Gli investigatori hanno estratto IOCs chiave, tra cui il dominio falsificato (rustdesk.work), i nomi dei file rilasciati e gli hash dei file associati.

Mitigazione

Enforce verified software acquisition practices and download RustDesk only from the official source (rustdesk.com). TCP/5666, e aggiungi rilevamenti/regole di blocco per le connessioni a rustdesk.work. Blocca 207.56.13.76 e il dominio malevolo attraverso DNS, proxy e controlli del firewall.

Risposta

Crea rilevamenti per l’esecuzione di logger.exe and Libserver.exe, e avvisa su qualsiasi connessione di rete a 207.56.13.76:5666. Caccia proattivamente attraverso gli endpoint per l’installer trojanizzato (e qualsiasi indicatore SHA-256 ) e controlla se RustDesk è stato installato da fonti non approvate. Se il compromesso è confermato, isola gli host interessati, termina l’albero dei processi malevoli, rimuovi gli artefatti correlati e ruota le credenziali potenzialmente esposte (specialmente eventuali account usati durante l’installazione o sessioni remote successive).

“graph TB %% Class definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ffdd99 classDef tool fill:#cccccc classDef operator fill:#ff9900 %% Nodes action_initial_access[“<b>Azione</b> – Accesso Iniziale<br/><b>Tecnica</b>: T1204 Esecuzione Utente”] class action_initial_access action tech_user_execution[“<b>Tecnica</b> – T1204 Esecuzione Utente<br/>La vittima esegue contenuti dannosi”] class tech_user_execution technique tech_malicious_link[“<b>Tecnica</b> – T1204.001 Link Dannoso<br/>Il link porta al download di un installer dannoso”] class tech_malicious_link technique tech_trojanized_installer[“<b>Tecnica</b> – T1204.002 Installer Trojanizzato<br/>L’installer appare legittimo ma contiene un carico utile”] class tech_trojanized_installer technique malware_logger_exe[“<b>Malware</b> – logger.exe<br/>Registra input ed esegue azioni privilegiate”] class malware_logger_exe malware tech_process_masquerade[“<b>Tecnica</b> – T1036.011 Mascheramento<br/>Il nome del processo è falsificato per apparire legittimo”] class tech_process_masquerade technique tech_argument_spoof[“<b>Tecnica</b> – T1564.010 Falsificazione Argomenti<br/>Gli argomenti della riga di comando sono falsificati”] class tech_argument_spoof technique tech_tls_injection[“<b>Tecnica</b> – T1055.005 Iniezione tramite Thread Local Storage<br/>Codice iniettato tramite TLS”] class tech_tls_injection technique tech_appcert_dll[“<b>Tecnica</b> – T1546.009 Esecuzione DLL AppCert<br/>Utilizza DLL AppCert per l’auto-esecuzione”] class tech_appcert_dll technique tech_permission_hijack[“<b>Tecnica</b> – T1574.005 Dirottamento del Flusso di Esecuzione<br/>Sfrutta debolezze nei permessi dei file dell’installer”] class tech_permission_hijack technique action_defense_evasion[“<b>Azione</b> – Elusione della Difesa<br/>Tecniche multiple per evitare il rilevamento”] class action_defense_evasion action action_persistence[“<b>Azione</b> – Persistenza<br/>Stabilisce una permanenza a lungo termine”] class action_persistence action tech_registry_rc[“<b>Tecnica</b> – T1037.004 Script RC nel Registro<br/>Esegue script tramite registro”] class tech_registry_rc technique tech_active_setup[“<b>Tecnica</b> – T1547.014 Configurazione Attiva<br/>Avvio automatico tramite Configurazione Attiva”] class tech_active_setup technique tech_preos_boot[“<b>Tecnica</b> – T1542 Pre-Avvio OS<br/>Aggancia al processo di avvio”] class tech_preos_boot technique action_credential_access[“<b>Azione</b> – Accesso alle Credenziali<br/>Ruba le credenziali utente”] class action_credential_access action tech_keylogging[“<b>Tecnica</b> – T1056.001 Keylogging<br/>Registra i tasti premuti”] class tech_keylogging technique tech_credential_dump[“<b>Tecnica</b> – T1003 Dumping delle Credenziali OS<br/>Estrae gli hash delle password”] class tech_credential_dump technique action_collection[“<b>Azione</b> – Raccolta<br/>Raccolta di dati utente”] class action_collection action tech_screen_capture[“<b>Tecnica</b> – T1113 Acquisizione Schermo<br/>Scatta screenshot”] class tech_screen_capture technique tech_video_capture[“<b>Tecnica</b> – T1125 Acquisizione Video<br/>Registra video”] class tech_video_capture technique tech_audio_capture[“<b>Tecnica</b> – T1123 Acquisizione Audio<br/>Registra audio”] class tech_audio_capture technique action_c2[“<b>Azione</b> – Comando e Controllo<br/>Comunica con server remoto”] class action_c2 action tech_nonstandard_port[“<b>Tecnica</b> – T1571 Porta Non Standard<br/>Utilizza la porta TCP 5666”] class tech_nonstandard_port technique tech_ftp_style[“<b>Tecnica</b> – T1071.002 Protocollo Stile FTP<br/>Codifica il traffico come FTP”] class tech_ftp_style technique tech_port_knocking[“<b>Tecnica</b> – T1205.001 Port Knocking<br/>Segnala C2 tramite sequenza di porte”] class tech_port_knocking technique malware_memory_resident[“<b>Malware</b> – Payload Residente in Memoria<br/>Carica direttamente in RAM”] class malware_memory_resident malware tech_registry_hide[“<b>Tecnica</b> – Configurazione Nascosta nel Registro<br/>Memorizza le impostazioni nel registro”] class tech_registry_hide technique %% Connessioni action_initial_access u002du002d>|utilizza| tech_user_execution tech_user_execution u002du002d>|include| tech_malicious_link tech_user_execution u002du002d>|include| tech_trojanized_installer tech_malicious_link u002du002d>|consegna| malware_logger_exe tech_trojanized_installer u002du002d>|include| malware_logger_exe malware_logger_exe u002du002d>|esegue| tech_process_masquerade malware_logger_exe u002du002d>|esegue| tech_argument_spoof malware_logger_exe u002du002d>|inietta tramite| tech_tls_injection malware_logger_exe u002du002d>|utilizza| tech_appcert_dll malware_logger_exe u002du002d>|sfrutta| tech_permission_hijack malware_logger_exe u002du002d>|abilita| action_defense_evasion action_defense_evasion u002du002d>|stabilisce| action_persistence action_persistence u002du002d>|utilizza| tech_registry_rc action_persistence u002du002d>|utilizza| tech_active_setup action_persistence u002du002d>|utilizza| tech_preos_boot action_defense_evasion u002du002d>|abilita| action_credential_access action_credential_access u002du002d>|utilizza| tech_keylogging action_credential_access u002du002d>|utilizza| tech_credential_dump action_defense_evasion u002du002d>|abilita| action_collection action_collection u002du002d>|cattura| tech_screen_capture action_collection u002du002d>|cattura| tech_video_capture action_collection u002du002d>|cattura| tech_audio_capture action_defense_evasion u002du002d>|abilita| action_c2 action_c2 u002du002d>|comunica tramite| tech_nonstandard_port tech_nonstandard_port u002du002d>|utilizza protocollo| tech_ftp_style action_c2 u002du002d>|utilizza| tech_port_knocking malware_logger_exe u002du002d>|risiede in| malware_memory_resident malware_memory_resident u002du002d>|immagazzina configurazione in| tech_registry_hide “

Flusso d’Attacco

Esecuzione della Simulazione

Prerequisito: Il Controllo Pre‑volo della Telemetria e Baseline deve essere superato.

Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente i TTP identificati e mirare a generare l’esatta telemetria prevista dalla logica di rilevamento.

  • Narrativa dell’Attacco & Comandi:

    1. Consegna & Esecuzione: Un attaccante consegna un installer di RustDesk trojanizzato (rustdesk-1.4.4-x86_64.exe) tramite un’email di phishing. Il file viene salvato in %TEMP% ed eseguito con privilegi elevati.
    2. Rilascio del Payload: All’esecuzione, l’installer estrae due binari malevoli—logger.exe and Libserver.exe—nella stessa directory e li lancia immediatamente come processi figli.
    3. Persistenza (T1546.016): logger.exe scrive una voce di chiave Run (HKCUSoftwareMicrosoftWindowsCurrentVersionRun) che punta a se stesso, assicurando persistenza al riavvio.
    4. Iniezione di Codice (T1574.005 / T1055.005): Libserver.exe inietta un DLL riflessivo in explorer.exe per ottenere un’esecuzione ad alto privilegio e apre una shell inversa al C2 dell’attaccante.
    5. Evasione (Masquerading – T1036.011): Tutti i binari mantengono la convenzione di denominazione “RustDesk” per mimetizzarsi con il software legittimo.
  • Script di Test di Regressione: Lo script di seguito automatizza i passaggi 1‑3, producendo i tre eventi di creazione di processo richiesti. Utilizza PowerShell per copiare binari malevoli preposizionati (simulati con segnaposto benigni per sicurezza) e li avvia con la corretta relazione padre-figlio.

    # -------------------------------------------------
    # Script di Simulazione – Installer di RustDesk Trojanizzato
    # -------------------------------------------------
    # Prerequisito: Due eseguibili segnaposto benigni collocati in C:Malware (denominati logger.exe & Libserver.exe)
    #   In un vero test red-team questi sarebbero i payload malevoli reali.
    # -------------------------------------------------
    
    $installerPath = "$env:TEMPrustdesk-1.4.4-x86_64.exe"
    $payloadDir    = "$env:TEMPrustdesk_payload"
    $loggerPath    = "$payloadDirlogger.exe"
    $libserverPath = "$payloadDirLibserver.exe"
    
    # 1. Distribuire un installer fittizio (semplicemente una copia di un exe benigno)
    Write-Host "[*] Distribuzione di un falso installer RustDesk..."
    New-Item -ItemType Directory -Path $payloadDir -Force | Out-Null
    Copy-Item -Path "C:WindowsSystem32notepad.exe" -Destination $installerPath -Force
    
    # 2. Simulare il rilascio di payload – copiare i binari segnaposto
    Write-Host "[*] Rilasciando payloads..."
    Copy-Item -Path "C:Malwarelogger.exe"    -Destination $loggerPath    -Force
    Copy-Item -Path "C:MalwareLibserver.exe" -Destination $libserverPath -Force
    
    # 3. Eseguire l'installer (crea il processo genitore)
    Write-Host "[*] Eseguendo l'installer..."
    $installer = Start-Process -FilePath $installerPath -PassThru
    
    # 4. Avviare logger.exe come figlio di installer
    Write-Host "[*] Avviando logger.exe (figlio di installer)..."
    Start-Process -FilePath $loggerPath -ArgumentList "--parent $($installer.Id)" -NoNewWindow
    
    # 5. Avviare Libserver.exe come figlio di installer
    Write-Host "[*] Avviando Libserver.exe (figlio di installer)..."
    Start-Process -FilePath $libserverPath -ArgumentList "--parent $($installer.Id)" -NoNewWindow
    
    Write-Host "[+] Simulazione completata. Verifica avvisi in SIEM."
  • Comandi di Pulizia: Rimuovi i file temporanei e termina qualsiasi processo rimanente.

    # -------------------------------------------------
    # Script di pulizia – Rimozione degli artefatti di simulazione
    # -------------------------------------------------
    $installerPath = "$env:TEMPrustdesk-1.4.4-x86_64.exe"
    $payloadDir    = "$env:TEMPrustdesk_payload"
    
    Write-Host "[*] Interruzione dei processi avviati..."
    Get-Process -Name "logger","Libserver","rustdesk-1.4.4-x86_64" -ErrorAction SilentlyContinue |
        Stop-Process -Force
    
    Write-Host "[*] Eliminazione dei file..."
    Remove-Item -Path $installerPath -Force -ErrorAction SilentlyContinue
    Remove-Item -Recurse -Force -Path $payloadDir -ErrorAction SilentlyContinue
    
    Write-Host "[+] Pulizia completata."