Wie man bösartige Makros unbemerkt auf MacOS startet

Der Forscher Patrick Wardle hat einen erfolgreichen Angriff auf macOS Catalina mit einer Exploit-Kette demonstriert.

Viele Benutzer von MacOS-Computern sind immer noch davon überzeugt, dass ihre Rechner keinen Schutz benötigen. Schlimmer noch, viele Systemadministratoren in Unternehmen, in denen Mitarbeiter mit Apple-Rechnern arbeiten, sind oft der gleichen Meinung.

Auf der Black Hat USA 2020-Konferenz versuchte der Forscher Patrick Wardle, die Zuhörer von diesem Irrtum zu befreien, indem er seine MacOS-Malwareanalyse vorstellte und eine Exploit-Kette aufbaute, um die Kontrolle über einen Apple-Computer zu übernehmen.

Microsoft, Makros und Macs

Dokumente mit böswilligen Makros (Office-Anwendungen) sind eine der wohl gewöhnlichsten Angriffsmethoden auf MacOS. Tatsächlich bevorzugen viele Benutzer trotz der Verfügbarkeit von Apples eigenen Produktivitätsanwendungen die Verwendung von Microsoft Office. Einige tun dies aus Gewohnheit, andere aus Kompatibilitätsgründen.

Natürlich kennt jeder die potenzielle Bedrohung, die von Dokumenten mit Makros ausgeht. Daher verfügen sowohl Microsoft als auch Apple über Schutzmechanismen, die den Benutzer beschützen sollen.

Microsoft z.B. warnt Benutzer, wenn ein Dokument geöffnet wird, das ein Makro enthält. Wenn der Benutzer beschließt, das Makro trotzdem zu starten, wird der Code in einer Sandbox ausgeführt, was den Entwicklern von Microsoft zufolge verhindern soll, dass der Code auf die Dateien des Benutzers zugreift oder dem System anderen Schaden zufügt.

Was Apple betrifft, so hat das Unternehmen mehrere neue Sicherheitsfunktionen in der neuesten Version seines Betriebssystems, macOS Catalina, eingeführt. Dazu gehören insbesondere die Dateiquarantäne und die „Apple-Beglaubigung“, eine Technologie, die den Start von ausführbaren Dateien aus externen Quellen verhindert.

Grundsätzlich sollten diese Technologien zusammengenommen ausreichen, um jeglichen Schaden durch bösartige Makros zu verhindern. Theoretisch scheint alles ziemlich sicher zu sein.

 

Eine Exploit-Kette befreit das Makro aus der Sandbox

In der Praxis werden jedoch viele Sicherheitsmechanismen eher problematisch umgesetzt. Daher können Forscher (oder Angreifer) möglicherweise Methoden finden, um sie zu umgehen. Wardle veranschaulichte dies in seinen Vortrag, indem er eine Kette von Exploits aufzeigte.

1. Umgehung des Makro-deaktivierenden Mechanismus

Schauen wir uns folgendes Beispiel an: Das System warnt den Benutzer, wenn es ein Makro in einem Dokument entdeckt. In den meisten Fällen funktioniert es wie von den Entwicklern beabsichtigt. Gleichzeitig ist es aber auch möglich, ein Dokument zu erstellen, in dem das Makro automatisch und ohne Benachrichtigung des Benutzers gestartet wird, selbst wenn die Makros in den Einstellungen deaktiviert wurden.

Dazu kann das Sylk (SLK)-Dateiformat verwendet werden. Das Format, das die XLM-Makrosprache verwendet, wurde in den 1980er Jahren entwickelt und zuletzt 1986 aktualisiert. Microsoft-Anwendungen (z.B. Excel) unterstützen Sylk jedoch aus Gründen der Abwärtskompatibilität immer noch. Diese Schwachstelle ist nicht neu und wurde 2019 ausführlich beschrieben.

2. Flucht aus der Sandbox

Wie wir jetzt festgestellt haben, kann ein Angreifer auf unsichtbare Weise ein Makro ausführen. Der Code wird jedoch nach wie vor in der isolierten Sandbox von MS Office ausgeführt. Wie kann ein Hacker den Computer überhaupt angreifen? Nun, es stellt sich heraus, dass der Ausbruch aus Microsofts Sandbox auf einem Mac nicht gerade schwer ist.

Es stimmt, dass man gespeicherte Dateien auf dem Rechner von der Sandbox aus nicht verändern kann. Man kann jedoch Dateien erstellen. Diese Schwachstelle wurde bereits früher genutzt, um die Sandbox zu umgehen, und es scheint, dass Microsoft ein Update veröffentlicht hat, um die Schwachstelle zu schließen. Das Problem wurde jedoch nicht wirklich gelöst, wie eine genauere Untersuchung des Patches gezeigt hat: Der Patch behebt nur die Symptome, indem es die Erstellung von Dateien an Orten blockiert, die von einigen Entwicklern als kritisch und unsicher angesehen wurden. Ein Beispiel wäre dafür der Ordner LaunchAgents, der als Speicherort für Skripte dient, die nach einem Neustart automatisch gestartet werden.

