导语:最近,Palo Alto Networks Unit 42发现,Tick组织针对韩国防务公司开发了一种特定类型的USB驱动攻击方式,这些USB驱动器及其管理系统中的各种功能,都是针对韩国的安全规则设定的。
Tick是一个主要针对日本和韩国的网络间谍活动组织,该组织自2012年被发现以来,进行了多次攻击活动,如Minzen,Datper,Nioupale(又名Daserf)和HomamDownloader。
最近,Palo Alto Networks Unit 42发现,Tick组织针对韩国防务公司开发了一种特定类型的USB驱动攻击方式,这些USB驱动器及其管理系统中的各种功能,都是针对韩国的安全规则设定的。
破坏USB驱动是一种不常见的攻击技术,该技术可能是专门为了扩展到无法连接的基础气隙系统(air gapped)系统而开发的。另外,Palo Alto Networks Unit 42的研究表明,这些攻击中使用的恶意软件只会尝试感染运行Microsoft Windows XP或Windows Server 2003的系统。尽管恶意软件似乎仅针对新版Windows软件创建,但这似乎表明攻击者有意识地针那些没有互联网连接系统的旧版Windows。在许多国家,政府,军队和国防承包商以及其他安全行业都采用了气隙系统,气隙系统是指,将电脑与互联网以及任何连接到互联网上的电脑进行隔离。
截至目前,研究人员还没有发现任何关于这次攻击的公开报告,因此他们怀疑Tick组织多年前曾利用过本报告中描述的恶意软件进行攻击。但根据收集的数据,研究人员不认为这种恶意软件属于任何攻击活动。<meta name='360_ssp_verify' content='84f393ac11417f80228911969cc19d8d' />
虽然分析并不完整,但根据迄今为止的研究,研究人员可以勾勒出以下假设的攻击情景:
1.Tick组织会以某种方式破坏安全类型的USB驱动器,并将恶意文件加载到数量未知的文件上,这些USB驱动器应该被韩国ITSCC认证为安全。
2.Tick组织创建了一个特定的恶意软件,研究人员称之为SymonLoader,它以某种方式在旧系统上运行,并持续查找这些特定的USB驱动器。
3.SymonLoader专门针对Windows XP和Windows Server 2003系统。
4.如果SymonLoader检测到存在特定类型的安全USB驱动器,它将尝试使用直接访问文件系统的API加载未知恶意文件。
在下面的研究中,研究人员会围绕SymonLoader进行分析。由于研究人员没有发现受损的USB驱动器或未知的恶意文件,因此他们也无法确定这些USB驱动器是如何受到攻击的。具体而言,他们并不知道在制造这些设备的供应链中是否成功实现了攻击。
Tick伪装成合法软件
研究人员猜测感染过程可能如下图所示:
首先,攻击者伪装成合法软件来诱骗用户安装加载程序,这是Tick开发的一种名为“SymonLoader”的新工具。
加载程序在执行时开始监控受感染计算机上的存储设备的更改情况,如果SymonLoader检测到目标类型的安全USB驱动器,它将尝试通过对应于安全USB的设备驱动程序访问存储器,并检查驱动器信息字段中特定于某种类型安全USB的字符串。然后,通过访问USB上存储器的预定义位置,并提取未知的PE文件。
正如去年7月的一篇文章指出的那样,Tick组织在一个合法程序中嵌入了名为HomamDownloader的恶意软件。攻击者随后将被感染的合法应用程序作为钓鱼邮件的附件,攻击开始时,合法应用程序会将HomamDownloader的安全痕迹删除,并安装合法程序进行掩盖。收件人可能不知道这是恶意软件。
在对这些攻击的研究中,研究人员发现自去年7月发布那篇分析以来,有很多的合法韩语软件被攻击。与2017年7月审查样本类似,这些新的木马程序合法程序也会如上所示运行HomamDownloader,这也正如研究人员在2017年7月的研究中发现的那样,HomamDownloader可以通过远程C2服务器安装其他恶意文件,本文是以pre.englandprevail[.]com为例进行说明。
被攻击的韩语软件
在调查中,研究人员在2018年1月21日发现了一个有趣的样本。它与上面列出的样本类似,此样本是一个被攻击的合法程序版本,当恶意程序安装完成后,会删除安装程序。在本文,研究人员是以一个被攻击的日语围棋游戏进行说明的。不像2017年7月所发现到的那样,攻击者没有安装HomamDownloader,而是安装了一个名为SymonLoader的新加载程序。
SymonLoader可以从特定类型的安全USB驱动器中提取隐藏的可执行文件,并在被攻击的系统上执行该文件。不幸的是,研究人员并找到没有这个文件的样本。
被注入恶意程序的日语围棋游戏
尽管与以前的样本有所不同,但研究人员认为该样本还是与Tick组织相关,因为被注入恶意程序的日语围棋游戏的shellcode与前面介绍的被攻击的韩语程序中的shellcode完全相同。此外,SymonLoader与HomamDownloader共享了代码。这证明,Tick组织已经在逐步地升级他们的攻击工具。因此,代码重用是不可避免的。
SymonLoader和HomamDownloader共享的代码
自认为安全的USB数据转移也不安全
SymonLoader会首先检查目标主机的操作系统版本,如果系统高于Windows XP或Windows Server 2003,它将停止工作。根据PE标头中的时间戳,恶意软件是于2012年9月26日创建的。如果未修改timedate值,在Windows 7和Windows Server 2008系统下,恶意软件都不可工作。
在检查了操作系统版本后,SymonLoader会创建一个名为“设备监控器”的隐藏窗口,该窗口开始监控受感染系统上的存储设备的改变情况。当连接了可移动驱动器时,恶意软件将检查驱动器型号和驱动器类型。如果驱动器型号不是A或B,并且驱动器类型不是CDROM,则恶意软件会调用CreateFile API并获取存储设备的句柄。通过排除驱动器A和B(通常用于软盘驱动器)和CDROM驱动器类型,该恶意软件的攻击目标似乎是可移动USB驱动器。
接下来,恶意软件会调用DeviceIoControl()函数,其自定义控制代码为0xE2000010。控制代码由四种不同类型的值组成:DeviceType,Function,Access和Method。在本例中,DeviceType的值为0xE200,计算结果为(0x0E2000010 & 0xffff0000)>>0x10。据微软称,这个特定的DeviceType值是专为第三方供应商制定的。为了能正常工作,第三方驱动程序需要在恶意软件使用自定义控制代码0xE2000010调用DeviceIoControl()之前,就出现在被入侵的系统中。但第三方驱动程序都是哪些呢?下一个函数会有一个线索。
具有自定义控制代码的DeviceIoControl
SymonLoader通过使用IOCTL_SCSI_PASS_THROUGH参数的SCSI(小型计算机系统接口)查询命令获取设备信息,并通过搜索供应商中的特定字符串或查询数据上的产品标识来确定它是否是目标驱动器。研究人员对这些搜索中使用的字符串进行了研究,结果显示,韩国国防工业的一家公司的名字与字符串匹配。该公司专门开发军事、警察、政府机构和公共机构使用的信息和通信安全设备,该公司曾在媒体上宣布他们制造的安全USB存储设备经过认证,完全满足韩国IT安全认证中心(ITSCC)制定的安全要求。在韩国,某些组织必须遵循“USB存储介质指南”,并且只使用通过政府机构审核的安全设备。例如,韩国统一部的指导方针在第4节第1项中就对USB存储器和管理系统程序做了说明。
USB存储器的介绍
上面的内容是:
根据《USB存储器等辅助存储介质安全管理指南》,统一部安全官员应要求国家情报局对使用的USB存储器的安全性进行验证。
研究人员在公共样本库的安全USB驱动器的安装程序中找到了有问题的第三方设备驱动程序,并确认它支持自定义控制代码0xE2000010。该驱动程序为应用程序提供了一些功能,包括访问相应的安全USB volume,研究人员认为这一证据表明,恶意软件只会尝试攻击特定公司生产的安全USB产品。
加载隐藏模块
如果SymonLoader发现它在Windows XP或Windows Server 2003系统上,并发现新连接的设备是由该公司制造的USB驱动器,则它将从USB中提取未知的可执行文件。虽然研究人员没有这个文件的样本,但他们可以通过分析SymonLoader和第三方驱动程序来收集有关它的信息。攻击者会将未知的可执行文件加密并提前将其隐藏在安全USB存储器的末尾部分。这些隐藏的数据不能通过逻辑文件操作API访问,比如ReadFile(),而是要通过SymonLoader使用逻辑区块寻址(Logical Block Addressing ,LBA)和SCSI命令从可移动驱动器上的特定预期位置物理读取数据。
LBA是一种简单的线性寻址方案,是描述电脑存储设备上数据所在区块的通用机制,存储按固定大小分成区块,一般每个区块都有一个从0到N-1的数组,具体取决于USB volume的大小,应用程序可以指定区块号并通过SCSI命令访问数据。
最后,SymonLoader将提取的文件保存在本地磁盘的临时目录中并开始执行,执行过程如下:
1.通过使用READ CAPACITY(10)命令获得存储“N-1”存储的最终LBA;
2.通过Read(10)命令读取最后一个块“N-3”并将其解密;
3.从解密的数据中,获取主模块所在的LBA“X”;
4.通过READ(10)命令从LBA“X”加载数据到“N-4”,并对其进行解密;
5.将解密的文件保存为%Temp%\ [random characters] .tmp并执行它;
6.通过SAVE(10)命令在LBA“N-2”上写入被入侵系统的主机名和本地时间;
下图显示从逻辑区块寻址的角度,所看到的恶意存储的数据布局;
总结
Tick组织最开始使用伪装的合法应用程序诱骗受害者安装HomamDownloader,不过在本文的研究中,研究人员发现了一个未知的加载器恶意软件-SymonLoader,具体推测,HomamDownloader很可能是在多年前的攻击中使用的。与SymonLoader相比,HomamLoader需要连接到其C2服务器才能下载其他恶意有效载荷,而SymonLoader则会在插入受损系统时尝试从特定类型的安全USB驱动器中提取并安装未知隐藏有效载荷。这种技术很少见,而且在野外的其他攻击中几乎没有报道。
虽然研究人员还没有截获这样的样本,但他们已根据足够多的信息来确定它很可能是恶意的,且会破坏USB驱动加载恶意代码攻击隔离的系统。出于安全原因,一些行业或组织只会使用被隔离的系统。另外,由于被隔离的系统经常使用过时的操作系统版本,因此当用户进行数据转移时,只能依赖物理存储设备(尤其是USB驱动器),本文中讨论的SymonLoader和安全USB驱动器就是这种情况。
缓解措施
1.本文讨论的所有样本都已被WildFire沙箱平台归类为恶意程序;
2.所有确定的域名都被归类为恶意域名;
3.AutoFocus用户可以使用Tick活动标签,SymonLoader和HomamDownloader恶意软件标签来跟踪本报告中描述的恶意软件;
IoCs
SymonLoader
格式错误的合法软件的SHA256
8549dcbdfc6885e0e7a1521da61352ef4f084d969dd30719166b47fdb204828a
SysmonLoader SHA256
31aea8630d5d2fcbb37a8e72fe4e096d0f2d8f05e03234645c69d7e8b59bb0e8
Mutex
SysMonitor_3A2DCB47
文件路径
%ProgramFiles%\Windows NT\Accessories\Microsoft\msxml.exe
%UserProfile%\Applications\Microsoft\msxml.exe
注册表项
HKLM\Software\Microsof\Windows\CurrentVersion\run\”xml” = %ProgramFiles%\Windows NT\Accessories\Microsoft\msxml.exe
HKCU\Software\Microsof\Windows\CurrentVersion\run\”xml” = %UserProfile%\Applications\Microsoft\msxml.exe
HomamDownloader
被攻击的合法软件的SHA256
b1bb1d5f178b064eb1d7c9cc7cadcf8b3959a940c14cee457ce3aba5795660aa
3227d1e39fc3bc842245ccdb16eeaadad3bcd298e811573b2e68ef2a7077f6f6
92e0d0346774127024c672cc7239dd269824a79e85b84c532128fd9663a0ce78
33665d93ab2a0262551c61ec9a3adca2c2b8dfea34e6f3f723274d88890f6ceb
HomamDownloader SHA256
019874898284935719dc74a6699fb822e20cdb8e3a96a7dc8ec4f625e3f1116e
ee8d025c6fea5d9177e161dbcedb98e871baceae33b7a4a12e9f73ab62bb0e38
f817c9826089b49d251b8a09a0e9bf9b4b468c6e2586af60e50afe48602f0bec
HomamDownloader的C2域
pre.englandprevail[.]com