研究人员会在本文分析一次成功的出于政治动机的对伊朗基础设施的攻击,根据当前证据,这可能不是一次国家组织的攻击行为,而是普通的黑客组织发起的攻击。由于某种原因,这次攻击恰好发生在伊朗,也很可能发生在纽约或柏林。研究人员将着眼于一些技术细节,并揭露这次攻击的幕后主使团队,从而将其与早些年其他几次出于政治动机的攻击联系起来。
重要发现
7月9日对伊朗铁路系统的网络攻击造成大范围混乱,数百列火车延误或取消。继伊朗铁路系统9日遭到黑客袭击后,伊朗公路和城市发展部计算机系统10日又受到网络攻击,导致多个官方网站一度瘫痪。近年来,伊朗及其核计划一直是一系列网络攻击的目标,其中包括2009-2010年由以色列和美国领导的针对铀浓缩设施的著名的震网攻击事件。Check Point Research对这些攻击进行了详细调查,多项证据表明,这些攻击严重依赖于攻击者之前对目标网络的了解和侦察。
此次针对伊朗攻击的战术和技术与此前针对叙利亚多家私营公司的攻击活动相似,从2019年以来就一直在进行。研究人员将这次活动与一个自称为Indra的反对派组织的威胁组织联系了起来。
这些年来,攻击者在受害者的网络中开发并部署了至少3种不同版本的wiper恶意软件,分别是Meteor、Stardust和Comet。从这些工具的质量、它们的攻击方式以及它们在社交媒体上的存在来判断,研究人员发现Indra不太可能是由一个国家发起的攻击。
本文详细描述了对工具以及底层攻击者使用的ttp的技术分析,7月9日,伊朗铁路基础设施遭到网络攻击。据伊朗新闻报道,黑客在全国各地车站的信息公告板上显示列车延误或取消的信息,并敦促乘客拨打某个电话号码以获得进一步信息。而这个号码显然是伊朗最高领袖阿亚图拉阿里·哈梅内伊的办公室号码。
“由于网络攻击造成的长期延误,更多信息请联系64411”,该信息包含的64411明显是最高领导人办公室的号码
第二天,也就是 7 月 10 日,据报道,伊朗公路和城市化部的网站又一次因“网络中断”而停止服务。伊朗社交媒体发布了其中一台被黑计算机显示器的照片,攻击者声称对连续的两起攻击负责。
“我们攻击了铁路公司和公路和城市发展部的计算机系统”,这是攻击者在被攻击的计算机上留下的信息
几天后,伊朗网络安全公司 Amnpardaz Software 发布了一份据称与这些攻击有关的恶意软件的简短技术分析,该报告分析了一款名为Trojan.Win32.BreakWin的恶意软件。Check Point Research根据公布的信息,从公开的资源中检索了这些文件,并进行了彻底的调查。来自其他安全厂商的记者和研究人员对这份报告中的发现进行了审查和评估。在此期间,SentinelOne根据Amnpardaz的分析发布了一份报告。
在本文中,研究人员首先分析这些攻击留下的工件。基于上述分析,研究人员发现了此前在2019-2020年其他活动中使用过的一套类似工具,该工具针对叙利亚多个目标,但当时并未引起公众太多关注。然后,研究人员分享了一些关于潜在攻击者的战术、技术和程序(TTP)的见解,这些攻击者自称为“Indra”,根据一些伊朗消息来源,他们可能与网络犯罪集团有关。
寻找来自伊朗黑客的文件
以 Amnpardaz 的威胁数据库为起点,研究人员搜索了具有类似名称和功能的文件。通过搜索,研究人员找到了几十份文件,它们都是从位于伊朗的两个相同来源上传的。尽管研究人员无法找到所有提到的工件,但基本满足了Amnpardaz报告中描述的大部分执行流程。
执行流程很大程度上是基于多层压缩文件和批处理脚本。其操作过程如下:
试图逃避反病毒检测;
销毁引导配置数据;
运行旨在锁定和彻底清除网络中计算机的最终有效载荷;
针对伊朗目标的攻击流程
执行开始时,通过组策略将计划任务从AD推送到所有计算机。任务名称是Microsoft\Windows\Power Efficiency Diagnostics\AnalyzeAll,它模仿的是由Windows Power Efficiency Diagnostics报告工具执行的AnalyzeSystem任务。后续的.bat文件和压缩文件链打算执行以下操作:
过滤目标计算机:setup.bat首先检查计算机的主机名是否为以下主机名之一:PIS-APP、PIS-MOB、WSUSPROXY或PIS-DB。如果是,则停止执行,并从此计算机中删除包含恶意脚本的文件夹。主机名中的PIS代表乘客信息系统(Passenger Information System),该系统通常负责用实际数据更新平台公告板,因此攻击者确保他们发给伊朗公众的信息能够正确显示。
将恶意文件下载到计算机上:同一个批处理文件从内部网络的远程地址下载名为 env.cab 的 cab 压缩文件:\\railways.ir\sysvol\railways.ir\scripts\env.cab。特定主机名和内部路径的使用表明攻击者事先了解该环境。
提取并运行其他工具:update.bat,它是由setup.bat提取并启动的,使用密码hackemall来提取下一个阶段:cache.bat、msrun.bat和bcd.bat。
断开计算机与所有网络的连接:cache.bat脚本使用powershell -Command "Get-WmiObject -class Win32_NetworkAdapter | ForEach { If ($.NetEnabled) { $.Disable() } }" > NUL命令禁用计算机上的所有网络适配器。
执行反病毒检查:同样的cache.bat脚本也会检查计算机上是否安装了卡巴斯基防病毒软件,如果没有,它会将所有与攻击相关的文件和文件夹添加到Windows防御程序排除列表中,并继续执行。
破坏引导:使用bcd.bat是为了破坏引导过程。首先,它尝试用新内容覆盖引导文件,然后使用Windows内置的BCDEdit工具删除不同的引导标识符:for /F "tokens=2" %%j in ('%comspec% /c " BCDEdit -v | findstr identifier"') do BCDEdit /delete %%j /F。
删除所有痕迹:除了引导覆盖之外,相同的 bcd.bat 还会使用 wevtutil 从系统中删除安全、系统和应用程序事件查看器日志。
释放主要载荷:msrun.bat脚本负责释放Wiper恶意软件。它将Wiper恶意软件相关的文件移动到“C:\temp”,并创建一个名为mstask的计划任务,只在23:55:00执行一次Wiper恶意软件的进程。
对Wiper恶意软件有效载荷的分析
攻击时使用的主要有效载荷是一个名为msap .exe的可执行文件,其目的是通过锁定受害计算机并清除其内容,使其退出服务。在执行时,恶意软件隐藏这个可执行文件的控制台窗口,以减少受害者的怀疑。
Wiper恶意软件配置文件
除非提供加密配置文件 msconf.conf 的路径作为命令行参数,否则Wiper恶意软件将拒绝运行。配置文件在有效载荷的执行过程中提供了一定程度的灵活性,并使攻击者能够针对特定的受害者和系统定制攻击。
使用的配置格式支持多个字段,这些字段共同暗示了该二进制文件在攻击中的作用。
支持的配置字段
并非所有这些字段都实际用于针对伊朗网络的Wiper恶意软件的配置文件中,这可能表明该工具不是专门为此攻击而创建的,或者,其设计受到过早优化的影响。
如果配置成功解析,则程序将字符串“Meteor has started.”写入加密的日志文件,提示恶意软件的内部名称为“Meteor”。正如我们将在本文后面看到的,之前的攻击中使用了另一个名称。在恶意软件的整个执行过程中,它不断将其操作记录到同一个加密日志文件中。这些详细的调试日志可以更轻松地分析恶意二进制文件并了解其工作流程。
配置步骤
接下来,恶意软件开始阻止受害者试图阻止正在进行的感染。首先,通过使用WinAPI或WMI将计算机从Active Directory域中删除。这使得远程向受感染计算机推送任何补救工具变得更加困难。接下来,恶意软件继续破坏计算机的启动配置:在Windows 7之前的版本中,恶意软件覆盖c:\boot. ini 文件,在 Windows 7 及更高版本中,它会删除 BCD 条目。最后,恶意软件更改本地用户的密码。在分析的文件中,攻击者选择的所有密码都有相同的模式:Aa153![random sequence], 例如 Aa153!rHrrdOvpCj or Aa153!IRro3d2JYm。
完成上述所有操作后,用户将无法轻松恢复对其计算机的访问权限。在此阶段,恶意软件会禁用 Windows 屏幕保护程序,然后将桌面壁纸和锁屏图像都更改为自定义图像。这是一对相同的JPEG和BMP图像,这是伊朗铁路的标志,以及与伊朗不同火车站站台板上显示的信息相似的信息:
完成上述操作后,恶意软件会注销所有用户并在新线程中执行一个小程序——“locker”。从配置中检索名为 mssetup.exe 的更衣室文件的路径。mssetup.exe 将通过阻止来自键盘和鼠标设备的输入来阻止用户与计算机交互。最后,在转移到它的主要原因——清除系统之前,恶意软件创建一个计划任务,以确保它自己在系统中的持久性。每次系统启动都会执行定时任务。
顺便提一下,还有一个额外的步骤在这次攻击中没有发生。理论上,恶意软件应该终止配置文件中指定的processes_to_kill列表中命名的所有进程。凑巧的是,用于攻击伊朗目标的配置不包括这个清单,因此没有终止任何进程。稍后,研究人员将展示之前确实使用了此功能的攻击的配置文件。
Wiper恶意软件功能
在内部,这部分被称为"Prefix Suffix wiper"。顾名思义,恶意软件从配置文件中获取前缀和后缀列表,并清除符合此规则的文件。该恶意软件中的另一个字符串“Middle Wiper”可能在过去被该恶意软件用于删除包含一些独特子字符串的文件。
清除过程本身很简单。首先,恶意软件遍历paths_to_wipe配置中的文件和目录,用零字节而不是真正的内容填充它们,然后删除它们。
在清除程序之后,恶意软件试图通过运行以下命令来删除卷影副本:vssadmin.exe delete shadows /all /quiet **and **C:\\Windows\\system32\\wbem\\wmic.exe shadowcopy delete。最后,恶意软件进入无限循环,它根据配置文件中的is_alive_loop_interval值休眠,并在每次迭代中在日志中写入“Meteor is still alive.”。
如果你对这一切很熟悉,也很正常;这一切都和勒索软件的攻击进程一样。不过本文讲的攻击可不是勒索软件,它需要公钥和私钥加密的精心设计才能使被攻击的计算机最终可恢复。
本文翻译自:https://research.checkpoint.com/2021/indra-hackers-behind-recent-attacks-on-iran/如若转载,请注明原文地址