Hinterhältige Kryptojacking-Malware für macOS in raubkopierten Apps entdeckt

In den letzten Monaten hat Jamf Threat Labs eine Malware-Familie verfolgt, die wieder aufgetaucht ist und unentdeckt operiert, obwohl eine frühere Version der Sicherheitsgemeinschaft bekannt war. In diesem Artikel werden wir diese Malware untersuchen und einen Einblick in das andauernde Wettrüsten zwischen Malware-Autor*innen und Sicherheitsforscher*innen geben sowie die Notwendigkeit verbesserter Sicherheitsvorkehrungen für Apple Geräte aufzeigen, um deren sichere und effektive Nutzung in Produktionsumgebungen zu gewährleisten.

April 24 2023 Von

Jamf Threat Labs

Geschrieben von Matt Benyo

Recherchiert von Matt Benyo, Ferdous Saljooki und Jaron Bradley

Bei der routinemäßigen Überwachung unserer Bedrohungserkennungen in freier Wildbahn stießen wir auf eine Warnung, die auf die Verwendung von XMRig hinwies, einem Befehlszeilen-Tool zum Krypto-Mining. XMRig wird zwar häufig für legitime Zwecke verwendet, aber sein anpassungsfähiges Open-Source-Design hat es auch zu einer beliebten Wahl für böswillige Akteur*innen gemacht. Dieser spezielle Fall war für uns von Interesse, da er unter dem Deckmantel der von Apple entwickelten Videobearbeitungssoftware Final Cut Pro ausgeführt wurde. Weitere Untersuchungen ergaben, dass diese bösartige Version von Final Cut Pro eine von Apple nicht autorisierte Modifikation enthielt, die XMRig im Hintergrund ausführte. Zum Zeitpunkt unserer Entdeckung wurde dieses spezielle Muster von keinem Sicherheitsanbieter auf VirusTotal als bösartig erkannt. Seit Januar 2023 haben eine Handvoll Anbieter*innen die Malware entdeckt. Viele der bösartigen Apps werden jedoch von den meisten Anbieter*innen weiterhin nicht erkannt.

Adware ist traditionell die am weitesten verbreitete Art von macOS Malware, aber Cryptojacking, ein heimliches und großangelegtes Krypto-Mining, tritt immer häufiger auf. Da für das Krypto-Mining eine beträchtliche Menge an Rechenleistung erforderlich ist, ist es wahrscheinlich, dass die laufenden Fortschritte bei den ARM-Prozessoren von Apple die macOS Geräte zu noch attraktiveren Zielen für Kryptojacking machen werden. Cryptojacking an sich ist zwar kein neues Konzept, aber diese spezielle Variante wendet einige neuartige Taktiken an.

Diese Malware nutzt das Invisible Internet Project (i2p) zur Kommunikation. i2p ist eine private Netzwerkschicht, die den Datenverkehr anonymisiert und damit eine weniger auffällige Alternative zu Tor darstellt. Diese Malware nutzt i2p, um bösartige Komponenten herunterzuladen und die gewonnene Währung an die Brieftasche des Angreifers zu senden.

Bei der Suche nach anderen Beispielen für Malware, die i2p-Routing verwenden, fanden wir heraus, dass die Techniken dieses Beispiels denen ähneln, die von Trend Micro im Februar 2022 gemeldet wurden. Trotz der Ähnlichkeiten gab es immer noch Unstimmigkeiten und unbeantwortete Fragen, z. B. warum dieses spezielle Muster von allen Anbietern auf VirusTotal nicht erkannt wurde, obwohl die Malware-Familie bereits dokumentiert war.

In ihrem Bericht spekuliert Trend Micro, dass das Mach-O-Beispiel in einem DMG-Paket für Adobe Photoshop CC 2019 enthalten sein könnte. Sie konnten jedoch die DMG selbst nicht finden. Da wir ein sehr ähnliches Szenario bei Final Cut Pro beobachtet haben, wollten wir auch herausfinden, woher diese Malware stammt.

Um die Quelle der Malware ausfindig zu machen, haben wir auf einem Pirate Bay-Mirror nach Torrents von Final Cut Pro gesucht. Wir haben den neuesten Torrent mit der höchsten Anzahl von Seedern heruntergeladen und den Hash der ausführbaren Apps überprüft. Er stimmte mit dem Hash des infizierten Final Cut Pro überein, den wir in freier Wildbahn entdeckt hatten. Wir hatten jetzt unsere Antwort.

