Technisch trägt der Dropper laut den Jamf-Forschern „eine vollständige universelle Mach-O-Datei in sich, rund 756 KB im Entwicklungs-Build, und extrahiert sie zur Laufzeit". Dieselbe Nutzlast liege zusätzlich auf der Festplatte im Anwendungs-Bundle, der Dropper verfüge also über zwei Quellen dafür.

Die Nutzlast wird zunächst in einen anonymen Dateideskriptor geschrieben und von dort aus zu starten versucht. In den meisten Fällen scheitert das an der System Integrity Protection von macOS. Dann schreibt der Dropper die Datei vorübergehend auf die Festplatte und führt sie per sudo aus – mit dem Passwort, das der Nutzer zuvor im vermeintlichen Installationsdialog eingegeben hat.

Die eigentliche Hintertür läuft anschließend über einen Daemon mit dem Namen CloudSyncD. Ihre Konfiguration liegt verschlüsselt in der Binärdatei und wird erst zur Laufzeit entschlüsselt. Die zuerst untersuchte Variante war erkennbar noch nicht einsatzreif: Die C2-Adresse verwies in ein privates Netz, und das ausführliche Debug-Logging war noch aktiviert.

Anzeige

Inzwischen beobachteten die Forscher jedoch mehrere Builds, die auf zwei verschiedene Domains zeigen. Der URI-Pfad ist in beiden Fällen identisch und imitiert ein jQuery-Skript, sodass ein Beacon wie ein gewöhnlicher JavaScript-Abruf aussieht. Beide Domains wurden 2011 über denselben Registrar registriert, liegen hinter Cloudflare und wurden zum Zeitpunkt der Analyse von keiner Erkennung erfasst.

Die Varianten unterscheiden sich kaum voneinander: „Jeder Build teilt dieselbe String-Verschleierungstabelle, dieselben Installationspfade, denselben Daemon-Namen und dieselbe Prozesstarnung und – noch aufschlussreicher – denselben C2-Schlüssel und Initialisierungsvektor, bis hin zu identischen Seeds je String", so die Forscher. „Nur der Endpunkt ändert sich." Mitgeschnittener Beacon-Verkehr lasse sich daher mit Material aus einem beliebigen Build entschlüsseln, und die Indikatoren auf dem Host gälten über alle Varianten hinweg.

Für die Forscher zeigt der Fall, wie sich macOS-Schadsoftware in Richtung nativer Implementierungen, String-Schutz und Ausführungswege entwickelt, die das Schreiben von Nutzlasten auf die Festplatte vermeiden sollen – während sie zugleich weiterhin auf die älteste Angreifertechnik überhaupt setzt: das Opfer per Social Engineering dazu zu bringen, sein Passwort herauszugeben.

Da die Schadsoftware das Einsatzstadium erreicht hat, haben die Jamf-Forscher zusätzlich eine umfangreiche Liste von Kompromittierungsindikatoren zur Überwachung veröffentlicht.