科普向:记录一件关于png文件中毒的事


0x00 起因:

起因是这样的 我在抖音刷到一个呼吁大家不要乱点压缩包 exe之类的视频 其中有个评论者表示自己可以用png去让别人中毒 作为一个臭搞渗透的 我表示怀疑态度 接着那位高人就发了文件hash让我去查 所以才有了本篇文章

0x01 开始分析:

首先从那位高人手里拿到了文件hash b4cb0490afa7da6647dc7f255a6c4c742b649fe4ff853b83f7dd2f948b8686be
接着我们在vt和微步云沙箱中查找了这个hash 不出所料都有记录(其中vt是15年最初提交的
file
首先还是能看到有报毒 根据cisco发布的文章中可以知道该png中包含shellcode 具体分析详情

file
在分析details中我们可以发现他竟然是png文件!(这是为了回应抖音高人
这边我们给大家做个科普 正常来说一个png文件是这样的
file
file
这边上一张解释图
file
这边可以看到png的文件头是89 50 4E 47 0D 0A 1A 0A
这对于经常打ctf的人应该很清楚 在隐写中经常会遇到文件头损坏啊之类的东西
而上面两图我特意用光标标出IHDR和IEND
这分别代表png文件的起始与结束 如果你在结束符后加任何shellcode 在正常的png查看软件中查看该png都是不生效的

我们再来了解一下windows要正常执行shellcode需要走哪些流程
首先shellcode是一段代码 他想要执行都需要通过解码器来转换成机器语言来执行
而解码器这个介质在每个平台上都不同 以下仅列举不一一赘述
比如在web方面你可以用php去运行shellcode 而在windows中需要打包成exe从而执行shellcode(bat和cmd是执行dos命令的格式 当然也可以直接跑代码来执行linux需要打包成二进制文件去执行 或shell命令
所以正常来说我们普通人在windows系统中不需要太过多担心一些陌生文件 常见的bat cmd exe vbs ps1 jar这类的文件后缀你需要小心
But!
go easy 不要太过于担心这类东西 因为现在的杀毒软件都能很好的避免一些敏感命令 即使你只是写了释放文件都会报毒

现在我们大致已经了解了windows中要执行shellcode需要用到什么 我们再回过头来说说这位抖音高人提出来的png中毒
他是这么跟我说的 png可以让电脑中毒 后面我反驳了两句 文件头不一样不是可执行文件 他就开始跟我扯exe捆绑到png里然后打开png就能执行了
ok 这一点我们实际上上面已经说明了png文件之所以可以打开靠得是你的图片查看器 而在IEND之后添加的任何代码都不会作用在里面(相当于垃圾) 因为他读到文件头就知道这是png文件所以只需要判断IEND在什么为止就行 一旦读到了IEND了这个png就结束了
所以他说的exe捆绑到png 然后打开png就会中毒明显是错误的
接着他还给我发了实例 就是0x00中的hash 从而想要证明他是对的(他甚至说了自己做过这个但是将不清楚原理
他还给我了一张微步云沙箱的检测图 表示里面有exe文件执行 以下为评论区原图
file
做过文件分析的人肯定知道 这个rundll32是沙箱自带的exe.... 但是到他嘴里就是png释放出来的....
okok你硬要说是释放出来的你为啥不截图截全
file

其中"C:\Windows\System32\rundll32.exe" "c:\Program Files\Windows Photo Viewer\PhotoViewer.dll" ImageView_Fullscreen C:\tmpntziy0\b4cb0490afa7da6647dc7f255a6c4c742b649fe4ff853b83f7dd2f948b8686be.png 可以看出这个软件只是为了调用photoviewer.dll去打开这个png文件
然后我们在微步云沙箱可以查到该文件的静态分析
file
其作用不需要过多解释 无非就是为了连接某台机器
所以这个恶意文件肯定会对他们进行连接
但是微步云沙箱中网络行为一栏显示0
file
这是为什么呢?明明上面文件分析都分析出来这么多url了他为什么不连接?
因为这压根就没有任何可执行的文件去建立连接 他从始至终只是一个png文件 顶多算加了点料的png文件 他从始至终就不能以dos的方式执行里面的内容 所以才不会进行连接
file
就在上面提到的思科的一篇文章我们也能看到 官方明确说明了png本身无法加载本身的恶意代码 所以可以明确这位抖音高人所说的是错误的
至此实验结束

0x02 吐槽:

那个抖音高人甚至不去看virustotal 可能是因为只有微步云沙箱才对png文件有进程的分析吧(应该不是他不知道吧\<3\
对于他的那张截图我甚至还上传了一个普通的图片到微步云沙箱上去 也能看到rundll32.exe 然后我整理完把所有论证证据发给他 他不回我了... 一开始还挺厉害的让我多查查 我原本还以外是什么行业大佬呢
抖音一直都有一些奇奇怪怪的人存在 我知道他只是想装13 但是起码也得提前搜一下再说吧 不懂的信了以后谁发的png都不敢打开了...(虽然我也怕 给我发恐怖图片的是真下头
对于抖音那位高人 我不过多评价 毕竟人人都有想展现自己的想法 希望你能够在网络安全这条路上越走越远

0x03 结尾:

本人不是一个喜欢争斗的人 我比较喜欢安静 所以不会去公开挑衅某人
如果你是一名网络安全爱好者 完全可以从misc入手来培养兴趣 本次讨论的这个png实际上是15年思科发布的文章 这种手段放到现在的2023年已经不是一种特别高深的手法了(但是也很常用) 现在主流的杀毒软件都可以检测到这些后门shellcode 所以不必过多担心
关于此博客的更新 我目前的想法是随缘更新 我如果想把一直以来所学到的知识全发出来也能水不少篇文章 但是主要是没人看 就当写日记吧

  • 分享:
评论
还没有评论
    发表评论 说点什么