Blog

Informativ, aktuell und spannend – der Oneconsult Cybersecurity Blog.

DFIR, einfach: Analyse von PDF-Dateien
Nadia Meichtry
Nadia Meichtry
|
06.07.2022
(aktualisiert am: 10.10.2024)

PDF-Dateien (Portable Document Format) werden sowohl in der Arbeitswelt als auch von Privatpersonen täglich verwendet. Dadurch sind sie auch für Cyber-Kriminelle ein beliebtes Werkzeug für Phishing-Angriffe. Sie erlauben die direkte Ausführung von Skripten, die zusätzliche Schadsoftware nachladen können.

DFIR, einfach - Analyse von PDF-Dateien

Der schnellste Weg, um festzustellen, ob ein PDF-Dokument bösartig ist, ist dessen kryptografischen Hash-Wert bei einem Online-Dienst wie VirusTotal zu überprüfen. Ist dieser Hash-Wert noch unbekannt, kann eine dynamische Analyse mithilfe einer Sandbox zusätzliche Informationen über das Dokument liefern. Aber Vorsicht bei kostenlosen Sandbox-Diensten: Handelt es sich um ein legitimes internes Dokument, so wird dieses mit dem Hochladen potenziell öffentlich zugänglich gemacht! Aus diesem Grund ist eine statische Analyse in einer virtuellen Maschine eine sehr interessante Alternative.

Der nachfolgende Prozess dient der statischen Analyse eines PDF-Dokuments und wird in diesem Beitrag genauer beschrieben:

  1. pdfid.py verwenden, um einen Überblick über riskante Merkmale der PDF-Datei zu erhalten und ihre Eigenschaften einzuschätzen
  2. pdf-parser.py verwenden, um bestimmte Objekte genauer zu untersuchen
  3. Eingebetteten Code extrahieren, z.B. Shellcode, PowerShell, JavaScript, und bei Bedarf entschleiern (wird im weiteren Verlauf des Artikels nicht erläutert).

In diesem Artikel werden die zwei abgebildeten PDF-Dateien, «View Attached Invoice.pdf» und «Material.pdf», beispielhaft nach diesem Verfahren analysiert.

Vorsicht! Alle folgenden Aktivitäten sollten in einer virtuellen Maschine ohne Netzwerkzugang ausgeführt werden. Bei der Analyse schädlicher PDFs kann es grundsätzlich zur Kompromittierung des umgebenden Systems kommen.

Abbildung 1: «View Attached Invoice.pdf» in einem PDF-Reader
Abbildung 2: «Material.pdf» in einem PDF-Reader

Eingebettete Programme werden nur nach Erlaubnis des Nutzers gestartet, d.h. wenn das Dokument geöffnet wird, erscheint ein Fenster mit einer Sicherheitswarnung (siehe Abbildung 3). Diese Sicherheitseinstellung ist standardmässig in Adobe und Reader X, 9.3 und 8.2 aktiviert (siehe Adobe Erweiterte Sicherheitseinstellung für PDF-Dateien). Der Nutzer muss dann entscheiden, ob er den Zugriff erlauben oder blockieren möchte, wie in der folgenden Abbildung für das zweite Dokument ersichtlich ist. Hat ein Angreifer eine bösartige PDF-Datei unter einem glaubwürdigen Vorwand versendet, ist die Wahrscheinlichkeit hoch, dass der Nutzer diese Warnung ignoriert und die Ausführung des enthaltenen Schadcodes erlaubt.

Abbildung 3: Sicherheitswarnung beim Öffnen der Datei «Material.pdf»

Analyse mit pdfid.py

pdfid.py ist ein Tool von Didier Stevens, das nach bestimmten PDF-Schlüsselwörtern zur Erstauswertung sucht. In diesem Fall ist das Resultat von pdfid.py wie folgt:

Abbildung 4: Resultat von pdfid.py für «View Attached Invoice.pdf»

Hier zeigt das Flag /Page, dass das Dokument eine Seite lang ist, was bei bösartigen PDFs häufig vorkommt. Ansonsten gibt es auf den ersten Blick nichts Auffälliges, da die anderen Flags einen Nullwert haben. Das Dokument enthält dementsprechend kein JavaScript (/JavaScript und /JS) und keine eingebetteten interaktiven Formulare (/AcroForm und /XFA). Es startet keine externen bzw. eingebetteten Programme (/Launch und /EmbeddedFiles) und wird auch nicht automatisch geöffnet (/AA und /OpenAction).

Trotz keiner klaren Anzeichen für ein bösartiges Dokument wird empfohlen, die Untersuchung mit einem anderen Tool wie pdf-parser.py fortzusetzen. pdfid.py ist nicht umfassend und zeigt z.B. nicht an, ob das Dokument auf Links verweist, die bösartig sein könnten. Daher sollte der Inhalt des Dokuments genauer analysiert werden.

Analyse mit pdf-parser.py

pdf-parser.py ist ebenfalls ein von Didier Stevens entwickeltes Tool. Es parst die verschiedenen Elemente der PDF-Datei und zeigt ihren Inhalt an.

Dieses Tool bietet auch die Möglichkeit, mit dem «-s»-Parameter nach Schlüsselwörtern zu suchen. In diesem Beispiel wird bei der Suche nach «URI» folgendes Ergebnis zurückgegeben:

Abbildung 5: Resultat der Suche nach URI mit pdf-parser.py in «View Attached Invoice.pdf»

Diese URI (siehe rote Box in Abbildung 5) ist ein Link als Anmerkung (siehe «Type: /Annot») im Objekt 12.

Eine Suche auf urlscan.io zeigt, dass es sich dabei um eine Phishing-Seite handelt, die auf Adobe abzielt. Aus dem Screenshot unten kann entnommen werden, dass nach den E-Mail-Zugangsdaten des Benutzers gefragt wird, um das Dokument lesen zu können.

Abbildung 6: Resultat der Suche auf urlscan.io

Das Ziel des PDF-Dokuments ist es also, die Zugangsdaten für den Adobe-Cloud-Account des betroffenen Benutzers zu erhalten.

Analyse mit peepdf.py

peepdf.py kann als Alternative zu pdfid.py und pdf-parser.py genutzt werden. Es bietet eine interaktive Shell, mit der sich durch die Struktur der PDF-Datei navigieren und deren Inhalt durchsuchen lässt. Das Tool zeigt auch an, wenn es verdächtige Elemente findet.

Für Material.pdf lautet das Ergebnis wie folgt:

Abbildung 7: Resultat von peepdf.py für «Material.pdf»

peepdf.py hat drei verdächtige Objekte gefunden, eines in der Version 0 und zwei in der Version 2 des Dokuments. /AcroForm (Objekt 7) und /Launch (Objekte 173 und 65) können verwendet werden, um interaktive Formulare einzubetten bzw. externe oder eingebettete Programme zu starten.

Hier ist Objekt 173 von besonderem Interesse, da es auf eine URL verweist:

Abbildung 8: Analyse des Objekts 173 mit peepdf.py

Diese URL war auch in der Warnmeldung zu sehen (siehe Abbildung 3).

Eine Suche auf urlscan.io zeigt, dass über diese URL die Datei «hgfetb.R11» heruntergeladen wird. Ausserdem weist VirusTotal darauf hin, dass diese Datei von mehreren Security-Produkten als bösartig eingestuft wurde.

Abbildung 9: Resultat des Scans der Datei «hgfetb.R11» mit VirusTotal

Ziel dieser PDF-Datei ist es also, das Opfer zum Herunterladen von Schadsoftware zu veranlassen.

Fazit

Als nützliche Alternative zu Sandboxes kann mit einer statischen Analyse schnell festgestellt werden, ob ein PDF-Dokument bösartig ist und welche Eigenschaften es aufweist. Da derartige Dokumente mithilfe von Social Engineering den Nutzer dazu bringen sollen, die Ausführung der eingebetteten Programme zuzulassen, wird empfohlen, Mitarbeitende entsprechend zu schulen – denn sie bilden die erste Verteidigungslinie gegen solche Angriffe.

Haben Sie noch Fragen oder benötigen bei der Umsetzung Unterstützung? Unser Digital Forensics Team hilft Ihnen gerne. Über Ihre Kontaktanfrage freuen wir uns:

DFIR, einfach

Ganz unabhängig, ob Sie als IT-Mitarbeiterin oder -Mitarbeiter tagtäglich IT-Systeme gegen Cyber-Angriffe und deren Nutzer verteidigen oder einfach neugierig sind, wie digitale Forensik funktioniert und Informationssicherheitsvorfälle bewältigt werden: Hier sind Sie richtig! Unter dem Titel «DFIR, einfach» veröffentlichen unsere Expertinnen und Experten des Oneconsult International Computer Security Incident Response Team (OCINT-CSIRT) Beiträge, die Sie als freiwillige IT-Security-Feuerwehr in Ihrem Unternehmen weiterbilden. Jeder Beitrag bringt Ihnen ein Werkzeug, einen Prozess oder Erkenntnisse aus den Informationssicherheitsvorfällen anderer Unternehmen näher. Mit grundlegendem IT-Verständnis und einer guten Prise Neugier sind Sie hier richtig. Übrigens, «DFIR» steht für «Digital Forensics & Incident Response» und unsere Beiträge fokussieren sich auf pragmatische, im Alltag anwendbare und kostengünstige Ansätze – ganz im Sinne der Blog-Reihe: DFIR, einfach.

DFIR, einfach – Reihe

Nadia Meichtry

Autorin

Nadia Meichtry studierte an der UNIL in Lausanne Forensik, ist GCFA, GREM, GDAT und OPST zertifiziert und seit 2020 bei Oneconsult als Digital Forensics & Incident Response Specialist tätig.

LinkedIn

Nichts verpassen! Melden Sie sich für unseren kostenlosen Newsletter an.

Ihre Sicherheit hat höchste Priorität – unsere Spezialisten unterstützen Sie kompetent.

Erreichbarkeit von Montag bis Freitag 08.00 – 18.00 Uhr (Ausnahme: Kunden mit SLA – Bitte über die 24/7 IRR-Notfallnummer anrufen).

Privatpersonen wenden sich bitte an Ihren IT-Dienstleister des Vertrauens oder die lokale Polizeidienststelle.

Weitere Informationen zu unseren DFIR-Services finden Sie hier:

QR_CSIRT_2022@2x
CSIRT zu den Kontakten hinzufügen