Wir haben festgestellt, dass der Torrent von einem Nutzer/einer Nutzerin hochgeladen wurde, der schon seit Jahren raubkopierte macOS-Software-Torrents hochlädt, von denen viele zu den am weitesten verbreiteten Versionen der jeweiligen Titel gehörten:

Nach einer gründlichen Analyse der Torrent-Upload-DMGs stellten wir fest, dass der Uploader die Quelle der gefundenen Malware war, und bestätigten, dass er auch die Quelle der zuvor gemeldeten Proben war. Darüber hinaus fanden wir heraus, dass praktisch jeder der dutzenden Uploads, die 2019 begannen, mit einer bösartigen Nutzlast kompromittiert wurde, um heimlich Kryptowährung zu schürfen.

Diese Entdeckung bot die seltene Gelegenheit, die Entwicklung einer Malware-Familie zu verfolgen. Was als rudimentärer und auffälliger Plan begann, hatte sich in drei verschiedenen Entwicklungsstufen zu einem Produkt mit kreativen Verschleierungstechniken entwickelt. Soweit wir feststellen konnten, wurde bisher nur über Beispiele der ersten Generation dieser Malware-Familie berichtet.

Noch aussagekräftiger wurden unsere Ergebnisse dadurch, dass wir den zeitlichen Verlauf nachverfolgen konnten, wann die Samples in der Torrent-Community in Umlauf kamen, wann sie bei VirusTotal eingereicht wurden und wann die Anbieter*innen begannen, die verschiedenen Stadien dieser Malware erfolgreich zu erkennen. Dadurch erhielten wir wertvolle Einblicke in den Verlauf der Malware und ihre Entwicklung und konnten die Taktiken und Techniken der Hintermänner besser verstehen.

Das Leben, äh... findet einen Weg

Wie bereits erwähnt, entging unser Final Cut-Beispiel der AV-Erkennung, während die zuvor gemeldeten Beispiele durchgängig erkannt wurden. Nachdem wir die direkte Quelle dieser Malware gefunden hatten, konnten wir die Proben direkt vergleichen. Wir beobachteten klare Abgrenzungspunkte, an denen die Proben begannen, neue Verschleierungstechniken zu verwenden. Viele dieser Techniken waren in den Proben der ersten Generation, über die zuvor berichtet wurde, nicht vorhanden.

Was hat sich also geändert?

Die Beispiele der ersten Generation verwendeten die API AuthorizationExecuteWithPrivileges, um erhöhte Rechte zu erlangen, die für die Installation des Launch Daemon für die Persistenz benötigt wurden. Bei diesem Vorgang wurde jedoch eine auffällige Kennwortabfrage eingeblendet, die darauf hinwies, dass die App Änderungen vornehmen muss. Spätere Muster der ersten Generation wurden durch einen Benutzer-Start-Agenten ersetzt, der die auffällige Aufforderung nicht benötigt. Die Samples der zweiten Generation, die im April 2021 in der Pirate Bay auftauchten, wiesen jedoch keine traditionellen Persistenzmethoden auf, wie z. B. Launch Daemons oder Launch Agents, die beobachtet wurden. Stattdessen scheint sich die Malware darauf zu verlassen, dass der Benutzer das Appspaket startet, um den Mining-Prozess zu beginnen.

Spätere Varianten der Malware maskieren ihre bösartigen i2p-Komponenten innerhalb der ausführbaren App mit base64-Kodierung. Wir haben das raubkopierte Final Cut Pro der dritten Generation mit einer Originalkopie verglichen und festgestellt, dass es mit 11,9 MB im Vergleich zu den üblichen 3,7 MB deutlich größer ist. Dies ist auf das Vorhandensein von zwei großen base64-kodierten Blobs und Shell-Befehlen innerhalb der ausführbaren Apps zurückzuführen.

Drücken Sie einfach Play