Aber wer weiß, ob Microsoft bei der Erstellung des Patches alle „gefährlichen Ort“ abgedeckt hat? Zufälligerweise konnte ein in Python geschriebenes Skript, das von einem Office-Dokument aus gestartet (und daher in einer Sandbox ausgeführt wurde) verwendet werden, um ein „Anmeldeobjekt“ zu erstellen. Solche Anmeldeobjekte werden automatisch gestartet, wenn sich der Benutzer sich am Rechner anmeldet. Das System startet das Objekt, so dass es außerhalb der Office-Sandbox ausgeführt wird und somit die Sicherheitsmaßnahmen von Microsoft umgeht.

3. Umgehung der Apple-Sicherheitsmechanismen

Jetzt wissen wir also, wie man heimlich ein Makro ausführt und ein Anmeldeobjekt erstellt. Natürlich verhindern die Sicherheitsmechanismen im MacOS immer noch diesen Backdoorangriff, der durch einen in verdächtigen Prozess in einer Sandbox gestartet wird, oder?

Einerseits ja, denn Apples Sicherheitsmechanismen blockieren in der Tat die Ausführung eines solchen Codes. Andererseits gibt es einen Workaround: Wenn man ein ZIP-Archiv als Anmeldeobjekt hinzufügt, dann entpackt das System die Datei bei der nächsten Anmeldung automatisch.

Der Angreifer muss nur noch den richtigen Ort für das Entpacken der Datei wählen. Beispielsweise kann das Archiv im gleichen Verzeichnis wie die Benutzerbibliotheken abgelegt werden, also genau dort, wo Objekte vom Typ Launch Agent, die Microsoft korrekterweise als angreifbar einstuft, gespeichert werden sollen. Das Archiv selbst kann ein Verzeichnis namens LaunchAgents enthalten, das das Skript Launch Agent enthält.

Nach dem Entpacken wird das Skript im Ordner LaunchAgents abgelegt und beim Neustart ausgeführt. Da es von einem vertrauenswürdigen Programm (dem Archivierungsprogramm) erstellt wurde und keine Quarantäne-Attribute besitzt, kann es dazu verwendet werden, etwas Gefährlicheres zu starten. Sicherheitsmechanismen werden den Start dieser Datei nicht einmal verhindern.

Infolgedessen kann ein Angreifer über die Bash-Befehlsshell einen Mechanismus starten, um Fernzugriff auf den Rechner zu erhalten (Reverse Shell). Dieser Bash-Prozess kann zum Herunterladen von Dateien verwendet werden, denen auch das Quarantäne-Attribut fehlt, so dass der Angreifer wirklich bösartige Codes herunterladen und ohne Einschränkungen ausführen kann.

Eine kurze Zusammenfassung:

  • Ein Angreifer kann heimlich ein böswilliges Makro starten, ohne irgendwelche Benutzer-Warnungen auszulösen oder die Erlaubnis vom Benutzer einholen zu müssen, selbst wenn die Makroausführung in den Einstellungen deaktiviert ist. Für einen Angriff ist nur das Herunterladen und Öffnen einer Office-Datei notwendig.
  • Der Angreifer kann aus der Microsoft Office-Sandbox entkommen und ein Anmeldeobjekt samt Archiv mit dem darin enthaltenen Launch Agent erstellen, das bei der nächsten Anmeldung automatisch außerhalb der Sandbox ausgeführt wird.
  • Mit nur wenigen Schritten kann der Angreifer die Sicherheitsmechanismen von Apple leicht umgehen, indem er ein Objekt vom Typ „Launch Agent“ aus einem ZIP-Archiv extrahiert. Nachdem er auf diese Weise die Sicherheitsmechanismen des Systems umgangen hat, kann das Programm dann den „Kampf“-Teil des bösartigen Codes herunterladen und ausführen.

Wie Sie sich gegen bösartige Makros auf macOS schützen können

Natürlich berichtete der Forscher seine Ergebnisse sowohl an Apple als auch Microsoft, und beide Unternehmen nahmen im Stillen Korrekturen vor, ohne sie bekannt zu machen oder gar offizielle CVE-Kennungen für die Schwachstellen zuzuweisen. Aber die Situation legt nahe, dass es bei sorgfältiger Untersuchung der Sicherheitsmechanismen durchaus möglich ist, Methoden zu finden, um diese zu umgehen.

In der Vergangenheit wurde MacOS zu Recht als sicher angesehen, aber dabei ging es weniger um fortschrittliche Sicherheitsmechanismen, sondern als vielmehr darum, dass Angreifer das Apple-Ökosystem im Großen und Ganzen ignorierten. Apple-Computer sind jedoch viel beliebter geworden, auch in der Unternehmensumgebung. Daher werden Angriffe, die auf MacOS abzielen, für Cyberkriminelle immer interessanter.

Um sicher zu bleiben, müssen Sie also nicht nur Ihr System und die gesamte Software darauf auf dem neuesten Stand halten, sondern auch Sicherheitslösungen einsetzen, die verdächtige Aktivitäten erkennen und ihnen entgegenwirken können. Beispielsweise umfasst unsere Reihe von Sicherheitsprodukten, sowohl für Privatanwender als auch für Firmenkunden, Versionen für MacOS.

 

Tipps