工业互联网+

俄罗斯400多家工业企业遭遇网络钓鱼攻击


发布时间 2019-02-20   来源:FreeBuf  


概要


卡巴斯基实验室(Kaspersky Lab)ICS CERT发现了一系列带有恶意附件的网络钓鱼电子邮件,主要针对的是与工业生产相关的企业和机构。网络钓鱼电子邮件伪装成合法的商业邀请函,主要被发送给位于俄罗斯的工业企业,且每一封电子邮件的内容都与目标收件人所从事的工作有很大的相关性。


根据我们收集到的数据,这一系列攻击开始于2017年11月,且目前仍在进行中。值得注意的是,早在2015年就已经有类似攻击的记录。


这些攻击中使用的恶意软件安装了合法的远程管理软件——TeamViewer或Remote Manipulator System/Remote Utilities(RMS),这使攻击者能够远程控制受感染的系统。另外,攻击者还使用了各种技术来掩盖系统被安装在系统中的恶意软件的感染和活动。


根据现有数据,攻击者的主要目标是从受害企业的帐户中窃取资金。在攻击者连接到受害者的计算机之后,他们会搜索并分析采购文档,以及其使用的财务和会计软件。在此之后,攻击者会寻找各种方法来实施财务欺诈,例如伪造用于付款的银行信息。


在感染系统之后,如果攻击者需要额外的数据或功能(如权限提升和获取本地管理员权限、窃取用于财务软件和服务的用户身份验证数据,或者用于横向移动的Windows帐户),那么他们会将一个额外的恶意软件集合下载到系统中,且它是专门针对每一位个人受害者的攻击而量身定制的。这个恶意软件集合可能包括间谍软件、扩展攻击者对受感染系统控制的其他远程管理工具、用于利用操作系统和应用软件漏洞的恶意软件,以及为攻击者提供Windows帐户数据的Mimikatz工具。


攻击者很显然是通过分析被攻击企业员工的通信来获取他们进行犯罪活动所需的信息。另外,他们也可以使用这些电子邮件中的信息来准备新的攻击——针对与当前受害者合作的企业。除了经济损失之外,这些攻击还会导致受害企业敏感数据的泄露。



网络钓鱼电子邮件



在大多数案例中,网络钓鱼电子邮件的内容都与财务相关,其附件的命名也体现了这一点。具体来说,其中一些电子邮件声称是由大型工业企业所发出的招标邀请(见下文)。


恶意附件通常会是一个存档文件。有些电子邮件没有附件,在这些案例中,电子邮件的正文旨在引诱收件人点击一个指向外部资源的链接,而恶意对象就会从这些资源下载。


这封电子邮件声称自己是由一家知名的工业企业发出的。发送该电子邮件的服务器的域名与该企业官方网站的域名确实非常相似。电子邮件附带有一个受密码保护的存档文件,而这个密码可以在电子邮件的正文中找到。



值得注意的是,攻击者在电子邮件中使用了该企业一名员工的全名(出于保密原因,我们对电子邮件的这部分内容进行了屏蔽处理,见上面的屏幕截图)。这表明攻击是经过精心准备的,并且攻击者针对每一名目标收件人都创建了包含与特定企业相关的详细信息的个人电子邮件。


作为攻击的一部分,攻击者使用了各种技术来掩盖感染过程。在此类案例中,除恶意软件组件和远程管理应用程序之外,Seldon 1.7(用于搜索招标信息的合法软件)也被安装在了受感染的系统中。


为了不让用户怀疑他们为什么没有获取到在钓鱼电子邮件中提到的采购招标信息,恶意程序所安装的这个Seldon 1.7软件实质上是一个恶意版本。


在某些案例中,受害者看到的是一个部分损坏的图像。



此外,还存在将一个已知的恶意软件被伪装成一份包含银行转帐收据的PDF文档的案例。奇怪的是,收据的确包含有效的数据。具体来说,它提到了现有公司及其有效的财务细节,甚至连汽车的VIN码也与其型号相匹配。



银行转帐收据的屏幕截图


在这些攻击中使用的恶意软件安装了合法的远程管理软件——TeamViewer或Remote Manipulator System/Remote Utilities(RMS)。



使用RMS实施的攻击


