导语:Mcafee APT 研究小组发现Hidden Cobra使用新Bankshot攻击土耳其财政部门,并对其进行了详尽分析。
2月28日,McAfee Advanced Threat Research小组发现,网络犯罪组织Hidden Cobra继续以加密货币和金融机构为目标。在分析中,我们观察了Hidden Cobra的Bankshot恶意软件在土耳其金融系统的感染情况。基于代码相似性,受害的商业部门以及控制服务器的字符串,此攻击类似于之前Hidden Cobra发起的针对全球金融网络的攻击—SWIFT。
在这个新的攻击行动中,我们看到了Bankshot的回归,该植入程序最后于2017年出现。Bankshot意图在受害者网络中更持久的工作,以便进一步利用,因此APT研究团队认为此行动旨在获得特定金融机构的访问权限。
根据我们的分析,土耳其的金融机构被包含恶意Microsoft Word文档的鱼叉式电子邮件攻击。该文件包含一个嵌入式Adobe Flash漏洞,最近由韩国互联网安全机构宣布。该攻击利用CVE-2018-4878,允许攻击者执行任意代码,如植入程序。
对此次活动的进一步调查以及Mcafee产品遥测分析表明,该感染发生在3月2日和3日。植入程序的第一个目标是政府控制的主要金融机构。接下来出现在另一个涉及金融和贸易的土耳其政府机构。土耳其还有三家大型金融机构是这次攻击的受害者。迄今为止,植入程序尚未在任何其他部门或国家出现。这表明攻击者利用Bankshot收集信息以计划未来对这些目标的攻击。
Bankshot植入程序从类似于加密货币贷款平台Falcon Coin的域名分发,但类似的域名与合法实体没有关联。恶意域名falcancoin.io于2017年12月27日创建,并于植入程序开始出现前几天更新。植入程序是早期Bankshot的变体,它是一种远程访问工具,可让攻击者在受害者系统上拥有完整的功能。此植入程序还包含擦除目标系统中的文件和内容以清除证据或执行其他破坏性操作的功能。Bankshot于2017年12月13日由国土安全部首次报告,最近重新出现在新编译的变体中。我们分析的样本与2017年文档中的Bankshot变体有99%的相似。
Bankshot植入程序与文件名为Agreement.docx的恶意Word文档相关联。该文件是巴黎未知个体与加密货币交换之间的比特币分配协议模板。文档的作者是test-pc,于2月26日创建并从荷兰提交。该文档包含一个嵌入式Flash脚本,该脚本利用CVE-2018-4878漏洞并从falcancoin.io下载并执行DLL。
我们发现了另外两个用韩文编写的文档,它们利用了与Agreement.docx相同的漏洞。这些文档是同一行动的一部分,可能已被用于不同的目标。这些文档还与falcancoin.io进行了通联,以安装Bankshot并包含加密货币安全性的主题。
两个Flash文件利用CVE-2018-4878漏洞。
· 843c17b06a3aee22447f021307909890b68828b9 (February 25)
· 343ebca579bb888eb8ccb811f9b52280c72e484c (February 25
恶意文档
恶意文档利用 CVE-2018-4878漏洞
植入程序通过嵌入在恶意文档中的Flash文件下载,在受害者查看文档时执行。
Flash文件中嵌入恶意网站falcancoin.io
恶意Flash文件中包含植入程序路径
植入程序(DLL)伪装成ZIP文件并与三个控制服务器通信,其中两个是中文在线赌博网站。这些网址可在植入程序的代码中找到硬编码。
硬编码的控制服务器URLs
分析Bankshot
样本(a2e966edee45b30bb6bb5c978e55833eec169098)是一个Windows DLL,用作后门并包含各种功能。恶意DLL不是服务DLL,因为它缺少ServiceMain()。为了掩饰自身,它可以作为常规库加载到合法进程中运行。
恶意软件首先从DllMain()函数创建一个新线程来执行其恶意活动:
在DllMain()函数中创建新线程
恶意软件执行以下活动:
· 通过动态加载API来构建植入 程序
· 解密控制服务器通信所需的字符串
· 执行控制服务器通信
· 处理控制服务器发出的命令
· 从系统中卸载自身
执行开始后恶意线程使用LoadLibrary()和GetProcAddress()动态加载所需的API。运行时加载以下库中的API:
· Kernel32.dll
· Ws2_32/wsock32.dll
· Apvapi32.dll
· Oleaut32.dll
· Iphlp.dll
· Urlmon.dll
恶意软件加载的动态API
根据2017年以前抓取的植入程序的数据包分析,以下字符串用于控制服务器通信:
· Connection: keep-alive
· Cache-Control: max-age=0
· Accept: */*
· Content-Type: multipart/form-data; boundary=
· Content-Type: application/octet-stream
· Accept-Encoding: gzip,deflate,sdch
· Accept-Language: ko-KR -> Korean
· Content-Disposition: form-data;name=”board_id”
· Content-Disposition: form-data;name=”user_id”
· Content-Disposition: form-data;name=”file1″; filename=”img01_29.jpg”
· Content-Disposition: form-data;name=”file1″; filename=”my.doc”
· Content-Disposition: form-data;name=”file1″; filename=”pratice.pdf”
· Content-Disposition: form-data;name=”file1″; filename=”king.jpg”
· Content-Disposition: form-data;name=”file1″; filename=”dream.avi”
· Content-Disposition: form-data;name=”file1″; filename=”hp01.avi”
· Content-Disposition: form-data;name=”file1″; filename=”star.avi”
User Agents
植入程序从Internet Explorer中获取User Agents(使用ObtainUserAgentAsString())或使用恶意软件二进制文件中指定的默认User Agents:
Mozilla/5.0 (Windows NT 6.1; WOW64) Chrome/28.0.1500.95 Safari/537.36
控制服务器通信
恶意软件通过向控制服务器发送HTTP POST请求并附加可选的HTTP数据来开启通信,例如:
------FormBoundary<randomly_generated_characters>Content-Disposition: form-data; name="board_id"8306------FormBoundary<randomly_generated_characters>Content-Disposition: form-data; name="user_id"*dJU!*JE&[email protected]@------FormBoundary<randomly_generated_characters>Content-Disposition: form-data; name="file1"; filename="king.jpg"Content-Type: application/octet-stream
· board_id是一个4比特数字,可能是攻击行动ID的标识符。根据对之前样本的分析,这是一个独特的标识符。
· user_id是发送到控制服务器的恶意软件二进制文件中的硬编码值。用户名是攻击者指定的,并在2017年Bankshot样本中出现过。这将以前的样本与这个唯一的用户名关联起来。
· filename基于静态分析。看起来像一个特定的信标,指示恶意软件已准备好接收命令。
包含king.jpg的可选HTTP数据看起来像一个信标,通知控制服务器恶意软件已准备好接受新命令:
· 从控制服务器收到的命令是编码的DWORD
· 解码后,这些DWORD应该在123459h到123490h之间
检测确保收到的命令在正确的范围内
跳转到相应的命令
处理程序地址表
植入程序的功能
根据从控制服务器收到的响应,恶意软件可以执行以下恶意任务:
· 递归生成目录中的文件列表并发送到控制服务器
· 终止一个特定的进程。进程PID由控制服务器发送到恶意软件。
终止进程
· 收集网络地址和操作系统版本
· 使用“cmd.exe / c”执行任意命令
执行系统命令
创建任意进程
· 创建进程
· 将控制服务器的响应写入文件
· 发送所有驱动器的信息
· 将控制服务器发送的数据写入与文件路径模式匹配的临时文件%temp%\ DWS00 *
· 根据控制服务器的指定更改文件的时间
修改文件时间
· 通过模拟登录用户来创建一个进程
使用WTSQueryUserToken获取用户Token
以登录用户身份创建进程
· 收集所有进程的进程时间
获取系统上运行的所有进程的信息
· 基于所有正在运行的进程收集域名和帐户名
收集帐户信息
· 读取指定文件的内容并将数据发送到控制服务器
· 将控制服务器发送的数据写入现有文件
· 标记重启时要删除的文件
标记文件重启时删除
· 用全零覆盖文件并将其标记为重启时删除
用全零擦除文件并将其标记为重启时删除
· 使用DeleteFile()API删除文件
· 将任意库加载到其进程空间中。这可能被用来加载额外下载的攻击组件。
加载任意库到其进程空间
执行每个操作之后,恶意软件会向控制服务器发送一个响应,指示操作是否成功。
连接
美国政府报告说,Hidden Cobra将Bankshot用于多个行业,包括金融机构。该植入程序与韩国主要的银行攻击有关,也被称为Trojan Manuscript。该变体包含搜索与SWIFT网络相关的主机和针对土耳其金融部门的变体相同控制服务器字符串的功能。植入程序不进行金融交易;而是进入受害者环境的一个渠道,在这个环境中可以植入更多阶段的程序进行侦察。2017年,Bankshot植入程序也出现在来自拉丁美洲银行的文件中。
这些连接,以及植入程序与已知变体几乎相同的外观结合起来,强烈表明了我们发现的Hidden Cobra攻击。此外,2017年之前的植入程序包含具有财务主题内容的伪造文档。
代码对比
结论
我们已经在早期的数据收集阶段,发现了将来可能对土耳其金融组织(可能还有其他国家)进行的攻击。在此次行动中,我们看到其采用了最新的Adobe Flash 0 day漏洞,可将程序植入受害者的系统。
对未修补漏洞Flash的受害者,该行动有很高的成功机会。携带Flash漏洞的文档设法逃避静态防御,并且仍然未被VirusTotal检测出。这是Bankshot首次直接与金融相关的入侵,并且是自2017年11月以来首次使用。
IoC
MITRE ATT&CK techniques
· Exfiltration over command and control channel
· Commonly used port
· Command-line interface
· Service execution
· Automated collection
· Data from local system
· Process discovery
· System time discovery
· Credential dumping
· Exploitation of vulnerability
· Process injection
· File deletion
Hashes
· 650b7d25f4ed87490f8467eb48e0443fb244a8c4
· 65e7d2338735ec04fd9692d020298e5a7953fd8d
· 166e8c643a4db0df6ffd6e3ab536b3de9edc9fb7
· a2e966edee45b30bb6bb5c978e55833eec169098
Domains
· 530hr[dot]com/data/common.php
· 028xmz[dot]com/include/common.php
· 168wangpi[dot]com/include/charset.php
· Falcancoin[dot]io