Come i download di software autentico possono nascondere backdoor remoti
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
Rilevamenti
File di Registro di RustDesk Creato (via file_event)
Visualizza
AttivitĂ Possibile di Command and Control tramite Tentativo di Comunicazione del Dominio Software di Accesso Remoto (via dns)
Visualizza
Software Alternativo di Accesso/Management Remoto (via process_creation)
Visualizza
IOC (SourceIP) da rilevare: Come i download di software reale possono nascondere backdoor remote
Visualizza
IOC (HashSha256) da rilevare: Come i download di software reale possono nascondere backdoor remote
Visualizza
IOC (DestinationIP) da rilevare: Come i download di software reale possono nascondere backdoor remote
Visualizza
Rilevazione dell’AttivitĂ di Rete di Winos4.0 tramite Server Malevolo di Comando e Controllo [Connessione di Rete di Windows]
Visualizza
Installer di RustDesk Trojanizzato con Backdoor Winos4.0 [Creazione del Processo di Windows]
Visualizza
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:
- 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. - Rilascio del Payload: All’esecuzione, l’installer estrae due binari malevoli—
logger.exeandLibserver.exe—nella stessa directory e li lancia immediatamente come processi figli. - Persistenza (T1546.016):
logger.exescrive una voce di chiave Run (HKCUSoftwareMicrosoftWindowsCurrentVersionRun) che punta a se stesso, assicurando persistenza al riavvio. - Iniezione di Codice (T1574.005 / T1055.005):
Libserver.exeinietta un DLL riflessivo inexplorer.exeper ottenere un’esecuzione ad alto privilegio e apre una shell inversa al C2 dell’attaccante. - Evasione (Masquerading – T1036.011): Tutti i binari mantengono la convenzione di denominazione “RustDesk” per mimetizzarsi con il software legittimo.
- Consegna & Esecuzione: Un attaccante consegna un installer di RustDesk trojanizzato (
-
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."