Anleitung zum Ausführen eines bösartigen Makros auf macOS Catalina


Anleitung zum Ausführen eines bösartigen Makros auf macOS Catalina
Anleitung zum Ausführen eines bösartigen Makros auf macOS Catalina

Anleitung zum Ausführen eines bösartigen Makros auf macOS Catalina

Wie man ein bösartiges Makro in macOS ausführt, ist für den Benutzer unsichtbar. Der Forscher Patrick Wardle hat einen erfolgreichen Angriff auf macOS Catalina durch eine Exploit-Kette nachgewiesen.

Einige Benutzer von Computern mit macOS sind sich immer noch sicher, dass ihre Maschinen keinen Schutz benötigen. Schlimmer noch — es ist nicht ungewöhnlich, dass Systemadministratoren in Unternehmen, in denen Mitarbeiter an Apple-Maschinen arbeiten, dieselbe Meinung vertreten.

Auf der Black Hat USA 2020-Konferenz versuchte der Forscher Patrick Wardle, die Zuhörer von diesem Missverständnis zu befreien, indem er seine Analyse von kürzlich gefangenen Malware unter macOS vorstellte und eine Kette von Exploits aufbaute, die die Kontrolle über den Apple-Computer übernehmen könnten.

Microsoft, Makros und Macs. Eine der häufigsten Methoden zum Angriff auf macOS—basierte Computer ist durch Dokumente mit bösartigen Makros. Das heißt, über die Microsoft Office-Suite. Obwohl Apple eigene Tools für die Arbeit mit Dokumenten hat, bevorzugen viele Benutzer die Office—Suite von Microsoft - jemand aus Gewohnheit und jemand aus Gründen der Bequemlichkeit seiner Kollegen.

Natürlich ist die potenzielle Bedrohung von Dokumenten mit bösartigen Makros seit langem bekannt. Daher haben sowohl Microsoft als auch Apple Mechanismen, die den Benutzer vor ihnen schützen sollten.

Microsoft-Programme konzentrieren den Benutzer darauf, dass das Dokument ein Makro enthält. Außerdem wird der Code in der Sandbox ausgeführt, wenn der Benutzer dennoch entscheidet, das Makro auszuführen, von wo aus er beabsichtigt, dass er nicht auf die Dateien des Benutzers zugreifen oder das System anderweitig beschädigen kann.

Was Apple betrifft, hat das Unternehmen in der neuesten Version seines macOS Catalina-Systems einige neue Schutztechnologien eingeführt. Insbesondere die Datei-Quarantäne und die Notarisierung sind eine Methode, die die Ausführung von Code blockiert, der von Quellen Dritter auf den Computer gelangt ist.

Die Kombination dieser Technologien sollte daher ausreichen, um die Verwendung eines bösartigen Makros zu verhindern. In der Theorie sieht alles ziemlich sicher aus, aber wie sind die Dinge in der Praxis?

Eine Kette von Exploits, um ein Makro aus der Sandbox zu entkommen. In der Tat sind viele Abwehrmechanismen seltsam genug implementiert, so dass Forscher und Angreifer Methoden finden können, um sie zu umgehen. Patrick Wardle illustrierte seinen Bericht mit einer Kette von Exploits.

1. Umgehung des Deaktivierens von Makros. Nehmen Sie zum Beispiel das Warnsystem für das Vorhandensein eines Makros in einem Dokument. In den meisten Fällen funktioniert es wie von den Entwicklern beabsichtigt. Gleichzeitig können Sie jedoch ein Dokument erstellen, bei dem das Makro automatisch und ohne Vorwarnung ausgeführt wird, selbst wenn Makros in den Einstellungen grundsätzlich deaktiviert sind. Dies kann mit dem Sylk-Dateiformat (.slk). Es verwendet die XLM-Makrosprache und wurde selbst in den 80er Jahren des letzten Jahrhunderts entwickelt, und seine letzte Aktualisierung stammt aus dem Jahr 1986. Sylk wird jedoch immer noch in Microsoft-Anwendungen (insbesondere Excel) aus Gründen der Abwärtskompatibilität unterstützt. Die Sicherheitslücke ist nicht neu — sie wurde bereits im Jahr 2019 detailliert beschrieben.

2. Flucht aus der Sandbox. Wir haben bereits herausgefunden, dass ein Angreifer das Makro unbemerkt für den Benutzer ausführen kann. Aber der Code wird immer noch in einer isolierten MS Office-Sandbox ausgeführt — wie kann es helfen, den Computer anzugreifen? Es stellt sich heraus, dass es nicht so schwierig ist, aus der Microsoft-Sandbox auf dem Mac zu entkommen. Die Tatsache ist, dass Sie die auf Ihrem Computer gespeicherten Dateien nicht aus der Sandbox ändern können, aber Sie können sie erstellen. Diese Möglichkeit wurde bereits für Sandbox-Triebe genutzt, daher scheint Microsoft diese Lücke geschlossen zu haben. Wie sich jedoch bei genauerer Betrachtung des Patches herausstellte, löste er das Problem nicht, sondern behandelte die Symptome — er blockierte lediglich die Erstellung von Dateien an bestimmten Stellen, die die Entwickler für unsicher hielten. Beispielsweise der Ordner LaunchAgents, in dem Skripts gespeichert werden, die nach einem Neustart automatisch ausgeführt werden sollen. Aber wer hat gesagt, dass Microsoft bei der Erstellung des Patches alle gefährlichen Stellen berücksichtigt hat? Wie sich herausstellte, können Sie mit einem Python-Skript, das aus einem Office-Dokument ausgeführt wird und daher in einer Sandbox ausgeführt wird, ein Objekt vom Typ Login Item erstellen. Ein solches Objekt wird automatisch im Namen des Systems gestartet, wenn der Benutzer das nächste Mal angemeldet ist. Daher wird es nicht mehr von den Einschränkungen von Microsoft abgedeckt.