有几种已知的方法可以将恶意软件安装到系统中。恶意文件可以通过附加到电子邮件中可执行文件运行,也可以通过特制的Windows命令解释程序运行。



例如,上面提到的存档文件就包含了一个与其拥有相同名称的可执行文件,并且它是一个受密码保护的自解压存档文件。存档文件会在提取文件的同时运行一个脚本,用于安装和启动系统中的实际恶意软件。



恶意软件安装文件的内容


从上面屏幕截图中的命令可以看出,在复制文件后,脚本会删除自身文件,并在系统中启动合法软件——Seldon v.1.7和RMS,使攻击者能够在用户不知情的情况下控制受感染的系统。



恶意软件的文件将被安装在%AppData%\LocalDataNT folder %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后面的远程控制系统(在流行的即时消息解决方案中也使用了类似的机制)。


在已发现的配置文件中找到的电子邮件地址列表将在IoCs部分中提供。


在完成这些之后,攻击者就可以使用系统的Internet ID和密码在用户不知情的情况下通过合法的RMS服务器使用标准的RMS客户端来控制整个系统。




使用TeamViewer实施的攻击



使用合法的TeamViewer软件实施的攻击与使用RMS软件实施的攻击非常相似,具体如上所述。最显著的一个区别特征是,来自受感染系统的信息被发送到了恶意软件的命令和控制服务器,而不是攻击者的电子邮件地址。


与使用RMS一样,恶意代码通过将恶意库替换为系统DLL注入到TeamViewer进程中。在使用TeamViewer的案例中,攻击者使用了msimg32.dll。


这并非一种专属战术,合法的TeamViewer软件之前曾被用于APT和网络犯罪攻击。在使用过这个工具集的组织中,最知名的应该算是TeamSpy Crew。不过,我们认为在本文中描述的攻击与TeamSpy无关,而是另一个网络犯罪集团所为。奇怪的是,在分析这些攻击的过程中被识别出来的用于加密配置文件和解密密码的算法与去年4月份描述类似攻击的一篇文章中所公布的算法完全相同。


大家都知道,合法的TeamViewer软件并不会向用户隐藏其启动或操作,尤其是在远程控制接入的时候会通知用户。可是,攻击者需要在用户不知情的情况下获得对受感染系统的远程控制。为此,他们挂钩了几个Windows API函数。


攻击者使用了一种名为“Hooking”的众所周知的方法来将函数挂钩起来。因此,当合法的软件调用其中一个Windows API函数时,控制权将被传递给恶意DLL,而合法的软件只会得到一个欺骗性的响应,而不是一个来自操作系统的响应。



Windows API函数被恶意软件挂钩


挂钩Windows API函数使攻击者能够隐藏TeamViewer的窗口,保护恶意软件文件不被检测到,并控制TeamViewer启动参数。


启动后,恶意库通过执行命令“ping 1.1.1.1”来检查Internet连接是否可用,然后解密恶意程序的配置文件tvr.cfg。该文件包含各种参数,例如用于远程控制系统的密码、攻击者的命令和控制服务器的URL、在发送到命令和控制服务器的请求中使用的HTTP标头的User-Agent字段、用于TeamViewer的VPN参数等。



与RMS不同地方在于,Team Viewer使用内置VPN远程控制位于NAT后面的计算机。

与RMS相同的地方在于,相关的值将被添加到RunOnce注册表键值中,以确保恶意软件在系统启动时自动运行。

恶意软件会收集受感染计算机上的数据,并将其连同远程管理所需的系统标识符一起发送到命令和控制服务器。发送的数据包括:


操作系统版本




用户名


计算机名


有关正在运行恶意软件的用户权限级别的信息


系统中是否存在麦克风和网络摄像头


是否安装了防病毒软件或其他安全解决方案,以及UAC级别


恶意软件会通过以下WQL查询来获取有关系统中安装的安全软件的信息:


root\SecurityCenter:SELECT * FROM AntiVirusProduct


涉及TeamViewer的攻击的另一个显着区别特征是能够向受感染的系统发送命令,并让它们由恶意软件执行。这些命令通过TeamViewer应用程序中内置的Chat(聊天)模块从命令和控制服务器发送命令。当然,聊天窗口会被恶意库隐藏,且日志文件会被删除。




被发送到受感染系统的命令将通过以下指令在Windows命令解释程序中执行:


cmd.exe /c start /b


参数“/ b”表示由攻击者发送的用于执行的命令将在不创建新窗口的情况下运行。


此外,当恶意软件从攻击者的服务器接收到对应的命令时,它还会执行自毁机制。



其他被使用的恶意软件



当攻击者还需要其他数据(如授权数据)的时候,他们会将间谍软件下载到受害者的计算机上,以便收集电子邮箱、网站、SSH/FTP/Telnet客户端的登录名和密码,以及记录击键和屏幕截图。


在攻击者的服务器上安装并下载到受害者计算机上的其他软件中,被发现包含来自以下家庭的恶意软件:


Babylon RAT


Betabot/Neurevt


AZORult stealer


Hallaj PRO Rat


对于这些木马而言,它们被下载到受感染系统中,很可能是被用来收集信息和窃取数据。除了远程管理之外,这些恶意软件还包括以下功能:


记录击键


屏幕截图


收集系统信息以及与已安装程序和正在运行的进程有关的信息


下载其他恶意文件


使用计算机作为代理服务器


从流行的程序和浏览器中窃取密码


窃取加密货币钱包


窃取Skype消息


进行DDoS攻击


拦截和欺骗用户流量


将任意用户文件发送到命令和控制服务器


在其他一些案例中,在对受感染系统进行初步分析后,攻击者会将一个额外的恶意软件模块下载到受害者的计算机中。这是一个包含多种恶意和合法程序的自解压存档文件,它很可能是针对某些特定系统而额外被下载的。


例如,如果恶意软件是在没有本地管理员权限的情况下执行的,那么为了绕过Windows用户帐户控制(UAC),攻击者则会使用上面提到的DLL劫持技术。但在这种情况下,使用的是Windows系统文件%systemdir%\migwiz\migwiz.exe和库文件cryptbase.dll。


此外,攻击者在一些系统中还安装了另一个远程管理实用程序RemoteUtilities,它提供了比RMS或TeamViewer更强大的功能集来控制受感染的计算机。其功能包括:


远程控制系统(RDP)


从受感染的系统下载文件或上传文件到受感染系统


控制受感染系统的电源


远程管理正在运行的应用程序的进程


远程shell(命令行)


管理硬件


屏幕截图和录制屏幕


通过连接到受感染系统的设备录制音频和视频


远程管理系统注册表


攻击者使用了RemoteUtilities的修改版本,使得他们能够在用户不知情的情况下执行上述操作。


在某些案例中,除了cryptbase.dll和RemoteUtilities之外,攻击者还安装了Mimikatz实用程序。我们认为,如果第一个受感染的系统没有安装财务数据处理软件,那么攻击者则会安装Mimikatz。Mimikatz实用程序被攻击者窃取企业员工的身份验证数据,并获取对企业网络中其他计算机的远程访问。攻击者使用这种技术会给企业带来很大的威胁:如果他们成功获取到了域管理员帐户的凭证,那么他们则可以控制企业网络中的所有系统。



攻击的目标



根据KSN的数据,在2017年10月到2018年6月期间,大约有800属于工业企业的员工计算机被本文中描述的恶意软件所攻击。



在2017年10月到2018年6月期间被攻击的计算机数量(按月统计)


据我们估计,俄罗斯至少有400家工业企业成为了这次攻击的目标,涉及到以下行业:

制造业

石油和天然气

冶金

工程

能源

建造

矿业

物流

基于此,可以得出结论,攻击者并不专注于任何特定行业或领域的企业。与此同时,他们的活动清楚地表明了他们专注于破坏属于工业企业的系统。网络犯罪分子的这一选择可能是因为工业企业的网络威胁意识和网络安全文化远不如其他经济领域(如银行或IT公司)的企业。另外,正如我们早前所提到的那样,工业企业与其他领域的企业相比更习惯于在其账户上进行涉及大量资金的操作。这些都使得它们成为对于网络罪犯而言更具吸引力的目标。


(来源:FreeBuf.COM)





相关推荐
重要看点
工业互联网
工业互联网

工业自动化控制系统,主要利用电子、电气、机械、软件组合实现,广泛用于电力、水利、能源、数据采集等关键基础设施领域,包括SCADA、DCS、PLC等工业控制系统的安全问题。