导语:卡巴斯基实验室ICS CERT发现了一系列携带恶意附件的网络钓鱼电子邮件,主要针对与工业生产相关的公司和组织。
一、简述
卡巴斯基实验室ICS CERT发现了一系列携带恶意附件的网络钓鱼电子邮件,主要针对与工业生产相关的公司和组织。
网络钓鱼电子邮件伪装成合法的商业报价,主要发送给位于俄罗斯的工业公司。每封电子邮件的内容都反映了受攻击机构的活动以及接收电子邮件的员工的工作类型。
根据我们收集的数据,这一系列攻击于2017年11月开始,目前正在进行中。值得注意的是,早在2015年就发生了第一次类似的攻击。
这些攻击中使用的恶意软件安装了合法的远程管理软件——TeamViewer或Remote Manipulator System / Remote Utilities(RMS)。这使攻击者能够远程控制受感染的系统。威胁行为者使用各种技术来屏蔽系统中安装的恶意软件的感染和活动。
根据现有数据,攻击者的主要目标是从受害机构的帐户中窃取资金。当攻击者连接到受害者的计算机时,他们会搜索并分析采构文档以及使用的财务和会计软件。在此之后,攻击者会寻找各种方式来进行财务欺诈,例如欺骗用于付款的银行详细信息。
如果网络犯罪分子在感染系统后需要额外的数据或功能,例如权限提升和获取本地管理员权限,窃取财务软件和服务的用户身份验证数据,或者横向移动的Windows帐户,攻击者会下载额外的恶意软件包到系统中,专门针对每个受害者的攻击而定制。恶意软件包包括间谍软件、扩展攻击者对受感染系统控制的其他远程管理实用程序、利用操作系统和应用程序软件漏洞的恶意软件,以及向攻击者提供Windows帐户数据的Mimikatz实用程序。
显然,通过其他方法,攻击者分析被攻击企业员工的通信来获取他们犯罪活动所需的信息。他们还可能使用这些电子邮件中的信息来准备新的攻击,针对与当前受害者合作的公司。
显然,除了经济损失之外,这些攻击还会导致受害机构的敏感数据泄露。
二、钓鱼邮件
在大多数情况下,钓鱼电子邮件都有与财务相关的内容;附件的名称也表明它们与财务有关。具体来说,一些电子邮件声称是大型工业公司的招标邀请(见下文)。
恶意附件可能会被打包到压缩包中。某些电子邮件没有附件,在这种情况下,邮件文本旨在引诱用户点击链接,从而导入外部资源并从这些资源下载恶意对象。
以下是针对某些机构的攻击中使用的网络钓鱼电子邮件示例:
钓鱼邮件截图
上述电子邮件是代表一家知名的工业组织发送的。发送邮件的服务器域名类似于该组织官方网站的域名。电子邮件附有一个压缩包,压缩包受密码保护,密码可以在邮件正文中找到。
值得注意的是,攻击者通过公司中一名员工的全名向该公司的其他员工发起了攻击(出于保密原因,在上面的屏幕截图中该部分被屏蔽)。这表明攻击是经过精心准备的,并且为每个受害者创建了包含与特定机构详细信息相关的的个人电子邮件。
作为攻击的一部分,威胁行动者使用各种技术来掩盖感染。在这种情况下,除恶意软件组件和远程管理应用程序外,还在受感染的系统中安装Seldon 1.7(用于搜索招标的合法软件)。
为防止用户不知道为什么没有获得钓鱼邮件中提到的采购招标的信息,恶意程序会分发损坏的Seldon 1.7软件副本。
合法软件Seldon 1.7
在其他情况下,向用户显示部分损坏的图像。
恶意软件打开的图像
还存在已知的恶意软件被掩盖为包含银行转帐收据的PDF文档的情况。奇怪的是,收据包含有效数据。具体而言,它提到了现有公司及其有效的财务细节;甚至汽车的VIN也与其型号相匹配。
恶意软件显示的银行收据截图
这些攻击中使用的恶意软件安装了合法的远程管理软件——TeamViewer或Remote Manipulator System / Remote Utilities(RMS)。
三、使用RMS的攻击
有几种已知的方法可以将恶意软件安装在系统中。恶意文件可以通过附加到电子邮件的可执行文件或特制脚本运行。
例如,上面提到的档案包含一个可执行文件,该文件具有相同的名称,并且是受密码保护的自解压存档。存档会提取文件并运行一个脚本,用于安装和启动系统中的实际恶意软件。
恶意软件安装文件的内容
从上面屏幕截图中的命令可以看出,在复制文件后,脚本会删除自身,并在系统中启动合法软件–Seldon v.1.7和RMS,使攻击者能够在用户不知情的情况下控制受感染的系统。
根据恶意软件版本,文件安装在%AppData%\ LocalDataNT文件夹,%AppData%\ NTLocalData文件夹或%AppData%\ NTLocalAppData文件夹中。
当它启动时,合法的RMS软件加载程序操作所需的动态库(DLL),包括系统文件winspool.drv,它位于系统文件夹中,用于将文档发送到打印机。RMS使用其相对路径不安全的加载库(供应商已收到此漏洞的通知)。这使攻击者能够进行DLL劫持攻击:他们将恶意库与RMS可执行文件放在同一目录中,从而导致恶意软件组件加载并代替相应的系统库获取控制。
恶意库完成恶意软件安装。具体来说,它创建一个注册表值,负责在系统启动时自动运行RMS。值得注意的是,在攻击行动中的大多数情况下,注册表值放在RunOnce键,而不是Run键,使恶意软件仅在下次系统启动时自动运行。之后,恶意软件需要再次创建注册表值。
攻击者最有可能选择这种方法来尽可能的掩盖系统中恶意软件的存在。恶意库还实现了反分析和检测的技术。其中一种技术涉及使用哈希动态导入Windows API函数。这样,攻击者就不必将这些函数的名称存储在恶意库的正文中,这有助于隐藏程序的的实际功能。
实现动态导入功能的部分代码
恶意动态库winspool.drv解密由攻击者准备的配置文件,其中包含RMS软件设置、远程控制机器的密码以及通知攻击者系统已成功感染所需的设置。
其中一个配置文件包含一个电子邮件地址,发送有关受感染系统的信息,包括计算机名、用户名、RMS计算机的Internet ID等。作为此信息的一部分发送的Internet ID是在RMS供应商的合法服务器上生成的。该标识符随后用于连接到位于NAT后面的远程控制系统(类似的机制也用于流行的即时消息解决方案)。
在IOC部分中提供了在已发现的配置文件中找到的电子邮件地址列表。
RC4的修改版本用于加密配置文件。上面提到的存档中的配置文件如下所示。
解密InternetId.rcfg文件
解密notification.rcfg文件
解密Options.rcfg文件
解密assword.rcfg文件
在此之后,攻击者可以使用系统的Internet ID和密码在用户不知情的情况下通过合法的RMS服务器使用标准RMS客户端来控制它。
四、使用TeamViewer的攻击
使用合法TeamViewer软件的攻击与使用RMS软件的攻击非常相似,如上所述。一个显著特征是来自受感染系统的信息被发送到恶意软件命令和控制服务器,而不是攻击者的电子邮件地址。
与RMS一样,恶意代码通过将恶意库替换为系统DLL注入TeamViewer进程。上对于TeamViewer,使用msimg32.dll。
这不是一种独特的策略。合法的TeamViewer软件之前已被APT和网络犯罪分子用于攻击。使用此工具的最著名的组织是TeamSpy Crew。我们认为本文档中描述的攻击与TeamSpy无关,并且是已知恶意软件被另一个网络犯罪集团重用的结果。奇怪的是,用于加密配置文件的算法和用于解密它的密码(在分析这些攻击的过程中被识别出来的)与去年4月在类似攻击的描述中发布的相同。
众所周知,合法的TeamViewer软件不会向用户隐藏其启动或操作,具体而言,会通知用户传入的连接。同时,攻击者需要在用户不知情的情况下获得受感染系统的远程控制。为此,他们挂钩了几个Windows API函数。
使用称为拼接(splicing)方法挂钩函数。因此,当合法软件调用其中一个Windows API函数时,控制权将传递给恶意DLL,并且合法软件获取欺骗性响应而不是操作系统的。
恶意软件挂钩的Windows API函数
挂钩Windows API函数使攻击者能够隐藏TeamViewer窗口,保护恶意软件文件不被检测到,并控制TeamViewer启动参数。
启动后,恶意库通过执行命令“ping 1.1.1.1”检查Internet连接是否可用,然后解密恶意程序的配置文件tvr.cfg。该文件包含各种参数,例如远程控制系统的密码,攻击者的命令和控制服务器的URL,安装TeamViewer服务的参数,用于发送到命令和控制服务器的请求中HTTP头部的User-Agent字段,TeamViewer的VPN参数等。
解密的恶意软件配置文件的截图
与RMS不同,Team Viewer使用内置VPN远程控制位于NAT后面的计算机。
与RMS的情况一样,相关值将添加到RunOnce注册表项,以确保恶意软件在系统启动时自动运行。
恶意软件收集受感染计算机上的数据,并将其与远程管理所需的系统标识符一起发送到命令和控制服务器。发送的数据包括:
· 操作系统版本
· 用户名
· 计算机名
· 运行恶意软件的用户的权限级别的信息
· 系统中是否存在麦克风和网络摄像头
· 是否安装了防病毒软件或其他安全解决方案,以及UAC的级别
使用以下WQL查询获取有关系统中安装的安全软件的信息:
root\SecurityCenter:SELECT * FROM AntiVirusProduct
收集的信息将使用以下POST请求发送到攻击者的服务器:
用于发送加密信息到命令控制服务器的POST请求
涉及TeamViewer的攻击的另一个显著特征是能够向受感染的系统发送命令并让恶意软件执行。使用TeamViewer应用程序中内置的聊天从命令和控制服务器发送命令。聊天窗口也被恶意库隐藏,且日志文件被删除。
使用以下指令在Windows中执行发送到受感染系统的命令:
cmd.exe / c start / b
参数“/ b”表示攻击者发送的用于执行的命令将在不创建新窗口的情况下运行。
如果从攻击者的服务器接收到适当的命令,恶意软件还具有自毁机制。
五、使用其他恶意软件
如果攻击者需要其他数据(授权数据等),他们会将间谍软件下载到受害计算机,以便收集邮箱、网站、SSH/FTP/Telnet客户端的登录名和密码,以及记录键盘和制作屏幕截图。
攻击者服务器上托管并下载到受害者计算机的其他软件包含来自以下家族的恶意软件:
· Babylon RAT
· AZORult stealer
· Hallaj PRO Rat
这些特洛伊木马很可能被下载到受感染的系统并用于收集信息和窃取数据。除了远程管理,这些家族的恶意软件功能还包括:
· 键盘记录
· 制作截图
· 收集有关已安装程序及正在运行的进程的系统信息
· 下载其他恶意文件
· 使用计算机作为代理服务器
· 从流行程序和浏览器中窃取密码
· 窃取加密货币钱包
· 窃取skype通信
· 开展DDoS攻击
· 中断和欺骗用户通信
· 将任何用户文件发送到命令和控制服务器
在观测到的其他情况下,在对受感染系统进行初步分析后,攻击者在受害者的计算机下载了一个额外的恶意模块,一个包含各种恶意和合法程序的自解压存档,显然是为每个特定系统单独选择的。
例如,如果恶意软件之前是由没有本地管理员权限的用户执行的,为了规避Windows用户帐户控制(UAC),攻击者使用上面提到的DLL劫持技术,但这次是在Windows上系统文件,%systemdir%\migwiz\migwiz.exe和cryptbase.dll。
此外,在某些系统中还安装了另一个远程管理实用程序RemoteUtilities,它提供了比RMS或TeamViewer更强大的功能集来控制受感染的计算机。其功能包括:
· 远程控制系统(RDP)
· 将文件传输到受感染系统或从受感染系统传输文件
· 控制受感染系统的电源
· 远程管理运行应用程序的进程
· Remoteshell(命令行)
· 管理硬件
· 捕获屏幕截图和屏幕视频
· 从连接到受感染系统的录音设备记录声音和视频
· 远程管理系统注册表
攻击者使用RemoteUtilities的修改版本,使他们能够在用户不知情的情况下执行上述操作。
在某些情况下,除了cryptbase.dll和RemoteUtilities之外,还安装了Mimikatz实用程序。我们认为,如果第一个受感染的系统上没有安装处理财务数据的软件,则攻击者会使用Mimikatz。在此情况下,Mimikatz实用程序用于窃取企业员工的身份认证数据,并远程访问企业网络中的其他计算机。攻击者使用此技术会带来严重危险:如果他们成功获取域管理员帐户的帐户凭据,则可以控制企业网络中的所有系统。
六、攻击目标
根据KSN的数据,从2017年10月到2018年6月,使用本文所述的恶意软件攻击了大约800名在各个工业公司工作的员工。
2017 .10–2018.06受攻击的计算机数量
根据我们的估计,俄罗斯至少有400家工业公司成为这次攻击的目标,包括以下行业的公司:
· 制造业
· 石油和天然气
· 冶金
· 工程
· 能源
· 施工
· 矿业
· 物流
基于此,可以得出结论,攻击者没有专注于任何特定行业或部门。与此同时,其行动清楚的表明他们决定特意攻击属于工业公司的系统。网络犯罪分子的这种选择可以解释为工业公司的威胁意识和网络安全文化不如其他经济行业(如银行或IT公司)的公司。正如之前所指出的那样,工业公司比其他类型的公司更常见的是在账户上进行涉及大量资金的业务。这也使他们成为更吸引网络犯罪分子的目标。
七、总结
这项研究再次表明,即使使用简单的技术和已知的恶意软件,威胁行为者也可以通过熟练的使用社会工程并在目标系统中掩盖恶意代码来成功攻击许多工业公司。犯罪分子积极使用社会工程来防止用户怀疑他们的计算机受到感染。他们还使用合法的远程管理软件来规避防病毒解决方案的检测。
这一系列攻击主要针对俄罗斯机构,但同样的策略和工具可用于攻击世界上任何国家的工业公司。
我们认为,这次攻击背后的威胁行动者很可能是一个犯罪集团,其成员可以很好的掌握俄语。为攻击中使用的网络钓鱼电子邮件准备的高级别俄语文本以及攻击者用俄语更改机构财务数据的能力表明了这一点。有关攻击者使用的基础结构和语言研究的更多数据可在Treat Intelligence门户网站的私密版本中找到。
远程管理功能使犯罪分子能够完全控制受感染系统,因此攻击方案不仅限于盗窃金钱。在攻击目标的过程中,攻击者窃取属于目标组织、其合作伙伴和客户的敏感数据,对受害公司员工进行秘密视频监控,并使用连接到受感染机器的设备录制音频和视频。
卡巴斯基实验室产品会检测此攻击中使用的各种恶意软件组件,并做出以下判决:
· Trojan.BAT.Starter
· Trojan.Win32.Dllhijack
· Trojan.Win32.Waldek
· Backdoor.Win32.RA-based
· Backdoor.Win32.Agent