3. Umgehung der Schutzmechanismen von Apple. OK, jetzt wissen wir, wie man heimlich ein Makro ausführt und ein Login Item Objekt erstellt. Aber die Schutzmechanismen von macOS erlauben es immer noch nicht, eine Hintertür zu starten, da sie nicht vertrauenswürdig ist, von einem verdächtigen Prozess aus der Sandbox erstellt und daher in Quarantäne gestellt wird, richtig? Auf der einen Seite ja: Die Sicherheitssysteme von Apple blockieren tatsächlich die Ausführung von ausführbarem Code, der auf diese Weise erzeugt wird. Andererseits gibt es eine Problemumgehung: Wenn Sie ein ZIP-Archiv als Login—Element hinzufügen, startet das System beim nächsten Login die entsprechende Archivierungs—Anwendung und entpackt sie automatisch. Es bleibt nur übrig, den richtigen Ort zu wählen, an dem die Datei entpackt werden soll und von wo sie automatisch ausgeführt wird. Sie können es beispielsweise in ein Verzeichnis mit benutzerdefinierten Bibliotheken einfügen, das einen Schritt höher ist als das Verzeichnis, in dem Objekte vom Typ Launch Agent gespeichert werden sollen (die von Microsoft als gefährlich eingestuft wurden). Im Archiv selbst können Sie einen Ordner namens LaunchAgents ablegen, in dem sich das Launch Agent-Skript befindet. Nach dem Entpacken befindet sich dieses Skript im aktuellen Systemordner LaunchAgents und wird beim nächsten Neustart ausgeführt. Da es von einem vertrauenswürdigen Archivierungsprogramm erstellt wurde und keine Quarantäne-Attribute hat, kann es auch etwas Gefährlicheres ausführen, wobei die Schutzmechanismen es nicht einmal verhindern, dass es mit Argumenten «etwas» ausführt. Dadurch kann beispielsweise ein Remote-Zugriffsmechanismus über die Bash-Befehlsshell ausgeführt werden - die sogenannte Reverse Shell (reverse Shell). Dieser Bash-Prozess kann Dateien herunterladen, und sie haben auch kein Quarantäneattribut. Und dies ermöglicht es Ihnen, wirklich bösartigen Code herunterzuladen - und ihn ohne Einschränkungen auszuführen.

Fazit: Ein Angreifer kann ohne Warnungen und Fragen heimlich ein bösartiges Makro vom Benutzer ausführen, selbst wenn die Makroausführung in den Einstellungen deaktiviert ist. Alles, was Sie tun müssen, ist, dass das Opfer eine Office—Datei herunterlädt und sie öffnet. Als nächstes können Sie aus der Microsoft Office-Sandbox entkommen und ein Login Item-Objekt und ein Archiv mit dem Launch Agent erstellen, das bei der nächsten Anmeldung automatisch gestartet wird. Mit einfachen Manipulationen können Sie die Schutzmechanismen von Apple umgehen, ein Objekt vom Typ Launch Agent aus dem Archiv holen und so Misstrauen loswerden und dann den «Kampf» -Teil des bösartigen Codes herunterladen und ausführen.

So schützen Sie sich vor bösartigen Makros in macOS. Natürlich hat der Forscher seine Funde sowohl bei Apple als auch bei Microsoft gemeldet, und beide Unternehmen haben die Fehler stillschweigend behoben, ohne sie zu bewerben oder den Sicherheitslücken sogar offizielle CVE-IDs zuzuweisen. Aber diese Situation als Ganzes zeigt, dass es durchaus möglich ist, Methoden zu finden, um die Abwehrmechanismen zu umgehen, wenn man sie gründlich untersucht.

In der Vergangenheit wurden Apple-Betriebssysteme zu Recht als sicher angesehen, aber dies war nicht so sehr auf das Vorhandensein von fortschrittlichen Schutzmechanismen zurückzuführen, sondern auf die mangelnde Aufmerksamkeit von Eindringlingen. Apple-Computer kommen jetzt deutlich häufiger vor, auch in Unternehmensumgebungen, und daher werden Angriffe auf macOS für Cyberkriminelle zu einem viel interessanteren Aktivitätsfeld.

Um sicher zu bleiben, müssen Sie daher nicht nur das System und die verwendete Software rechtzeitig aktualisieren, sondern auch Sicherheitslösungen verwenden, die verdächtige Aktivitäten erkennen und ihnen entgegenwirken können. Zum Beispiel gibt es Versionen für macOS in unserer Sicherheitslinie — sowohl für Privatanwender als auch für Unternehmenskunden.