Inhaltsverzeichnis
Hallo und willkommen zurück liebe Leser! In diesem Beitrag geht es um eine self-XSS auf intelx.io! Ich stelle diese XSS Lücke vor, weil es sich diesmal um eine besondere Art und Weise handelt, wie diese Lücke zu exploiten war.
Was ist intelx.io?
Intelligence X ist eine 2018 von Peter Kleissner gegründete Firma im Technologiesektor mit Sitz in Prag. Im Grunde betreibt die Firma eine Art Suchmaschine / Datenarchiv, welche perfekt für OSINT Analysen ist.
Dabei unterscheidet sich der Service von anderen Suchmaschinen, da man sich darauf spezialisiert hat, so viele Informationen wie möglich über das gewünschte „Ziel“ darzustellen.
So kann man nach E-Mail-Adressen, Domains, IPs, Bitcoin Adressen, Bildern, Usernamen, Personen, Telefonnummern, Fahrzeug-Identifizierungsnummern und vielem mehr suchen. Dabei greift intelx.io auf verschiedene 3. Anbieter zu, um möglichst umfangreiche Ergebnisse zu liefern.
Ich gebe dazu auch direkt ein Beispiel. Ich habe mir aus einem Nachrichtenbeitrag von spiegel.de über das Seilbahnunglück in Italien ein Bild herausgesucht. Ich möchte nun über intelx.io mehr über dieses Bild herausfinden.
Aus der reinen Bild-URL kann ich keinerlei Informationen ablesen außer, dass dieses Bild bei spiegel.de gehostet ist. Ich gebe also die Bild-URL in das Suchfeld der Suchmaschine ein und klicke auf „Search„.
Es öffnet sich sofort ein neuer Tab und Google lädt. Ich habe wie im Bild zu sehen direkte Informationen darüber, was es mit diesem Bild auf sich hat. Mir wird direkt der Wikipedia Artikel zu der von dem Unglück betroffenen Seilbahn angezeigt.
Ebenfalls werden mir unzählige Nachrichtenbeiträge zu diesem Unglück angezeigt, welche alle exakt das gleiche Bild für ihren Beitrag verwendet haben.
Das war jetzt nur ein kleines Beispiel dafür, was intelx.io bietet. Die Suchmaschine umfasst wesentlich mehr als nur das. Neben der Suchmaschine bietet intelx.io auch diverse selbst programmierte Tools.
Das sollte als Vorstellung reichen. Kommen wir nun zur Sicherheitslücke.
Die XSS Lücke
Wie bereits weiter oben angemerkt, bietet intelx.io auch diverse eigens programmierte Tools, die den Nutzern der Website weitere Informationen über ihre Ziele bereitstellen. Eines dieser Tools ist das „Magic File Tool“.
Über dieses Tool kann man unter anderem sogenannte Metadaten aus PDF oder Worddokumenten, Bildern, MP4 Videos und mehr extrahieren. Dazu gehören bei Bildern unter anderem die Exif-, XMP- und IPTC-IIM-Daten, welche Informationen zum Autor, Copyright, Aufnahmedatum, Kamera, Geodaten und vielem mehr bereitstellen.
Beim Hacking kann man meiner Meinung nach nicht kreativ genug werden und außerdem sind sich viele Programmierer von Websites der Möglichkeiten eines Hackers nicht bewusst. So war meine Idee, ein Bild zu erstellen, welches ich vorher mit manipulierten Metadaten präpariert hatte.
Das manipulierte Bild
Ich bin also auf pixabay.com unterwegs gewesen und habe mir die gefährlichste Raubkatze herausgesucht, die mir unter die Augen gekommen ist. Ich habe euch im Bild weiter unten auch direkt veranschaulicht, wie solche Metadaten aussehen. Übrigens kann man diese auch im Windows Explorer anzeigen lassen (Details).
Ich habe das Bild ohne manipulierte Daten zum Test einmal auf die Website hochgeladen. Dadurch wollte ich mir anzeigen lassen, welche Metadaten auf der Website angezeigt werden.
Es wurde unter anderem versucht, die Eventdaten (XMP = Extensible Metadata Platform) auszulesen. Die Website irights.info schreibt folgendes zu XMP-Daten.
Der Softwarehersteller Adobe hat 2001 das XMP-Format (Extensible Metadata Platform) ins Leben gerufen. XMP-Daten können neben IPTC-Daten auch die Exif-Informationen und weitere Angaben umfassen, die von Programmen wie etwa Lightroom und Photoshop genutzt werden können. Damit lassen sich auch Informationsfelder definieren, die für den eigenen Arbeitsablauf wichtig sind.
Dementsprechend habe ich die Event-XMP-Daten manipuliert. Der Befehl dazu unter Kali Linux ist folgender.
exiftool -Event='"><script>alert(1)</script><h1>XSS</h1>' cat.jpg
Ich spreche zuerst das Tool an. Dann gebe ich den Parameter an, welchen ich mit meinen Metadaten füllen möchte. Anschließend kommt der Inhalt, welcher als Event gespeichert werden soll. In diesem Fall habe ich mich für eine Alert-Nachricht sowie eine Überschrift entschieden.
Exploit!
Anschließend habe ich über BurpSuite das manipulierte Bild hochgeladen und folgenden Request erzeugt (Unicode habe ich ordentlich dargestellt). Die Website hat die Metadaten in JSON „übersetzt“, da JSON über die meisten Programmiersprachen sehr einfach nutzbar ist.
URL: https://osint.intelx.io/magic/file
Method: POST
POST: [...] "metadata": "Event[x-default]: "><script>alert(1)</script><h1>XSS</h1> [...]
Wie wir auf dem nächsten Bild sehen können, konnte ich die nicht gesicherte Funktion exploiten und den Code ausführen.
Wie findige Leser bereits bemerkt haben, ist dies eine self-XSS und nicht wirklich gefährlich. Trotzdem gilt: Sicherheitslücke bleibt Sicherheitslücke! Dementsprechend habe ich die Lücke gemeldet.
Inhaber der Firma, Peter Kleissner hat sich extrem schnell bei mir gemeldet und hat bevor ich überhaupt irgendwelche Informationen zur Lücke übermittelt hatte, bereits eine Belohnung für meine Arbeit erwähnt, was ich bis dato so noch nicht erlebt hatte.
Abgesehen davon, habe ich es niemals auf eine Belohnung abgesehen. Mir geht es zu jedem Zeitpunkt darum, das Internet ein Stück sicherer zu machen und das Image hinter dem Begriff „Hacker“ aufzubessern. Daher war ich über die angebotene Belohnung besonders erfreut!
Die Lücke wurde innerhalb weniger Tage geschlossen. Während der gesamten E-Mail Kommunikation agierte das Unternehmen sehr transparent und präsent. Ich muss ganz ehrlich sagen, dass ich das bis dato noch nie so erlebt hatte.
Ich bin erfolgreich beim Bug-Bounty-Programm von eBay und der Telekom gewesen, allerdings habe ich nicht das Gefühl, dass der Umgang mit dem Bug-Bounty-Hunter so professionell war, wie intelx.io das gehandhabt hat. Also ein großes Lob von meiner Seite aus.
Als Belohnung für meine Mühen habe ich eine „Professional license“ im Wert von 2000 $ pro Jahr erhalten, welche ich definitiv für private Zwecke und den ein oder anderen Blogpost verwenden werde! Danke nochmals!
Fazit
Diese Sicherheitslücke war meiner Meinung nach sehr lehrreich für alle Beteiligten und sämtliche Seiten der Medaille. Es hat einerseits gezeigt, wie kreativ man beim Bug-Bounty-Hunting sein kann und auf der anderen Seite hat es gezeigt, wie eine Firma sehr professionell mit so etwas umgehen kann.
Ich bedanke mich nochmals bei Peter Kleissner und Josef Novak, welche sich beide sehr professionell verhalten haben und wie immer auch bei euch, weil ihr diesen Beitrag bis zum Schluss gelesen habt.
Ich hoffe, euch hat er Spaß gemacht und vielleicht war er auch etwas lehrreich. Bis zum nächsten Mal! Maurice 🙂 .