Wenn der Benutzer/die Benutzerin auf das Final Cut Pro-Symbol doppelklickt, wird die trojanisierte ausführbare Datei ausgeführt, die die Shell-Aufrufe startet, um die Malware einzurichten. In derselben ausführbaren Datei befinden sich zwei große base64-Blobs, die über Shell-Aufrufe dekodiert werden. Die Dekodierung dieser beiden Blobs führt zu zwei entsprechenden tar-Archiven. Eine enthält eine Arbeitskopie von Final Cut Pro. Der andere base64-kodierte Blob wird zu einer angepassten ausführbaren Datei dekodiert, die für die Verarbeitung des verschlüsselten i2p-Verkehrs zuständig ist. Nachdem die eingebetteten Daten aus base64 dekodiert und entarchiviert wurden, werden die resultierenden Komponenten als versteckte Dateien in das Verzeichnis /private/tmp/ geschrieben. Nach dem Ausführen der ausführbaren i2p-Datei verwendet das Setup-Skript curl über i2p, um sich mit dem Webserver des böswilligen Autors zu verbinden und die XMRig-Befehlszeilenkomponenten herunterzuladen, die das verdeckte Mining durchführen. Die Version von Final Cut Pro, die gestartet und dem Benutzer/der Benutzerin präsentiert wird, wird aus diesem Verzeichnis aufgerufen und schließlich von der Festplatte entfernt.

  1. Benutzer*in lädt Apppaket herunter und doppelklickt darauf
  2. Trojanisierte ausführbare Datei läuft
  3. Funktionierende base64-kodierte ausführbare Final Cut Pro-Datei extrahiert
  4. Base64-verschlüsselte i2p-Datei wird extrahiert und bei der Ausführung als mdworker_shared getarnt
  5. Die ausführbare Datei des Miners wird vom Command-and-Control-Server abgerufen
  6. Bergbau beginnt getarnt als mdworker_local Prozess

Gaslight

Diese schnelle Bereitstellung beim Start des Appspakets wird durch eine Reihe von Shell-Aufrufen bewältigt, die in die bösartige Binärdatei eingebettet sind. Wir haben drei verschiedene Iterationen dieser Shell-Setup-Schleife beobachtet. Die frühere Version war weniger aufwendig und lag in einem recht lesbaren Format vor, wenn sie mit dem Dienstprogramm strings ausgegeben wurde:

In den späteren Versionen wurde das Skript in einen übergroßen Einzeiler umgewandelt. Dieses längere Skript kümmert sich auch um die Erstellung der Konfigurationsdatei-Einstellungen für den Miner:

Die Bash-Schleife in dieser Malware weist eine Besonderheit auf, die zwar wiederholt wurde, aber erstmals in den Samples von 2019 auftauchte. Trotz unserer Verurteilung der Handlungen von Malware-Autor*innen ist es schwer, sich der Faszination der cleveren Verwendung der folgenden Befehle zu entziehen:

