it-swarm.com.de

Wie kann eine Schriftart zur Eskalation von Berechtigungen verwendet werden?

Kürzlich veröffentlichte Kaspersky eine Analyse von Duqu 2. und anscheinend verwendete die Malware eine True Type-Schriftartdatei, um eine kritische Sicherheitsanfälligkeit auszunutzen ( CVE-2011-3402 ), um direkt in den Kernel zu springen ". Ich konnte weder viele Details zu dieser speziellen Sicherheitsanfälligkeit noch darüber finden, wie TTFs für heimtückische Zwecke verwendet werden können. Ich würde naiv denken, dass der Code zum Umwandeln von Schriftanweisungen in Zeichen auf dem Bildschirm keinen Kernel-Zugriff benötigt und auch nicht besonders kompliziert sein muss, aber das ist offensichtlich falsch. Was macht eine böse Schriftartdatei in der Lage, beliebigen Code auszuführen?

19
Aron Foster

Schriftarten sind schwer. Es ist alter Code. Es läuft im Kernel-Modus.

Julia Wolf von FireEye, Inc. hat eine Analyse durchgeführt:


Das Wesentliche scheint folgendes zu sein:

Folie 32:

  • Umrisse werden in einer Turing Complete-Sprache gezeichnet, um den Grafikstatus zu ändern

(Und diese Sprache scheint im Kernel-Modus interpretiert zu werden.)

Folie 78:

  • Dies war die Länge des CVT-Arrays, das in der internen globalen Statusstruktur der True Type VM gespeichert war.
  • Infolgedessen glaubte die TrueType-Engine nun, dass sie einhundertneunundzwanzig Elemente anstelle der ursprünglichen Länge von einem enthielt.

Update 2016-06: Allgemeiner Hintergrund bei Project Zero

Google Project Zero hat einen ausführlichen Hintergrund-Blogbeitrag über allgemeine Sicherheitslücken bei Schriftarten zusammengestellt:
(Das spezifische CVE-2011-3402 von oben wird jedoch nicht erwähnt.)

Update 2017-01: Windows 10 Aniversary Update analysiert jetzt Schriftarten im USER-Modus

17
StackzOfZtuff

TrueType-Schriftarten und OpenType-Schriftarten

TrueType-Schriftarten (TTF) und OpenType-Schriftarten (OTF) sind äußerst beliebte und weit verbreitete Schriftartensysteme. Für viele Maschinen ist TTF die Standardeinstellung und OTF wird immer beliebter, insbesondere da es als Open-Source-Format verwendet werden kann. OTF wurde 1996 öffentlich zugänglich gemacht, und TTF wurde schon lange zuvor verwendet. Der Legacy-Code, der häufig in Treibern verwendet wird, die diese beiden Schriftsysteme unterstützen, deckt Schwachstellen wie Heap-Überlauf oder Out-of-Bound-Fehler auf - beides gängige Angriffsmethoden für Exploits, die zur Ausführung böswilliger Berechtigungen führen.

Exploits, die auf TTF- und OTF-Schwachstellen abzielen, zielen normalerweise auf Treiber ab, die die Verwendung dieser Schriftartdateitypen auf einem Computer unterstützen.

Im Fall von CVE-2015-2426 (das Microsoft als Exploit: Win32/CVE-2015-2426 erkennt und blockiert) hat der Exploit versucht, ein Ziel zu erreichen Eine DLL-Treiberdatei (atmfd.dll), die von der Windows Adobe Type Manager-Bibliothek in Windows verwendet wird. Die Sicherheitsanfälligkeit wurde mit MS15-078 behoben. TrendMicro hat eine Analyse dieser Sicherheitsanfälligkeit durchgeführt, die im HackingTeam-Exploit gefunden wurde, als ihre Daten aufgrund einer Datenverletzung verloren gingen. Die NCC Group führte auch eine ausführliche Analyse des HackingTeam-Exploits durch, der als ms15_078_atmfd_bof in das Metasploit-Framework-Projekt aufgenommen wurde.

Wenn Sie die ganze Geschichte ertragen können, lesen Sie unbedingt den Vortrag von j00ru von 44CON über Reverse Engineering und Exploiting Font Rasterizers .

