Wichtigste Erkenntnisse
- Elastic-Benutzer sind vor Angriffen auf die Lieferkette geschützt, die auf die 3CX-Benutzer abzielen
- Wie der Ausführungsablauf funktioniert, wird von Elastic Security Labs und anderen Forschungsteams aktiv untersucht
- Unabhängig von der von Ihnen verwendeten Anti-Malware-Technologie sollten Shellcode- und Prozessinjektionswarnungen für 3CX nicht zu Ausnahmelisten hinzugefügt werden
Präambel
On March 29, 2023, CrowdStrike reported a potential supply-chain compromise affecting 3CX VOIP softphone users as detailed in a Reddit post. Elastic Security Labs continues to monitor telemetry for evidence of threat activity and will provide updates as more evidence becomes available. The earliest period of potentially malicious activity is currently understood to be on or around March 22, 2023 as reported by Todyl.
3CX gibt an, dass es von über 600.000 Unternehmen und über 12.000.000 Benutzern verwendet wird, daher veröffentlicht Elastic Security Labs eine Triage-Analyse, um 3CX-Kunden bei der ersten Erkennung von SUDDENDICON zu unterstützen, mit anschließender Malware- und Intrusion-Analyse, die zu einem späteren Zeitpunkt veröffentlicht werden sollen.
In diesem Informationsupdate stellt Elastic Security Labs Folgendes zur Verfügung: - Potenziell bösartige Domänen, die mit Malware-Aktivitäten verbunden sind - Datei-Hashes für 3CX-Windows- und MacOS-Clients, die betroffen sein können - Elastische Abfragen und vorgefertigte Schutzmaßnahmen, die für diese Aktivität relevant sein können - YARA-Regeln zur Identifizierung der SUDDENICON-Malware
SUDDENICON-Triage-Analyse
Die MSI-Datei des 3CXDesktopApp-Installationsprogramms scheint bösartigen Code zu enthalten, der sieben Tage nach der Installation wartet, bevor er zusätzliche Dateien von GitHub herunterlädt und mit bösartigen Command-and-Control-Domains kommuniziert. Die Clientanwendung schreibt ffmpeg.dll
und d3dcompiler\_47.dll
auf die Festplatte, wobei letztere eine Nutzlast enthält, die wir als SUDDENICON bezeichnen. Beide Bibliotheken in unserer Stichprobe scheinen durch eine Hintertür geschleust worden zu sein. Es ist zu beachten, dass ffmpeg.dll
und d3dcompiler\_47.dll
beide legitime Dateinamen sind und Regeln nicht nur für sie erstellt werden sollten.
Die ffmpeg.dll
Binärdatei extrahiert SUDDENICON aus d3dcompiler\_47.dll
, indem sie die FEEDFACE-Bytesequenz sucht und mit einem statischen RC4-Schlüssel (3jB(2bsG#@c7
) entschlüsselt. Die resultierende Nutzlast wird dann als Nutzlast der zweiten Stufe in den Arbeitsspeicher geladen. Ein Shellcode-Stub, der der Nutzlast vorangestellt ist, die zum Zuordnen in den Speicher verwendet wird, weist Ähnlichkeiten mit APPLEJEUS-Loader-Stubs auf, die mit DPRK verknüpft wurden. Nach erfolgreicher Ausführung schreibt dieser Shellcode-Stub eine neue Datei ( manifest
) auf die Festplatte mit einem Zeitstempel 7 Tagen in der Zukunft, die zur Implementierung eines Timers verwendet wird, nach dem sich die Malware mit der C2-Infrastruktur verbindet.
C2-Domänen werden abgerufen, indem die nachfolgenden Bytes heruntergeladen und base64-decodiert werden, die an Symboldateien angehängt sind, die im Github-Repository von IconStorages bereitgestellt werden (dieses Repository wurde von Github entfernt). Dieses Repository wurde am 8. Dezember 2022 von GitHub ID 120072117
erstellt und zuletzt am 16. März 2023 aktualisiert. Nach der ersten Verbindung mit einem aktiven C2-Server führt die Malware einen POST durch, der eine Computerkennung enthält. Anschließend wird eine neue ausführbare Datei heruntergeladen und entschlüsselt.
Die erste Analyse der neuen ausführbaren Datei scheint ein Informationsdieb zu sein. Wir werden ein Update veröffentlichen, sobald die Analyse abgeschlossen ist.
Der CEO von 3CX hat empfohlen, die Software zu deinstallieren; Eine kleine Anzahl von Beiträgen in Community-Foren beschreibt, wie Sicherheitstools auf potenzielles Malware-Verhalten reagieren, und CrowdStrike und SentinelOne haben erste Informationen veröffentlicht. Es scheint wahrscheinlich, dass die Bedrohung in der Lage war, von Angreifern erstellte bösartige Software über Update-Kanäle einzuführen und ansonsten harmlose Komponenten der 3CXDesktopApp zu überschreiben. Benutzer können sich auch versehentlich selbst infizieren.
Erkennungslogik
Verhütung
- Warnung zur Erkennung von Speicherbedrohungen: Shellcode-Injektion
- Windows.Trojan.SuddenIcon
Suchabfragen
Die Ereignisse für KQL und EQL werden mithilfe der Elastic Defend-Integration mit dem Elastic Agent bereitgestellt. Bei der Suche nach Abfragen können hohe Signale oder falsch positive Ergebnisse zurückgegeben werden. Diese Abfragen werden verwendet, um potenziell verdächtiges Verhalten zu identifizieren, aber eine Untersuchung ist erforderlich, um die Ergebnisse zu validieren.
KQL-Abfragen
Die folgende KQL-Abfrage kann verwendet werden, um 3CX-signierte Software zu identifizieren, die die Namensauflösung von raw.githubusercontent.com durchführt: Wo bösartige Anwendungen im Zusammenhang mit dieser Bedrohung bereitgestellt wurden:
process.name : "3CXDesktopApp.exe" and dns.question.name : "raw.githubusercontent.com"
Die folgende KQL-Abfrage kann verwendet werden, um mehrere hostbasierte Indikatoren für diese Aktivität zu identifizieren:
dll.hash.sha256 : "7986bbaee8940da11ce089383521ab420c443ab7b15ed42aed91fd31ce833896" or dll.hash.sha256 : "c485674ee63ec8d4e8fde9800788175a8b02d3f9416d0e763360fff7f8eb4e02"
EQL-Abfragen
Wenn Sie den Abschnitt "Zeitleiste" der Sicherheitslösung in Kibana auf der Registerkarte "Korrelation" verwenden, können Sie die folgenden EQL-Abfragen verwenden, um nach ähnlichen Verhaltensweisen zu suchen.
Die folgende EQL-Abfrage kann verwendet werden, um ein Profil von 3CX-Software und untergeordneter Software zu erstellen:
any where process.code_signature.subject_name == "3CX Ltd" or process.parent.code_signature.subject_name == "3CX Ltd"
Die folgende EQL-Abfrage kann verwendet werden, um 3CX-signierte Software zu identifizieren, die die Namensauflösung von raw.githubusercontent.com durchführt: Wo bösartige Anwendungen im Zusammenhang mit dieser Bedrohung bereitgestellt wurden:
network where process.code_signature.subject_name == "3CX Ltd" and dns.question.name == “raw.githubusercontent.com”
Die folgende EQL-Abfrage kann verwendet werden, um Dateien zu identifizieren, die vom 3CXDesktopApp-Client geschrieben wurden:
file where event.type == "creation" and (host.os.type == "windows" and file.path : "*:\\Users\\*\\AppData\\Local\\Programs\\C3XDesktopApp\\app\\*" and file.name : ("manifest")) or (host.os.type == "macos" and file.path : "*/Library/Application Support/3CX Desktop App/" and file.name : ("UpdateAgent", ".main_storage", ".session-lock")
Die folgende EQL-Abfrage kann verwendet werden, um mehrere hostbasierte Indikatoren für diese Aktivität zu identifizieren:
sequence by host.name, process.entity_id[process where process.code_signature.subject_name:"3CX Ltd"][library where dll.hash.sha256:"c485674ee63ec8d4e8fde9800788175a8b02d3f9416d0e763360fff7f8eb4e02","7986bbaee8940da11ce089383521ab420c443ab7b15ed42aed91fd31ce833896"][network where dns.question.name:"raw.githubusercontent.com"]
Die folgende EQL-Abfrage kann verwendet werden, um diese Aktivität zu identifizieren, wenn die DLL aktualisiert wird:
library where process.code_signature.subject_name : "3CX Ltd" and not dll.code_signature.trusted == true and not startswith~(dll.name, process.name) and /* DLL loaded from the process.executable directory */ endswith~(substring(dll.path, 0, length(dll.path) - (length(dll.name) + 1)), substring(process.executable, 0, length(process.executable) - (length(process.name) + 1)))
YARA
Elastic Security Labs hat zwei YARA-Signaturen für den bösartigen Shellcode veröffentlicht, den wir als SUDDENICON bezeichnen.
Abwehrempfehlungen
Kunden von Elastic Endgame und Elastic Endpoint mit aktiviertem Shellcode-Schutz im Präventionsmodus blockierten die Ausführung von SUDDENICON, obwohl kompromittierte Client-Software möglicherweise entfernt werden muss. Aufgrund des verzögerten Shellcode-Abrufs und der verzögerten Injektion von Shellcodes werden 3CXDesktopApp-Benutzern möglicherweise erst nach Ablauf des Schlafintervalls (ca. 7 Tage) Warnungen angezeigt. Kunden, die Shellcode-Schutzmaßnahmen im Nur-Erkennungsmodus verwenden, sollten die Prävention aktivieren, um das Infektionsrisiko zu verringern. Erstellen Sie keine Ausnahmen für diese Warnungen.
Referenzen
The following were referenced throughout the above research: - https://www.reddit.com/r/crowdstrike/comments/125r3uu/20230329_situational_awareness_crowdstrike/ - https://www.sentinelone.com/blog/smoothoperator-ongoing-campaign-trojanizes-3cx-software-in-software-supply-chain-attack/ - https://www.todyl.com/blog/post/threat-advisory-3cx-softphone-telephony-campaign
Indikatoren
Potenziell bösartige Domains
Fett gedruckte Domänen deuten darauf hin, dass sie in unserer Analyse beobachtet wurden.
- akamaicontainer[.]com
- akamaitechcloudservices[.]com
azuredeploystore[.]com
- azureonlinecloud[.]com
- azureonlinestorage[.]com
- dunamistrd[.]com
- glcloudservice[.]com
- journalide[.]org
msedgepackageinfo[.]com
- msstorageazure[.]com
msstorageboxes[.]com
officeaddons[.]com
officestoragebox[.]com
- pbxcloudeservices[.]com
- pbxphonenetwork[.]COM
- pbxsources[.]com
- qwepoi123098[.]com
- sbmsa[.]wiki
sourceslabs[.]com
visualstudiofactory[.]com
zacharryblogs[.]com
Potenziell betroffene 3CXDesktopApp-Versionen und -Hashes:
Client-Hash: dde03348075512796241389dfea5560c20a3d2a2eac95c894e7bbed5e85a0acc
Betriebssystem: Windows Installer-Hash: aa124a4b4df12b34e74ee7f6c683b2ebec4ce9a8edcf9be345823b4fdcf5d868
Dateiname des Installers: 3cxdesktopapp-18.12.407.msi
Client-Hash: fad482ded2e25ce9e1dd3d3ecc3227af714bdfbbde04347dbc1b21d6a3670405
Betriebssystem: Windows Installer-Hash: 59e1edf4d82fae4978e97512b0331b7eb21dd4b838b850ba46794d9c7a2c0983
Dateiname des Installers: 3cxdesktopapp-18.12.416.msi
Client-Hash: 92005051ae314d61074ed94a52e76b1c3e21e7f0e8c1d1fdd497a006ce45fa61
Betriebssystem: macOS Installer-Hash: 5407cda7d3a75e7b1e030b1f33337a56f293578ffa8b3ae19c671051ed314290
Dateiname des Installers: 3CXDesktopApp-18.11.1213.dmg
Client-Hash: b86c695822013483fa4e2dfdf712c5ee777d7b99cbad8c2fa2274b133481eadb
Betriebssystem: macOS Installer-Hash: e6bbc33815b9f20b0cf832d7401dd893fbc467c800728b5891336706da0dbcec
Dateiname des Installers: 3cxdesktopapp-latest.dmg