(APID=$$;(while true; do sleep 3;(pgrep -x 'Activity Monitor' > /dev/null) && break;done;); [ \"$I2PD_PID\" != \"\" ] && kill -9 \"$I2PD_PID\" > /dev/null 2>&1; [ \"$PIDW\" != \"\" ] && kill \"$PIDW\" > /dev/null 2>&1; [ \"$PID\" != \"\" ] && kill \"$PID\" > /dev/null 2>&1; pkill \"._${r_nme}\"; pkill \"._${r_i2}\"; kill \"$APID\" > /dev/null 2>&1;); exit) & echo $! > \"/tmp/i2pd/._pid\");

Das Skript führt eine Dauerschleife aus, die alle 3 Sekunden die Liste der laufenden Prozesse überprüft und nach dem Aktivitätsmonitor sucht. Wenn er den Aktivitätsmonitor findet, beendet er sofort alle seine bösartigen Prozesse. Wenn das Opfer bemerkt, dass seine CPU heißer als normal läuft, während es unwissentlich Kryptowährungen für den Angreifer/die Angreiferin schürft, und den Aktivitätsmonitor öffnet, um seinen Verdacht zu bestätigen, stoppt die Malware ihre Aktivitäten und versteckt sich, bis das Opfer die Apps das nächste Mal startet.

In der dritten und neuesten Generation des Skripts haben wir eine betrügerische Technik gefunden, die häufiger in Linux-Malware vorkommt. Das Skript verwendet den integrierten Bash-Befehl exec mit dem Flag -a, um bösartige Prozesse zu starten. Das Flag -a ermöglicht das Setzen eines eigenen Namens für den Prozess, der in der Ausgabe von Befehlen wie ps aux erscheint. Um sich in die anderen laufenden Prozesse einzufügen, hat der Malware-Autor die Prozessnamen auf die Pfade mdworker_local und mdworker_shared gesetzt, die die Namen legitimer Dienstprozesse im Zusammenhang mit der Spotlight-Funktion sind. Dies macht es schwieriger, die bösartigen Prozesse zu erkennen und ist eine weitere Umgehungstechnik der Malware. Hier gibt es nichts zu sehen!

Ventura legt die Messlatte höher

Wie wir bereits beschrieben haben, verließen sich die späteren Versionen dieser Malware nicht mehr auf launchd, sondern darauf, dass der Benutzer/die Benutzerin die raubkopierte Software startet, um den Miner zu initiieren. Dieser Ansatz ermöglicht es der Malware, CPU-Zeit für die Dauer der aktiven Sitzung zu stehlen und bietet ein hohes Maß an Unauffälligkeit. Der Erfolg dieser Strategie hängt jedoch davon ab, dass die Software regelmäßig vom Opfer gestartet wird.

Mit macOS Ventura hat Apple Sicherheitsverbesserungen eingeführt, die eine neue Herausforderung für diesen Ansatz darstellen. Die strengeren Codesigning-Prüfungen in Ventura stellen sicher, dass alle notariell beglaubigten Apps korrekt signiert sind und nicht durch unautorisierte Prozesse verändert wurden, auch nicht nach dem ersten Start. Dies ist eine Verbesserung gegenüber früheren Versionen von macOS, bei denen Gatekeeper Apps nur beim ersten Start prüfte und die Datei als vertrauenswürdig einstufte, sobald sie erfolgreich gestartet wurde.

In diesem Fall wenden die wichtigsten Torrent-Clients unter macOS (nämlich Transmission und uTorrent) keine Quarantäne-Attribute an und umgehen so die Validierungsprüfungen auf einem macOS Monterey-System. Unter macOS Ventura jedoch konnte die modifizierte Version von Final Cut Pro trotz fehlender Quarantäneattribute nicht gestartet werden und wir erhielten eine Fehlermeldung. Dies lag daran, dass die Malware die ursprüngliche Codesignatur intakt ließ, die App jedoch veränderte, wodurch die Signatur ungültig wurde und die Sicherheitsrichtlinien des Systems nicht eingehalten wurden. Die ständigen Überprüfungen in Ventura erschweren die Umgehung dieser Validierung, im Gegensatz zu früheren Versionen, in denen es möglich war, sie zu umgehen, indem man das Quarantäne-Attribut umging oder entfernte.

Andererseits hat macOS Ventura not verhindert, dass der Miner ausgeführt werden kann. Wenn der Benutzer/die Benutzerin die Fehlermeldung erhält, ist die Malware bereits installiert. Es verhinderte, dass die modifizierte Version von Final Cut Pro gestartet werden konnte, was den Verdacht auf den Benutzer/die Benutzerin lenken und die Wahrscheinlichkeit weiterer Starts durch den Benutzer/die Benutzerin stark verringern konnte.

Eine Sache noch...

Bevor wir diese Malware-Familie mit den Ventura-Sicherheitsupdates für tot erklären, muss angemerkt werden, dass diese Fehlermeldung nur auf den raubkopierten Versionen von Logic Pro und Final Cut Pro (beides Apple Titel) zu sehen war. Zum Zeitpunkt der Erstellung dieses Artikels startet die von wtfisthat34698409672 hochgeladene Photoshop-Raubkopie immer noch erfolgreich sowohl die schädlichen als auch die funktionierenden Komponenten auf der neuesten Version von macOS Ventura 13.2 und früher. Dies scheint auf einen kleinen Unterschied in der Art und Weise zurückzuführen zu sein, wie die ausführbare Datei in der Arbeitskopie von Photoshop aufgerufen wird, im Vergleich zu der Art und Weise, wie die ausführbaren Dateien von Final Cut und Logic Pro gestartet werden. Diese könnten wahrscheinlich mit geringfügigen Anpassungen durch den Autor der Malware wieder zum Laufen gebracht werden.

Epilog: Die Gefahr von gefälschten Apps

Raubkopierte Software, die über Peer-to-Peer-Netzwerke verbreitet wird, ist aus mehreren Gründen ein idealer Mechanismus zur Verbreitung von Malware:

1. Bis macOS Ventura war die Dateiquarantäne ein wichtiger Bestandteil der macOS Malware-Strategie. Die Anwendung des Quarantäne-Attributs auf heruntergeladene Dateien ist seit jeher eine „Opt-in”-Angelegenheit, und die meisten Torrent-Clients verzichten absichtlich auf die Anwendung des Quarantäne-Attributs auf die von ihnen heruntergeladenen Dateien, wodurch eines der größten Sicherheitshindernisse für Malware-Autor*innen beseitigt wird.

2. Für die verbleibenden Hürden hat der Malware-Autor in dem Benutzer/der Benutzerin, der die raubkopierte App heruntergeladen hat, einen unfreiwilligen Mitarbeiter/eine unfreiwillige Mitarbeiterin. Der Benutzer/die Benutzerin kann leicht dazu verleitet werden, andere Sicherheitsfunktionen wie Gatekeeper manuell zu deaktivieren. Nehmen Sie zum Beispiel diesen Text aus der README.txt :

Wenn Sie Probleme mit dem Abbild haben (lästige Meldungen, dass das Abbild/die App beschädigt ist und Sie Dinge nicht öffnen können), führen Sie im Terminal aus: sudo spctl --master-disable

(Hinweis: Dieser Befehl wird verwendet, um die Gatekeeper-Funktionalität vollständig zu deaktivieren. Beachten Sie, dass es keine Folgeanweisung für die Wiederaktivierung gibt)

3. Es gibt auch eine psychologische Komponente. Der Benutzer/die Benutzerin weiß, dass er etwas Illegales tut und es ist nicht verwunderlich, wenn die in Apple eingebaute Sicherheit verhindert, dass er raubkopierte Apple Software ausführt. Und wenn der Benutzer/die Benutzerin schließlich den Verdacht hat, dass er versehentlich Malware auf seinem Arbeitscomputer ausgeführt hat, ist es sehr viel unwahrscheinlicher, dass er jemandem in der Sicherheits- oder IT-Abteilung erklärt, was er getan hat.

Jamf Protect berichtet speziell darüber, ob Gatekeeper auf irgendwelchen Endpoints deaktiviert wurde.

Alle bekannten Versionen dieser Malware-Familie werden von Jamf Protect Threat Prevention erkannt und blockiert.

Die entdeckten Malware-Samples wurden an Apple weitergegeben. Ab Version 2166 wurden auch die XProtect-Signaturen zum Schutz vor dieser Bedrohung aktualisiert.

IoCs

Universelle Binärdateien

c19e78df3b3462064b9d78bc138674a7e8df28c7

7628d90cfd311bfd4997729a232ca77a6d443619

62ed66c1835ef5558ce713467f837efde508d5e4

69fd812cf3760dc3dff5d41972cc635de9a0844d

53fd50b23372a73e74e7cdc370f51ac560a1130f

c56046c322316233d23db034670496756a6942fe

d510b4c602404767f9ef75f5a48017d2b3743c4c

bce251548798f159e99e71e68b65bbb4a9607296

6ee76d296abf8da0f98d23f545ba4aa7c69e8211

cea42a9b59cfa262453b508ea21d96f87bb793da

e99f8ec210b26270894f16fe9c43f1203c13fb32

bebe1ad82d595434c6ef529cb4f75f4937a04e5f

c10079ed5885c64c0da6302bc91adf5b293aef4c

140790186d0c60a604c5dd9f9d2c8dbc500da1c9

2defaf34319b6255db45c8bebf55d5095a41bed8

d86695fb9e56e03253503781f42f1069a5cc10d1

f6348b7b79e48b5d2c13b8aa560c795d7a2c21d8

278290e9b2517fa208bb019a0dc53a5a78995d84

cf685bb0fe5e078ea28a25a7cf8774b168787db4

96667da937efd370197fd94cc9a80b4fb3e8c153

2b28169bdaee62eaaec708a9fa245b1c1e6c0e29

325a470ec2ee3319f996723496689d052f3c3b47

a605e20250e66726a58699a2ae4f7264c8c2e4e2

3ab040271882eb6c3a028498c7469450610ef7b8

8ed83d6593bb0c7404f4571c91a4a80022088922

687ec2b7d79ed6f953c7f519044b7117d12bdafa

53bea5f857571d73b7b4a1f6db1edd340d453bca

68f4979c04b4753a9f275f29c00d4b260f4c2ec0

97fbb98f1ecbb2533204eca2967cf4117e388f22

8907721154fc4079f9fc68e58c0ca742ffc1c9af

89f2bb7f96317837514bbae70d47ac1e00626ac1

5e4792e459f1107cf83ce3293141f9ba3026b015

95f71894eec20f9727ff1311ad078de38ae4e774

2ae591a3e14d77a9bc077fe61712c6b77f71fc11

DMGs

b5dd15e765ed5839a7d2c16c50e6cf3334c4b894

3a714063188b24f0392c163d7910be00216a5f04

a72b548ca570d8c74ed4c465716c4e37328f9bc1

f35bddfbb82ae1b137cbd454bc18f2b859cc5882

c5b34662f22f35f3995144b24015309bbe318cd9

7da20852d79f7443b88449e8ed18e092c2aaa3bb

699da2b8d35f344121d93a74adf89349d3c8d922

11e4f795551e6db0fe9a9c52eec35f134b089478

7312b319b84be6bde845b10ea61619c33473f784

5aae6e00b3ab0b32a8c75a2952674d7665b3f705

6b987ffc3fd6a2bcfb931426be4118cd943737da

c64c21d2e08cb8a28e31c4d883a1e75fd1c7851b

0e73071ceb9d2481361777b33b8443ec0acb0793

ebd417f4ab9e7bb6deaacab9de1611df67908317

8e4dff96e1740764d60fbff8cfae8c673f1a7a3f

828fb69b80e60de6f6206fd63b496cc0923082f4

11ee7a59ecd287628ff251b435777f6d4429e40c

05b7e1864b7b570a339c8072830cdd9bcbf21d1a

eb3a1808bd24026314bec69caadbc882f1976982

cc9afb9efea37aee31cd74fb064de4b732fb84b3

c8d230830d0912236c48c31ad11b93707088ce9f

0cc8e03a08baa73379ac6c55cbb18fa78b87923d

4f0ba59e2ee80ff854bca33944f825d4c8cfe23e

163d9ce53deadd54ad50d7d0120b5db550724689

33d79b8ee94f7bd0a542863cd5a8926d8e0263d9

048a93a696f1bf0bdf6f6e3506d65d21a4a9f681

d4d1c97c5803162e452c79811d61e1487c9cfe62

9e387d79fd6412715a5a4bca02b7e27a08299c4b

dfcf0b6af4593f32060176768164702f45cb556b

e857a9c520402ccc6abe3244c1e93ac9e2a6ac3d

e857a9c520402ccc6abe3244c1e93ac9e2a6ac3d

5eb0e95aa6cc68ec05103561b02d38d4f69e4980

c222fe1be761f05c665c40c14781e40f97460569

c3d062bc3fa3b4ecfc68e69a7dc26d9e0ac56538

901a08aa9996fa95e4a844c24eb7b81da0b52923

9e04ca30e6ae20e8d2bbf2772a93145bd4b5b8c6

90835a1173e9ed414e8240d0e14acb13f73f642f

be30f974111ad50312f654db9e040c6ab99d054c

b48927641b53e363d7183fe7faaaa7be8b01cec9

PKGs

cedd8f8ae61dc47130c34b39d9795083cc90ac1f

Bash-Skripte

fbdf0af70f95d3c87cf8bcacc2d6673d9ccd4620

8701f8b0aeb2c66298eb1b4297d98664f8c1f1b9

5b304a1da9f56e8ffdfb68940fdd0bc2887d2eb9

ecffd9553c67478a55f7303f6cadf356101f9216

80f2682d60303ea9098444a35cb35e697ae18187

638ef84a29c747419027c306833d6420d351b244

Abonnieren Sie den Jamf Blog

Wir sorgen dafür, dass Apple Updates sowie Jamf Neuigkeiten direkt bei Ihnen im Postfach landen.

Um mehr darüber zu erfahren, wie wir Ihre Informationen sammeln, verwenden, offenlegen, übertragen und speichern, werfen Sie bitte einen Blick auf unsere Datenschutzbestimmungen.