Wir freuen uns, eine Reihe von Blogs zur technischen Analyse einzuführen, die sich auf verschiedene gemeinsame Schwachstellen und Gefährdungen (CVEs) konzentrieren, die mit unseren fortschrittlichen Technologien zur Erkennung von Bedrohungen identifiziert und behoben wurden.Alle Forschungsarbeiten werden von den Studenten durchgeführt, die am OPSWAT Cybersecurity Fellowship Programm teilnehmen, das im September 2023 startet.
In diesem Blog erläutern wir die Sicherheitslücke CVE-2020-14425 in Foxit PDF Reader und zeigen, wie sich Unternehmen davor schützen können, ausgenutzt zu werden.
Foxit PDF-Reader
Foxit PDF Reader ist ein von Foxit Software entwickeltes PDF-Tool, das eine Reihe von Funktionen zum Erstellen, Anzeigen, Bearbeiten und digitalen Signieren von PDF-Dokumenten bietet. Die kostenlose Version von Foxit Reader hat an Popularität gewonnen und wird von über 700 Millionen Nutzern verwendet.
Um seine Fähigkeiten und Flexibilität zu verbessern, unterstützt Foxit PDF Reader JavaScript-Erweiterungen, die dem Benutzer Anpassungsmöglichkeiten bieten; dies stellt jedoch auch ein potenzielles Sicherheitsrisiko dar und macht die Software zu einem Ziel für Angreifer.
14425
Eine Sicherheitslücke in Foxit PDF Reader vor Version 10.0 ermöglicht es Angreifern, Remotecode auf dem Gerät des Opfers auszuführen, wenn eine speziell gestaltete PDF-Datei geöffnet wird. Diese Schwachstelle ist auf eine Sicherheitslücke in der JavaScript-Funktion app.opencPDFWebPage zurückzuführen. Wenn Foxit Reader so konfiguriert ist, dass der Standardbrowser zum Öffnen eingebetteter URLs in der PDF-Datei verwendet wird, kann der eingebettete bösartige Code in der ausführbaren Datei ausgeführt werden, ohne dass ein Sicherheitswarndialog ausgelöst wird.
Eine PDF-Datei, die diese Sicherheitslücke ausnutzt, kann über eine E-Mail-Phishing-Kampagne oder bösartige eingebettete Links verbreitet werden. Wenn der Benutzer die kompromittierte PDF-Datei mit der verwundbaren Foxit Reader-Version öffnet, kann der Angreifer durch Remotecodeausführung die Kontrolle über das Gerät des Opfers erlangen.
CVE-2020-14425 Analyse
PDF-Dateien sind in einer Baumstruktur organisiert, die aus einem Kopfteil, einem Hauptteil, einer Querverweistabelle und einem Schlussteil besteht.
- Die Kopfzeile beginnt mit %PDF-1.x, was die Version des PDF-Formats angibt. Gegenwärtig reicht die Formatversion von 1.0 bis 1.7. Der Kopfteil enthält auch Metadaten zum Dokument, wie den Autor, das Erstellungsdatum und andere relevante Informationen.
- Der Body umfasst den gesamten Inhalt der PDF-Datei, der in Objekte wie Seiten, Textströme, Schriftarten, Formulare, JavaScript-Code und andere Elemente unterteilt ist.
- Die Querverweistabelle (Xref-Tabelle) enthält die Referenz und den Byte-Offset für alle Objekte in der PDF-Datei. Sie ermöglicht den schnellen Zugriff auf Objekte, ohne die gesamte Datei lesen zu müssen.
- Der Trailer speichert zusätzliche Informationen, die für das Auffinden der xref-Tabelle wichtig sind, z. B. die Gesamtzahl der Einträge in der xref-Tabelle und den Zeiger auf ihren Anfang.
Da der Body die sensiblen Objekte von PDF-Dateien enthält, konzentrieren sich Angriffe oft darauf, bösartigen Code in diese Komponente zu injizieren.
PDF-Dateien sind aufgrund ihrer Allgegenwärtigkeit ein Ziel für Angreifer geworden. Da PDF-Dateien JavaScript-Code enthalten können, lassen sich mit ihnen verschiedene Angriffe durchführen, wenn sie von einem Browser geöffnet werden, z. B. Denial of Service (DoS), Open Redirect oder Cross-Site Scripting (XSS).
Darüber hinaus können Angreifer einige ausnutzbare Techniken wie Use After Free (UAF) und Buffer Overflow (BoF) verwenden. Sie können auch die Behandlung von Softwarefehlern ausnutzen, um einen RCE-Angriff (Remote Code Execution) auf dem System des Opfers auszuführen. Infolgedessen könnte eine PDF-Datei Ransomware enthalten, die Daten auf dem Rechner verschlüsselt und ein hohes Lösegeld für die Wiederherstellung verlangt, oder die Angreifer könnten die vollständige Kontrolle über den Rechner des Opfers erlangen.
Wenn in Foxit Reader eine Webseiten-URL eingebettet ist, haben die Benutzer zwei Möglichkeiten der Anzeige: die Anzeige der Webseite in Foxit Reader oder die Verwendung des Standardbrowsers auf dem Gerät des Benutzers. In der Standardkonfiguration greift Foxit Reader intern auf die eingebettete Webseite zu. Um innerhalb des PDF-Inhalts das Öffnen einer Webseite anzufordern, verwendet Foxit Reader die Funktion OpencPDFWebPage, ein JavaScript API , das dazu dient, das Öffnen einer eingebetteten Webseiten-URL in der PDF-Datei zu initiieren.
Es besteht jedoch eine Schwachstelle bei der Validierung unzulässiger Eingaben in dieser API, die es Angreifern ermöglicht, einen lokalen Dateipfad in die Funktion opencPDFWebPage einzugeben. Folglich kann die Funktion die bösartige Datei mit dem angehängten Pfad öffnen und diese ausführbare Datei ausführen. Diese Schwachstelle ermöglicht es Angreifern, die auf dem Rechner des Opfers gespeicherte Nutzlast zu starten und Remotecodeausführung zu erlangen.
Die Option, die Webseite in Foxit Reader zu öffnen, eine Voraussetzung für IE 10 oder höher, löst bei einem Exploit-Versuch einen Warndialog aus, während die Option, den Standardbrowser zu verwenden, die Sicherheitswarnung umgeht.
Ausnutzung der Schwachstelle
Bei der identifizierten Schwachstelle besteht ein potenzieller Angriffsvektor in einem Phishing-Angriff, bei dem die PDF-Datei als Ladeprogramm verwendet wird, um eine versteckte angehängte Nutzlast auszuführen. In diesem Szenario sendet der Angreifer eine ZIP-Datei mit einer PDF-Datei und einer versteckten ausführbaren Datei an das Opfer, um es zum Öffnen des Dokuments zu verleiten. Das CVE in Foxit Reader ermöglicht es dem eingebetteten JavaScript-Code, die versteckte ausführbare Datei auszuführen und eine Reverse-Shell-Verbindung zum Rechner des Angreifers herzustellen.
Um JavaScript-Code in die PDF-Datei einzuschleusen, kann der Angreifer die PDF-Inhaltsdatei direkt ändern oder Tools wie Foxit Phantom PDF verwenden. Der bösartige Code definiert den Pfad der schädlichen Datei und führt den schädlichen Code mit der Funktion opencPDFWebPage aus.
Nachdem er die bösartigen PDF-Dateien vorbereitet hat, versteckt der Angreifer die ausführbare Datei und komprimiert den Ordner in eine ZIP-Datei. Um die Sicherheitsvorkehrungen von Antivirenprogrammen zu umgehen, kann der Angreifer die ZIP-Datei mit einem Kennwort verschlüsseln, bevor er sie an das Opfer sendet.
Wenn das Opfer die bösartige PDF-Datei mit der anfälligen Version von Foxit Reader extrahiert und öffnet, wird der eingebettete bösartige Code in der ausführbaren Datei ausgeführt, wodurch der Angreifer das Gerät des Opfers über eine Reverse Shell kompromittieren kann.
Sanierung
Die Multiscanning Technologie in Metadefender Core erkennt bösartige Dateien, die mit Passwörtern komprimiert sind, und ermöglicht es Administratoren, diese Bedrohungen genau zu identifizieren. Durch die Integration von mehr als 30 Antiviren-Engines erreicht die Malware-Erkennungsrate mehr als 99,99 %. Darüber hinaus kann Metadefender Core mit der eingebetteten Deep CDR (Content Disarm and Reconstruction)-Technologie potenziell bösartigen JavaScript-Code effektiv entfernen und sanitisierte, sicher zu verwendende Dateien neu generieren.
Darüber hinaus kann MetaDefender Endpoint anfällige Anwendungsversionen erkennen und automatisch auf die neuesten Patches aktualisieren, um die Sicherheit der Endpunkte gegen potenzielle Bedrohungen in der Zukunft zu erhöhen.