导语:从2018年到至少2020年秋季初,攻击者发送了包含恶意软件的网络钓鱼电子邮件,攻击利用了社工技术和合法文件,例如备忘录和设备使用说明书或其他工业信息的文件,这些文件已从受攻击的公司或其业务合作伙伴那里被窃取。
0x01 基本概述
· 从2018年到至少2020年秋季初,攻击者发送了包含恶意软件的网络钓鱼电子邮件。
· 攻击利用了社工技术和合法文件,例如备忘录和设备使用说明书或其他工业信息的文件,这些文件已从受攻击的公司或其业务合作伙伴那里被窃取。
· 攻击使用远程管理程序。这些程序的图形用户界面被恶意软件隐藏,使攻击者可以在用户不知情的情况下控制受感染的系统。
· 在新版本的恶意软件中,攻击者更改了感染新系统后使用的通知渠道:他们使用RMS远程管理程序的云基础结构的Web界面,而不是恶意软件的命令和控制服务器。
· 从受攻击的组织中窃取资金仍然是攻击者的主要目标。
· 在持续的攻击过程中,网络罪犯使用间谍软件和Mimikatz程序来窃取身份验证凭据,这些凭据随后用于感染企业网络上的其他系统。
0x02 技术分析
我们在之前的报告“使用RMS和TeamViewer对工业企业的攻击”中描述了这一系列攻击的技术细节,在本文档中,我们仅列出了攻击的主要阶段,并描述了攻击者的策略和工具集。
https://securelist.com/attacks-on-industrial-enterprises-using-rms-and-teamviewer/87104/
1.钓鱼攻击
在大多数情况下,此攻击中使用的网络钓鱼电子邮件会伪装成组织之间的业务往来邮件。具体来说,攻击者代表大型工业公司发送索赔信。
网络钓鱼电子邮件伪装成索赔信
在较早的攻击系列中,攻击者使用的发件人电子邮件地址的域名与该组织的钓鱼电子邮件所代表的组织的官方网站地址相似。现在,他们使用公共电子邮件服务发送网络钓鱼电子邮件,并且使用另一种技术来误导邮件收件人并说服他们打开恶意附件:他们假装成是真实的业务合作伙伴或代表受攻击的公司的真实子公司,并且请收件人在电子邮件中指定的截止日期之前查看随附的文件,在采购招标临近结束时解释请求,可能的处罚或需要尽快查看设备配置数据。
还应强调的是,网络钓鱼电子邮件是针对受攻击的每个特定公司单独制作的。电子邮件文本中提到了被攻击公司的名称,以及攻击者用作附件的文件(在下面提供了文件说明)这一事实证明了这一点。在较早发现的某些情况下,攻击者还用收件人的全名称呼收件人。
代表承包商发送的网络钓鱼电子邮件
网络钓鱼电子邮件中使用的附件是受密码保护的存档,邮件正文中提供了密码。攻击者通过参考邮件正文中的机密性说明来解释这种发送信息的方法,但实际上,密码保护可防止使用防病毒工具扫描存档中存储的文件。
2.恶意软件功能
网络钓鱼电子邮件的存档包含一些恶意的经过混淆处理的JS脚本,这些脚本具有相同的功能,但由于使用了不同的代码混淆技术,因此它们的结构略有不同,脚本名称通常伪装成文档名称。
如果用户运行这些脚本之一,则将解压缩并打开两个文件:一个为HEUR:Backdoor.Win32.Generic的恶意程序,以及一个合法的PDF文件。网络钓鱼电子邮件中的某些JS脚本会从远程服务器下载这些文件。
在早期的攻击中,为确保用户对消息正文中所提到的文档不疑惑,并分散用户的注意力,攻击者打开了损坏的PDF文档或图像,或启动了合法的软件安装程序。
恶意软件在较早的攻击中打开的图像
在后来的攻击中,攻击者开始使用与被攻击组织的工作领域相关的实际文档。文档看起来像是由业务伙伴甚至受攻击的组织本身创建的文档。具体来说,攻击中使用的文档包括备忘录的扫描副本,给子公司和承包商的信以及显然是较早之前被盗的采购文档表格。
攻击者使用的包含子公司说明的PDF文档
特别令人感兴趣的事实是,在某些情况下,攻击者使用了包含工业设备配置数据和其他与工业过程有关的信息的文档。
具体而言,已使用DIGSI应用程序的截图,该应用程序用于配置西门子制造的继电器系统。
DIGSI软件截图1
电力设施(例如变电站)使用DIGSI来配置其继电保护系统。
DIGSI软件截图2
中继系统的配置矩阵的快照,设定值列表
在攻击者使用的文档中,我们还找到了带有变压器示波图的截图:
矢量图和波形图
值得注意的是,最后的截图显示了事故发生时系统的示波图。
具有此类截图的网络钓鱼电子邮件并不要求实施附件文档中显示的设置。在安装恶意软件时,攻击者很可能使用带有上述截图的文档来分散人员的注意力。由于上述数据可以为继电保护专家提供有关该设施使用的标准设置的信息,因此,攻击者可以使用此类快照这一事实值得关注。
然后,JS脚本启动恶意软件,该恶意软件将安装TeamViewer的一个版本,该版本是由攻击者修改的远程管理工具(RAT)。与早期攻击一样,攻击者使用恶意DLL库隐藏图形用户界面,以便在用户不知情的情况下控制受感染的系统。
如果需要收集其他信息,则攻击者会下载专门为每个受害者选择的另一组恶意软件。这可能是间谍软件,旨在收集各种程序和服务的凭据,包括电子邮件客户端,浏览器,SSH / FTP / Telnet客户端,以及记录按键和截图。在某些情况下,Mimikatz程序用于收集在受感染系统上输入的Windows帐户的帐户凭据。使用Mimikatz会带来特别的危险,因为它可以使攻击者访问企业网络上的大量系统。
在大多数情况下,攻击者将恶意软件组件伪装为Windows组件,以隐藏系统上恶意活动的痕迹。
3.攻击链分析
在分析一系列新的攻击时,我们注意到了两种结构与早期攻击中所用的不同。
首先,攻击者在系统感染阶段使用伪装成现有俄语公司网站的资源来存储由恶意JS脚本下载的文件。
第二个更重要的区别是,攻击者在与受感染系统的通信中不再使用恶意软件的命令和控制服务器。
使用这种类型的攻击的恶意软件命令和控制服务器的主要原因是,需要在TeamViewer系统中获取受感染机器的ID。攻击者已经有了他们需要的其他信息(连接所需的密码在特殊的配置文件中提供)。在新的系列攻击中,攻击者使用RMS远程管理系统的合法基础结构发送了受感染计算机的TeamViewer ID。
之所以可以这样做是因为RMS远程管理软件有专用的Web服务,该服务旨在通知管理员远程系统上已安装RMS分发程序包。要发送通知,RMS服务器会在邮件正文中生成一封电子邮件,其中包含RMS系统中的计算机ID。对于要生成的消息,RMS客户端将HTTP POST请求发送到专用网页就足够了,并提供以下数据:产品名称,系统中使用的语言包的ID,用户名,计算机名,通知应发送到的电子邮件地址,以及在安装程序后分配的RMS系统中的计算机ID。
攻击链
Web服务的基本机制包含一个漏洞:它不使用任何类型的授权过程。负责隐藏TeamViewer图形界面的恶意DLL包含用于将上述请求发送到RMS服务器的代码。但是,它在TeamViewer系统中发送了计算机的ID,而不是RMS系统中发送了其ID。TeamViewer系统中的ID长度与RMS系统中的ID长度不同;但是,由于没有验证HTTP POST请求中发送到服务器的字段的内容,因此,有关新感染计算机的信息的通知消息已成功传递到攻击者的地址。
0x03 受害者分析
如上所述,受攻击的系统绝大多数是俄罗斯的工业企业,代表了各个经济领域。我们发现了来自以下行业的公司受到的攻击:
· 制造业
· 油和气
· 金属工业
· 工程
· 能源
· 工程
· 矿业
· 后勤保障
因此,这不是针对特定行业的攻击的情况。但是,由于攻击中使用的大多数合法文件都来自能源部门,因此可以假定攻击者对该部门特别感兴趣。
0x04 分析总结
我们深信,这些攻击背后是一个俄语团体。
我们之前的报告“使用RMS和TeamViewer对工业企业的攻击”中提供了支持该理论的证据。
还要注意,在分析恶意DLL的新版本的过程中识别出的用于将请求发送到RMS服务器的代码包含用于操作系统俄语版本的语言ID。
根据现有信息,罪犯的主要目的是从受害者组织的账户中窃取金钱。这意味着攻击者必须对财务工作流有很好的了解,因为财务工作流在某些方面因国家而异,并且支持适当的现金提取基础结构。
该组织没有使用任何复杂的策略或技术,而是精心准备了每种攻击,并熟练地使用了社会工程学技术以及从其他犯罪集团发动的攻击中已知的技术。
我们认为,该小组包括负责感染受害者系统的技术方面的人员,以及负责财务运作的人员,即负责从受害者的受害者中窃取金钱的人员。
攻击者继续使用相对简单的技术成功攻击工业企业,但是其方法正在不断发展。为了说服用户使用网络钓鱼电子邮件的合法性,犯罪分子已开始使用在早期攻击中被盗的文件。值得注意的是,一些用于此目的的文档包含有关工业设备设置和工业过程参数的信息。这是相信这些攻击专门针对工业企业的又一个原因。
攻击的主要技术变化是,攻击者放弃了数据收集和传输中最易受攻击的阶段,即恶意软件命令和控制服务器,可以由托管提供商断开连接或由信息安全系统阻止。相反,新的系统感染通知是通过RMS远程管理实用程序的云基础结构的合法Web界面传递的。伪装成现有组织合法网站的资源用于存储恶意软件样本。
从受感染的系统开始,攻击者就可以完全控制它。从组织帐户中窃取资金仍然是其主要目标。当攻击者连接到受害者的计算机时,他们会寻找财务和会计软件。此外,他们查找和分析与采购有关的会计凭证,并细读企业员工的电子邮件通信。之后,攻击者会寻找各种方式进行财务欺诈。我们认为,犯罪分子能够代替用来支付发票的银行详细信息。
显然,攻击者对受感染系统的远程访问还带来了其他威胁,例如组织的敏感数据被泄露,系统无法运行等。如最新事件所示,攻击者使用了可能是从组织窃取的文档进行后续攻击,包括对受害者公司合作伙伴的攻击。
0x05 IOCs
文件hashs(恶意文档,恶意软件,电子邮件等)
· 386a1594a0add346b8fbbebcf1547e77
· 203e341cf850d7a05e44fafc628aeaf1
· 3b79aacdc33593e8c8f560e4ab1c02c6
· ea1440202beb02cbb49b5bef1ec013c0
· 1091941264757dc7e3da0a086f69e4bb
· 72f206e3a281248a3d5ca0b2c5208f5f
· da4dff233ffbac362fee3ae08c4efa53
· d768a65335e6ca715ab5ceb487f6862f
· 9219e22809a1dff78aac5fff7c80933c
· 86e14db0bcf5654a01c1b000d75b0324
样本名称
· Акт.js
· Запрос 17782-09-1.js
· Перечень документов.js
· спецификация на оборудование xls.js
· tv.dll
· tv.ini
系统上安装的某些恶意软件模块具有随机生成的名称,这些名称遵循特定格式。以下正则表达式可用于搜索此类文件:
%TEMP%\[a-z]{2,3}[0-9]{2}.exe
这些文件保存在临时文件目录(%TEMP%)中。文件名的第一部分由两个或三个罗马字符组成;第二个是两位数,后跟扩展名.exe
Domains 和 IPs
· timkasprot.temp.swtest[.]ru (RemoteAdmin.Win32.RemoteManipulator.vpj)
· 77.222.56[.]169 (RemoteAdmin.Win32.RemoteManipulator.vpj)
· z-wavehome[.]ru (RemoteAdmin.Win32.RemoteManipulator.vpj)
· dncars[.]ru (RemoteAdmin.Win32.RemoteManipulator.vpj)
Yara 规则
rule TeamViewer_ver6_and_lower { meta: description = "Rule to detect TeamViewer ver 6.0 and lower" hash = "4f926252e22afa85e5da7f83158db20f" hash = "8191265c6423773d0e60c88f6ecc0e38" version = "1.1" condition: uint16(0) == 0x5A4D and pe.version_info["CompanyName"] contains "TeamViewer" and (pe.version_info["ProductVersion"] contains "6.0" or pe.version_info["ProductVersion"] contains "5.1" or pe.version_info["ProductVersion"] contains "5.0" or pe.version_info["ProductVersion"] contains "4.1" or pe.version_info["ProductVersion"] contains "4.0" or pe.version_info["ProductVersion"] contains "3.6" or pe.version_info["ProductVersion"] contains "3.5" or pe.version_info["ProductVersion"] contains "3.4" or pe.version_info["ProductVersion"] contains "3.3" or pe.version_info["ProductVersion"] contains "3.2" or pe.version_info["ProductVersion"] contains "3.1" or pe.version_info["ProductVersion"] contains "3.0") }
攻击者使用TeamViewer客户端的过时版本,该版本包含漏洞,使他们能够隐藏程序的图形界面。此YARA规则可用于确定系统上是否安装了TeamViewer软件的旧版本。检查找到的任何此类软件是否已合法安装是一项首要任务。
如果标识了合法使用的TeamViewer客户端的旧版本的实例,则建议将相关软件更新为最新版本。
注册表项
· Key: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\rundll32 Value: rundll32.exe shell32.dll,ShellExec_RunDLL “%AppData%\Roaming\TeamViewer\5\TeamViewer.exe”
· Key: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\CCFTray Value: rundll32.exe shell32.dll,ShellExec_RunDLL “%temp%\TeamViewer.exe”
本文翻译自:https://securelist.com/attacks-on-industrial-enterprises-using-rms-and-teamviewer-new-data/99206/如若转载,请注明原文地址