
Tool für CVE-2018-16323
CVE-2018-16323 ist ein Speicherleck bei der Verarbeitung von XBM-Bildern. Nachdem ein XBM-Bild in einen anderen Bildtyp konvertiert wurde, können durchgesickerte Speicherbytes aus den Bilddaten extrahiert werden.
Entdeckt von d4d.
Ein sehr einfaches Werkzeug zum Generieren von CVE-2018-16323 PoCs. Das Verzeichnis samples enthält einige vorgefertigte PoCs, die einfach zu verwenden sind.
Um dieses Werkzeug zu verwenden, sollten Sie ImageMagick installieren:
apt-get -y install imagemagick
Und überprüfen Sie es:
convert -v
Jede Version ist geeignet.
Usage poc generator: ./XBadManners.sh gen WIDTHxHEIGHT NAME.xbm [minimal]
Example gen: ./XBadManners.sh gen 512x512 poc.xbm
Example gen: ./XBadManners.sh gen 1024x1024 poc_minimal.xbm minimal
Usage result recovery: ./XBadManners.sh recover SAVED_PREVIEW.png|jpeg|gif|etc
Example recovery: ./XBadManners.sh recover avatar.png
Der Modus minimal ermöglicht es Ihnen, den kleinstmöglichen XBM-Body zu generieren, um ihn in BurpSuite oder was auch immer Sie möchten einzufügen. Der Minimalmodus wurde getestet und funktioniert einwandfrei. Sie können in diesem Modus beliebige Breite und Höhe einstellen.
Beachten Sie, dass Sie mit einem einzigen Bild viel Speicher extrahieren können. Die einzige Einschränkung ist eine Begrenzung der maximalen Größe des erzeugten Bildes durch das Backend.
Sie können versuchen, preview.png wiederherzustellen. Wenn Sie lesbare Wörter in der Ausgabe erhalten, bedeutet dies, dass alles einwandfrei funktioniert.
./XBadManners.sh gen 512x512 poc.xbm aus../XBadManners.sh recover result.png aus.Schön, wenn sich die Vorschau von einem Upload zum anderen deutlich unterscheidet.
Der Wiederherstellungsmodus wurde für eine schnelle Überprüfung erstellt und sollte für alle von ImageMagick unterstützten Bildformate funktionieren, wurde aber nur für png, jpeg und gif getestet. Sie können die Logik der Speicherextraktion aus dem Bild durch Modifikation des Skripts anpassen (es ist einfach, aber hässlich).

XBM ist ein Schwarz-Weiß-Format. Daher wird jedes Ergebnis wie eine Art Zebra aussehen (wenn Sie eine gute Vorstellungskraft haben). Im Grunde gilt: mehr Schwarz == mehr extrahierte Daten.
Jeder Build von ImageMagick nach diesem Commit und vor diesem Commit ist anfällig.