
PoC - Exploit-Auslieferung mittels Steganografie und Polyglots, CVE-2014-0282
von Charmve - yidazhang1 [at] gmail[dot]com, @Charmve @therealsaumil @amichael
Mai 2021

Stegosploit schafft eine neue Möglichkeit, "Drive-by"-Browser-Exploits zu kodieren und über Bilddateien auszuliefern. Diese Payloads sind mit aktuellen Mitteln nicht erkennbar. Dieses Papier behandelt zwei grundlegende zugrunde liegende Techniken für die bildbasierte Exploit-Auslieferung - Steganografie und Polyglotte. Drive-by-Browser-Exploits werden steganografisch in JPG- und PNG-Bilder kodiert. Die resultierende Bilddatei wird mit HTML- und JavaScript-Decoder-Code verschmolzen und in ein HTML+Image-Polyglott umgewandelt. Das Polyglott sieht aus und fühlt sich an wie ein Bild, wird aber im Browser eines Opfers dekodiert und ausgelöst, wenn es geladen wird.
Stegosploit besteht aus Werkzeugen, die es einem Benutzer ermöglichen, Bilder zu analysieren, Exploit-Daten steganografisch auf JPG- und PNG-Dateien zu kodieren und die kodierten Bilder in Polyglott-Dateien umzuwandeln, die als HTML gerendert oder als JavaScript ausgeführt werden können.
Die aktuelle Version von Stegosploit ist 0.2 und befindet sich in Ausgabe 0x08 des International Journal of Proof-of-Concept or Get The Fuck Out (Poc||GTFO). Beachten Sie, dass Sie den Artikel in PoC||GTFO bis zum Ende lesen müssen, um den Hinweis zur Extraktion des Toolkits zu finden.
README.mdcopying.txt - WTFPLstego/
image_layer_analysis.html - Analysiert die Bitebenen eines Bildesiterative_encoding.html - Kodiert einen Exploit auf ein JPG- oder PNG-Bildimagedecoder.html - Dekodiert ein steganografisch kodiertes Bildimagedecode.jshistogram.jsmd5.jsbase64.jsexploits/
exploits.js - Vorgefertigter Exploit-Codedecoder_cve_2014_0282.html - Decoder-Code + CVE-2014-0282 HTML-Elementejpegdump.c wurde von Ralph Giles geschrieben und kann von https://svn.xiph.org/experimental/giles/jpegdump.c heruntergeladen werden.
In diesem Repository ist project-stegosploit der wichtigste Teil, der zeigt, wie Exploit-Code in einem Bild versteckt, kodiert/dekodiert und das Meterpreter-Framework ausgeführt wird.
Der Exploit-Code wird in die Pixel des Bildes eingefügt, sodass das Bild den Exploit-Code enthält. IMAJS erzeugt dann ein Polyglott-Bild, das als Bild gelesen wird und einen Decoder enthält, der den JavaScript-Exploit extrahiert und ausführt.
Der Exploit, den wir verwenden werden, ist ein Internet Explorer Use-after-free-Exploit (CVE-2014-0282).
python -m http.server 8000
Höhepunkte:
10.0.2.2:5000 bereitstellen..html und .jpg) Refactor CRC32.pm
Refactor PNGDATA.pm
Refactor html_in_jpg_ie.pl
Refactor pngenum.pl
Demo-Server
/statictemplate_render analysiert werdenMein Repository
Dieses Repository folgt der GPL Open-Source-Vereinbarung, bitte stellen Sie sicher, dass Sie diese verstanden haben.
Wir untersagen strikt alle Handlungen, die gegen nationale Gesetze verstoßen, durch dieses Programm. Bitte verwenden Sie dieses Programm im rechtlichen Rahmen.
Standardmäßig wird die Nutzung dieses Gegenstands als Zustimmung zu unseren Regeln angesehen. Bitte halten Sie sich an die moralischen und rechtlichen Standards.
Wenn Sie sich nicht daran halten, übernehmen Sie die Verantwortung für die Konsequenzen, und der Autor übernimmt keine Haftung!
[2] https://conference.hitb.org/hitbsecconf2015ams/sessions/stegosploit-hacking-with-pictures/
[5] https://stackoverflow.com/questions/4110964/how-does-heap-spray-attack-work
[6] https://www.youtube.com/watch?time_continue=1&v=6lYUtIZHlJA
[7] https://www.owasp.org/images/0/01/OWASL_IL_2010_Jan_-_Moshe_Ben_Abu_-_Advanced_Heapspray.pdf
[8] https://en.wikipedia.org/wiki/Heap_spraying
[9] https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
yidazhang1[#]gmail[dot]com
imajs/
html_in_jpg_ie.pl - Erzeugt ein JPG+HTML-Polyglott für den IEhtml_in_jpg_ff.pl - Erzeugt ein JPG+HTML-Polyglott für Firefoxhtml_in_png.pl - Erzeugt ein PNG+HTML-Polyglott (für jeden Browser)pngenum.pl - Zählt die FourCC-Chunks einer PNG-Datei aufjpegdump.c - Zählt die Segmente einer JPG-Datei aufCRC32.pmPNGDATA.pmproject-stegosploit/ - Kernbestandteil Video-Show 1 | Text-Show 1
encoding/ - Kern
iterative_encoding.html - Steganografisches Kodieren des Exploit-Codesimage_layer_analysis.htmlimagedevoder.htmldecode_and_run_cinput_withjs.htmlexploits/ - decoder.htmlimages/ - kodierte und originale Bilderpolyglots/ - lena_poly_demo.htmlscripts/ - Erzeugt ein HTML+PNG-Polyglott polyglot_with_jpg.pytmp/ führen Sie --/tools/msf4$ ./msfconsole -r ./tmp/load_meterpreter.rc aus Video-Show 2README.md - Zeigt, wie dieses project-stegosploit verwendet wird