CVE-2013-3128 (behoben durch MS13-081) war eine Sicherheitsanfälligkeit in der Art und Weise, wie OTF- und TTF-Schriftarten von Microsoft-Programmen analysiert wurden. In einem solchen Fall würden Angreifer eine böswillige oder fehlerhafte Schriftart in eine Webseite einbetten, die dann die Sicherheitsanfälligkeit lädt oder angreift und die Installation von Malware auf dem Computer ermöglicht. Es gibt Nessus und OpenVAS Plugins für CVE-2013-3128, die enthalten eine verwandte TTF-Sicherheitsanfälligkeit, CVE-2013-3894. Wahrscheinlich war der Grund, warum diese beiden es nie in ein Metasploit-Framework-Exploit-Modul geschafft haben, der, dass das gleiche Patch-Rollup, MS13-081 und MS13-082, einen weiteren lokalen Exploit zur Eskalation von Berechtigungen mit dem Namen ms13_081_track_popup_menu enthielt (ähnlich wie das neuere ms14_058_track_popup_menu).

Wenn Sie Schwachstellen in der Font Scaler Engine wirklich mögen, lesen Sie unbedingt die Arbeiten von F13 Laboratory , einschließlich der Black Hat USA 2013 - Smashing The Font Scaler Engine in Windows Kernel Video und Whitepaper sowie die Arbeit von Dig Team , Black Hat USA 2014 - Grundlegendes zu TOCTTOU in der Windows-Kernel-Font-Scaler-Engine und PDF-Präsentation .

Eingekapseltes PostScript

Eingekapselte PostScript-Dateien (EPS) werden verwendet, um Druckvorschauen anzuzeigen und andere Funktionen im Zusammenhang mit dem Drucken bereitzustellen. Wie TTF sind sie allgegenwärtig.

Die .eps-Datei kann in andere Dateien eingebettet werden, z. B. in eine Word-DOCX-Datei. Die DOCX-Datei wird entpackt oder entpackt, die Eeps-Datei wird hinzugefügt und als Bild referenziert, und die DOCX-Datei wird neu gepackt.

Wir haben drei Versionen dieses Übermittlungsmechanismus mit CVE-2015-2545 gesehen, die sich auf den in Microsoft Office verwendeten PosScript-Filter auswirkten:

  • Die erste Version versuchte, CVE-2015-2545 auszunutzen, bevor es öffentlich bekannt wurde, und machte es so zu einem Zero-Day-Exploit. Es wurde eine Datei namens resume.docx verwendet, die erstmals in Indien zu sehen war. Microsoft hat MS15-099 (September-Version) veröffentlicht, um die Sicherheitsanfälligkeit zu beheben.
  • Die zweite Version versuchte, MS15-099 (September-Version) zu umgehen und wurde in Japan beobachtet. Es wurde durch ein Update auf MS15-099 (November-Version) gemildert.
  • Die dritte Version wurde in Korea mit einem unbekannten Dateinamen beobachtet und durch ein Update auf MS15-099 (November-Version) ebenfalls gemildert.

In ungewöhnlicher Weise wurde nie ein Metasploit-Framework-Exploit-Modul für diese Sicherheitsanfälligkeit erstellt. In CORE IMPACT ist jedoch eines als Microsoft Office-Exploit für fehlerhafte EPS-Dateianfälligkeiten zu finden -) - oder sehen Sie sich einige Ansichten in Registern und Stapelspuren an .

9
atdre

Technisch gesehen sollte kein Zugriff auf den Speicherplatz des Kernel-Landes erforderlich sein, um eine Schriftart zu rendern, daher ist ein Exploit und Patch vorhanden.

Der Patch für die Rendering-Engines muss auf den beschreibbaren Speicher im Stack zugreifen und diesen erstellen.

Während dies entweder in Benutzerlandspeicher- oder Kernel-Level-Speicherregistern auftreten kann, ermöglichte dieses besondere Fehlen von Grenzüberprüfungen vor dem Schreiben in den Stapel die Codeausführung aus einer fehlerhaften fon-Datei.

Die beste Möglichkeit, um herauszufinden, wie es ausgenutzt wurde, ist die Suche nach Metasploits-Modulen. Ich glaube, es gibt eine dafür.

0
jas-