Wie echte Software-Downloads ferngesteuerte Hintertüren verbergen können
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Angreifer betreiben eine nachahmende RustDesk-Downloadseite (rustdesk.work), die einen trojanisierten Installer bereitstellt: ein legitimes RustDesk-Setup, das mit einem bösartigen Loader namens Winos4.0gebündelt ist. Bei der Ausführung pflanzt der Dropper logger.exe and Libserver.exe, lädt dann das Backdoor im Speicher , um Artefakte auf der Festplatte zu reduzieren. Das Implantat stellt die Verbindung zu Kommando-und-Kontrolle zu 207.56.13.76 über TCP/5666her und ermöglicht einen dauerhaften Fernzugriff. Diese Aktivität wird durch Social Engineering und Markenimitationangetrieben, nicht durch eine RustDesk-Software-Schwachstelle.
Untersuchung
Analysten erhielten die bösartige Binärdatei rustdesk-1.4.4-x86_64.exe und beobachteten, wie es einen legitimen RustDesk-Installer plus einen gefährlichen logger.exe auf die Festplatte schrieb. Der logger.exe Komponente generiert Libserver.exe, der dann WinosStager DLLs und eine große In-Memory-Nutzlast inszeniert, ohne diese Module auf der Festplatte zu speichern. Netzwerktelemetrie bestätigte ausgehende Kommunikation zu 207.56.13.76:5666, bewertet als der Campaign-C2-Kanal. Ermittler extrahierten wichtige IOCs, einschließlich der gefälschten Domain (rustdesk.work), abgelegte Dateinamen und zugehörige Datei-Hashes.
Minderung
Setzen Sie verifizierte Praktiken zur Softwarebeschaffung durch und laden Sie RustDesk nur von der offiziellen Quelle herunter (rustdesk.com). Anwenden von Anwendungs-Allowlisting (oder gleichwertiger Kontrollen), um die Ausführung nicht vertrauenswürdiger Binärdateien zu verhindern, insbesondere von „Installer“-Dateien aus benutzerbeschreibbaren Verzeichnissen. Überwachen und Beschränken des ausgehenden Datenverkehrs zu TCP/5666, und fügen Sie Regeln zur Erkennung und Sperrung für Verbindungen zu rustdesk.workhinzu. Blockieren 207.56.13.76 und die bösartige Domain über DNS-, Proxy- und Firewallsteuerelemente.
Reaktion
Erstellen Sie Erkennungen für die Ausführung von logger.exe and Libserver.exeund alarmieren Sie bei allen Netzwerkverbindungen zu 207.56.13.76:5666. Durchsuchen Sie proaktiv Endpunkte nach dem trojanisierten Installer (und allen verfügbaren SHA-256 Indikatoren) und validieren Sie, ob RustDesk von nicht genehmigten Quellen installiert wurde. Wenn ein Kompromiss bestätigt wird, isolieren Sie die betroffenen Hosts, beenden Sie den bösartigen Prozessbaum, entfernen Sie zugehörige Artefakte und ändern Sie möglicherweise offengelegte Anmeldeinformationen (insbesondere alle während der Installation oder nachfolgenden Fernsteuerungen verwendeten Konten).
„graph TB %% Klassendefinitionen classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ffdd99 classDef tool fill:#cccccc classDef operator fill:#ff9900 %% Knoten action_initial_access[„<b>Aktion</b> – Initialer Zugriff<br/><b>Technik</b>: T1204 Benutzeraktion“] class action_initial_access action tech_user_execution[„<b>Technik</b> – T1204 Benutzeraktion<br/>Opfer führt bösartigen Inhalt aus“] class tech_user_execution technique tech_malicious_link[„<b>Technik</b> – T1204.001 Bösartiger Link<br/>Link führt zum Download eines bösartigen Installers“] class tech_malicious_link technique tech_trojanized_installer[„<b>Technik</b> – T1204.002 Trojanisierter Installer<br/>Installer erscheint legitim, enthält jedoch eine Nutzlast“] class tech_trojanized_installer technique malware_logger_exe[„<b>Malware</b> – logger.exe<br/>Erfasst Eingaben und führt privilegierte Aktionen durch“] class malware_logger_exe malware tech_process_masquerade[„<b>Technik</b> – T1036.011 Maskierung<br/>Prozessname wird manipuliert, um legitim zu erscheinen“] class tech_process_masquerade technique tech_argument_spoof[„<b>Technik</b> – T1564.010 Manipulation von Argumenten<br/>Befehlszeilenargumente werden gefälscht“] class tech_argument_spoof technique tech_tls_injection[„<b>Technik</b> – T1055.005 Thread Local Storage Injection<br/>Code wird über TLS injiziert“] class tech_tls_injection technique tech_appcert_dll[„<b>Technik</b> – T1546.009 AppCert DLL Ausführung<br/>Verwendet AppCert DLLs für die auto-Ausführung“;] class tech_appcert_dll technique tech_permission_hijack[„<b>Technik</b> – T1574.005 Übernahme des Ausführungsflusses<br/>Nutzt Schwächen bei Installer-Dateiberechtigungen aus“] class tech_permission_hijack technique action_defense_evasion[„<b>Aktion</b> – Verteidigungs-Evasion<br/>Mehrere Techniken zur Umgehung der Erkennung“] class action_defense_evasion action action_persistence[„<b>Aktion</b> – Persistenz<br/>Etabliert langfristige Verwurzelung“] class action_persistence action tech_registry_rc[„<b>Technik</b> – T1037.004 Registry RC Scripte<br/>Führt Scripts über die Registry aus“] class tech_registry_rc technique tech_active_setup[„<b>Technik</b> – T1547.014 Aktives Setup<br/>Autostart über Aktives Setup“] class tech_active_setup technique tech_preos_boot[„<b>Technik</b> – T1542 Pre-OS Boot<br/>Hakt sich in den Bootprozess ein“] class tech_preos_boot technique action_credential_access[„<b>Aktion</b> – Zugang zu Berechtigungen<br/>Diebstahl von Benutzerberechtigungen“] class action_credential_access action tech_keylogging[„<b>Technik</b> – T1056.001 Keylogging<br/>Erfasst Tastenanschläge“] class tech_keylogging technique tech_credential_dump[„<b>Technik</b> – T1003 Betriebssystem-Berechtigungsdump<br/>Extrahiert Passwort-Hashes“] class tech_credential_dump technique action_collection[„<b>Aktion</b> – Sammlung<br/>Sammelt Benutzerdaten“] class action_collection action tech_screen_capture[„<b>Technik</b> – T1113 Bildschirmaufnahme<br/>Erstellt Screenshots“] class tech_screen_capture technique tech_video_capture[„<b>Technik</b> – T1125 Videoaufnahme<br/>Nimmt Videos auf“] class tech_video_capture technique tech_audio_capture[„<b>Technik</b> – T1123 Audioaufnahme<br/>Nimmt Audio auf“] class tech_audio_capture technique action_c2[„<b>Aktion</b> – Kommando und Kontrolle<br/>Kommuniziert mit einem entfernten Server“] class action_c2 action tech_nonstandard_port[„<b>Technik</b> – T1571 Nicht-standardisierter Port<br/>Verwendet TCP-Port 5666“] class tech_nonstandard_port technique tech_ftp_style[„<b>Technik</b> – T1071.002 FTP-Stil-Protokoll<br/>Codiert Datenverkehr wie FTP“] class tech_ftp_style technique tech_port_knocking[„<b>Technik</b> – T1205.001 Port Knocking<br/>Signalisiert C2 über Portsequenz“] class tech_port_knocking technique malware_memory_resident[„<b>Malware</b> – Speicherresidentes Payload<br/>Wird direkt in den RAM geladen“] class malware_memory_resident malware tech_registry_hide[„<b>Technik</b> – Versteckte Konfiguration in der Registry<br/>Speichert Einstellungen in der Registry“] class tech_registry_hide technique %% Verbindungen action_initial_access u002du002d>|verwendet| tech_user_execution tech_user_execution u002du002d>|beinhaltet| tech_malicious_link tech_user_execution u002du002d>|beinhaltet| tech_trojanized_installer tech_malicious_link u002du002d>|liefert| malware_logger_exe tech_trojanized_installer u002du002d>|bündelt| malware_logger_exe malware_logger_exe u002du002d>|führt durch| tech_process_masquerade malware_logger_exe u002du002d>|führt durch| tech_argument_spoof malware_logger_exe u002du002d>|injiziert über| tech_tls_injection malware_logger_exe u002du002d>|verwendet| tech_appcert_dll malware_logger_exe u002du002d>|nutzt aus| tech_permission_hijack malware_logger_exe u002du002d>|ermöglicht| action_defense_evasion action_defense_evasion u002du002d>|etabliert| action_persistence action_persistence u002du002d>|verwendet| tech_registry_rc action_persistence u002du002d>|verwendet| tech_active_setup action_persistence u002du002d>|verwendet| tech_preos_boot action_defense_evasion u002du002d>|ermöglicht| action_credential_access action_credential_access u002du002d>|verwendet| tech_keylogging action_credential_access u002du002d>|verwendet| tech_credential_dump action_defense_evasion u002du002d>|ermöglicht| action_collection action_collection u002du002d>|erfasst| tech_screen_capture action_collection u002du002d>|erfasst| tech_video_capture action_collection u002du002d>|erfasst| tech_audio_capture action_defense_evasion u002du002d>|ermöglicht| action_c2 action_c2 u002du002d>|kommuniziert über| tech_nonstandard_port tech_nonstandard_port u002du002d>|verwendet Protokoll| tech_ftp_style action_c2 u002du002d>|verwendet| tech_port_knocking malware_logger_exe u002du002d>|befindet sich in| malware_memory_resident malware_memory_resident u002du002d>|speichert Konfiguration in| tech_registry_hide „
Angriffsablauf
Erkennungen
RustDesk-Protokolldatei wurde erstellt (über file_event)
Ansehen
Mögliche Kommando- und Kontrollaktivität durch Fernzugriff-Software-Domänenkommunikationsversuch (über DNS)
Ansehen
Alternative Fernzugriffs-/Verwaltungssoftware (über process_creation)
Ansehen
IOCs (SourceIP) zu erkennen: Wie echte Softwaredownloads versteckte Hintertüren transportieren können
Ansehen
IOCs (HashSha256) zu erkennen: Wie echte Softwaredownloads versteckte Hintertüren transportieren können
Ansehen
IOCs (DestinationIP) zu erkennen: Wie echte Softwaredownloads versteckte Hintertüren transportieren können
Ansehen
Erkennung von Winos4.0-Netzwerkaktivität über bösartigen Kommando-und-Kontroll-Server [Windows-Netzwerkverbindung]
Ansehen
Trojanisierter RustDesk-Installer mit Winos4.0-Backdoor [Windows-Prozesserstellung]
Ansehen
Simulationsausführung
Voraussetzung: Der Telemetrie- und Grundlagentest muss bestanden sein.
Begründung: Dieser Abschnitt beschreibt die genaue Umsetzung der gegnerischen Technik (TTP), die darauf abzielt, die Erkennungsregel auszulösen. Die Befehle und das Narrativ MÜSSEN die identifizierten TTPs direkt widerspiegeln und das genaue Telemetrieergebnis erzeugen, das von der Erkennungslogik erwartet wird.
-
Angriffserzählung und Befehle:
- Bereitstellung und Ausführung: Ein Angreifer liefert einen trojanisierten RustDesk-Installer (
rustdesk-1.4.4-x86_64.exe) über eine Phishing-E-Mail. Die Datei wird unter%TEMP%gespeichert und mit erhöhten Rechten ausgeführt. - Nutzlast Abwurf: Bei der Ausführung extrahiert der Installer zwei bösartige Binärdateien—
logger.exeandLibserver.exe—in das gleiche Verzeichnis und startet sie sofort als Kindprozesse. - Persistenz (T1546.016):
logger.exeschreibt einen Run-Key-Eintrag (HKCUSoftwareMicrosoftWindowsCurrentVersionRun) und verweist auf sich selbst, was für Persistenz nach einem Neustart sorgt. - Code Injection (T1574.005 / T1055.005):
Libserver.exeinjiziert eine reflektierende DLL inexplorer.exe, um eine hochprivilegierte Ausführung zu erhalten und öffnet eine Rückenschale zum C2 des Angreifers. - Evasion (Maskerade – T1036.011): Alle Binärdateien behalten die „RustDesk“-Namenskonvention, um sich mit legitimer Software zu vermischen.
- Bereitstellung und Ausführung: Ein Angreifer liefert einen trojanisierten RustDesk-Installer (
-
Regressionstest-Skript: Das folgende Skript automatisiert die Schritte 1‑3, wobei die drei erforderlichen Ereignisse zur Prozesserstellung erzeugt werden. Es verwendet PowerShell, um vorab bereitgestellte bösartige Binärdateien zu kopieren (simuliert mit harmlosen Platzhaltern zur Sicherheit) und sie mit der richtigen übergeordneten-Kind-Beziehung zu starten.
# ------------------------------------------------- # Simulationsskript – Trojanisierter RustDesk-Installer # ------------------------------------------------- # Voraussetzung: Zwei harmlose Platzhalter-Executable-Dateien, platziert in C:Malware (benannt logger.exe & Libserver.exe) # In einem echten Red-Team-Test wären diese die eigentlichen bösartigen Nutzlasten. # ------------------------------------------------- $installerPath = "$env:TEMPrustdesk-1.4.4-x86_64.exe" $payloadDir = "$env:TEMPrustdesk_payload" $loggerPath = "$payloadDirlogger.exe" $libserverPath = "$payloadDirLibserver.exe" # 1. Dummy-Installer bereitstellen (einfach eine Kopie einer harmlosen exe) Write-Host "[*] Fake-RustDesk-Installer bereitstellen..." New-Item -ItemType Directory -Path $payloadDir -Force | Out-Null Copy-Item -Path "C:WindowsSystem32notepad.exe" -Destination $installerPath -Force # 2. Nutzlastabwurf simulieren – Platzhalterbinärdateien kopieren Write-Host "[*] Nutzlasten abwerfen..." Copy-Item -Path "C:Malwarelogger.exe" -Destination $loggerPath -Force Copy-Item -Path "C:MalwareLibserver.exe" -Destination $libserverPath -Force # 3. Installer ausführen (erstellt übergeordneten Prozess) Write-Host "[*] Installer ausführen..." $installer = Start-Process -FilePath $installerPath -PassThru # 4. logger.exe als Kind des Installers starten Write-Host "[*] logger.exe als Kind des Installers starten..." Start-Process -FilePath $loggerPath -ArgumentList "--parent $($installer.Id)" -NoNewWindow # 5. Libserver.exe als Kind des Installers starten Write-Host "[*] Libserver.exe als Kind des Installers starten..." Start-Process -FilePath $libserverPath -ArgumentList "--parent $($installer.Id)" -NoNewWindow Write-Host "[+] Simulation vollständig. Überprüfen Sie Alarme im SIEM." -
Aufräumbefehle: Entfernen Sie die temporären Dateien und beenden Sie verbleibende Prozesse.
# ------------------------------------------------- # Bereinigungsskript – Entfernen von Simulationsartefakten # ------------------------------------------------- $installerPath = "$env:TEMPrustdesk-1.4.4-x86_64.exe" $payloadDir = "$env:TEMPrustdesk_payload" Write-Host "[*] Beendigung der gestarteten Prozesse..." Get-Process -Name "logger","Libserver","rustdesk-1.4.4-x86_64" -ErrorAction SilentlyContinue | Stop-Process -Force Write-Host "[*] Löschen von Dateien..." Remove-Item -Path $installerPath -Force -ErrorAction SilentlyContinue Remove-Item -Recurse -Force -Path $payloadDir -ErrorAction SilentlyContinue Write-Host "[+] Bereinigung abgeschlossen."