Viele Dateiformate, die Inhalte darstellen, wie z.B. JPEGs, die ein aufgenommenes Foto zeigen, können Metadaten enthalten. Diese versteckten Informationen können bei OSINT-Untersuchungen und Penetrationstests von unschätzbarem Wert sein. Schauen wir uns einige Fälle und nützliche Werkzeuge an, um diese scheinbar versteckten Informationen zu extrahieren.
Nichtbereinigung von Metadaten aus Fotos
Die Zeiten sind vorbei, in denen bekannte soziale Netzwerke die Metadaten von Benutzerfotos, die auf Profilen veröffentlicht wurden, nicht bereinigten. Das Extrahieren von nicht entfernten GPS-Koordinaten konnte eine ernsthafte Verletzung der Privatsphäre darstellen, wie z.B. das Offenlegen der Wohnadresse eines Benutzers. Obwohl soziale Netzwerke mittlerweile Metadaten aus Fotos entfernen, tun dies viele Anwendungen anderer Art oft nicht. Es ist wichtig, diesem Aspekt während der Tests Aufmerksamkeit zu schenken, um die Benutzer der getesteten Software vor Situationen wie der zu schützen, die einer deutschen Fernsehjournalistin passiert ist. Sie hat ein solches Foto online gestellt:
Neugierige Internetnutzer haben dieses Foto heruntergeladen und seine Metadaten überprüft. Neben den üblichen Informationen stellte sich heraus, dass es noch mehr enthielt. Beim Ausschneiden des obigen Rahmens hat das Grafikprogramm das Originalfoto als Miniaturansicht beibehalten, die einen breiteren Rahmen zeigt – und viel zu viel offenbart.
FOCA – Massenerkennung von Metadaten in Dokumenten
Das Extrahieren von GPS-Koordinaten oder versteckten Miniaturansichten aus einem Foto stellt „nur“ eine Verletzung der Privatsphäre dar. Wenn wir jedoch Dokumente auf Metadaten überprüfen, können wir auf Informationen stoßen, die uns bei Penetrationstests erheblich helfen können. Das manuelle Suchen nach solchen Dateien und deren Durchsicht kann viel Zeit in Anspruch nehmen. Das Werkzeug FOCA (Fingerprinting Organizations with Collected Archives) automatisiert diesen Prozess. Für eine gegebene Domäne sucht FOCA nach Dokumenten wie Microsoft Office, Open Office oder PDF und extrahiert daraus die Metadaten.
Die Metadaten der Dokumente selbst können die Logins der Benutzer enthalten, die das Dokument erstellt haben. Diese Informationen können verwendet werden, um zu versuchen, sich mit dem Konto dieses Benutzers bei der getesteten Anwendung anzumelden.
Andere wichtige Daten, die dort zu finden sein können, sind Informationen über die verwendete Software zur Erstellung der Datei sowie deren Version. Es könnte sich herausstellen, dass die enthüllte Software anfällig für eine bestimmte Art von Angriff ist und es ausreicht, einen fertigen Exploit zu verwenden, um das System weiter zu infiltrieren.
Neben den Softwareinformationen hinterlassen Dokumente manchmal auch Anmerkungen zur Version des Betriebssystems. Eine solche Erwähnung erleichtert die Penetrationstests erheblich. Schließlich wissen wir jetzt, für welches System wir unser Stück Schadcode kompilieren müssen.
Eine weitere interessante Sache, die in den Metadaten von Dokumenten gefunden werden kann, sind Informationen über den Netzwerkstandort von Druckern. Dies kann einem Angreifer helfen, die Netzwerkinfrastruktur zu kartieren und die Drucker selbst anzugreifen.
Werkzeug verfügbar auf GitHub – https://github.com/ElevenPaths/FOCA
ExifTool Scanner – Automatisierung bei Penetrationstests
Während das zuvor besprochene Werkzeug als eigenständiger Dokumentenscanner funktioniert, der nach bereits von Suchmaschinen indexierten Inhalten sucht, hilft es uns nicht bei der manuellen Erkundung. Schließlich werden Dokumente oft auf Anfrage in Form eines einmaligen Downloadzugriffs erstellt. Hier kommt ein Burp Suite Plugin namens ExifTool Scanner zur Rettung. Es überwacht passiv den Datenverkehr auf Dateien mit Metadaten und extrahiert für uns nützliche Informationen. In einem der Audits hinterließ die getestete Anwendung Informationen über das Tool, das dynamisch PDFs generierte, und die Version des Systems, auf dem es lief.
Werkzeug verfügbar im BApp Store und auf GitHub – https://github.com/portswigger/exiftool-scanner
Witzig – Das Entfernen von Metadaten kann gefährlich sein
Im Jahr 2021 zahlte GitLab 20.000 Dollar für die Entdeckung eines Bugs, der durch das Entfernen von Metadaten zur Ausführung von Remote-Code auf dem Server führte. Es reichte aus, den folgenden Code in die Bildmetadaten einzufügen:
(metadata
(Copyright "\
" . qx{echo vakzz >/tmp/vakzz} . \
" b ") )
Die anfällige Version von ExifTool führt eine Überprüfung in Zeile 31 von exiftool/lib/Image/ExifTool/DjVu.pm durch, die für das Entfernen von Attributen verantwortlich ist, die $ (Perl-Variablen) oder @ (Perl-Arrays) verwenden, um die Sicherheit zu gewährleisten. Dies geschieht, weil dieser Inhalt dann in der Funktion eval [9] in Zeile 34 verwendet wird, die den Inhalt als Code ausführt. Um die anfällige Funktion auszulösen, muss eine gültige DjVu-Datei mit einer Anmerkung erstellt werden, die die Nutzlast enthält, die von der eval-Funktion als Perl-Code ausgeführt wird.
Mehr über diese Schwachstelle können Sie hier lesen: A Case Study on CVE-2021-22204: ExifTool RCE.