警惕:近期针对电子元器件行业的攻击活动分析

发布时间 2021-09-13

一、概述


近期,启明星辰ADLab捕获到多起针对电子元器件企业的钓鱼邮件攻击活动,攻击目标涉及多家电子元器件行业的上市公司或上下游供应商,包括天马微电子股份有限公司(中国深圳)、弘忆国际股份有限公司(中国台湾)、questcomp(美国加利福尼亚)、axitea(意大利米兰)等。攻击者以“Dretax.inc-Ryan Osborn -INV -034708182958- 2021.24.08”、“Dretax.inc-Alissa Chung -INV -420511295810- 2021.24.08”等虚假的发票单据为邮件标题发起鱼叉式钓鱼攻击并进一步向目标设备植入Dridex木马,攻击中利用了宏隐藏、多层Loader混淆加密、API动态获取、API向量异常处理调用等多种技术手段对抗分析,同时其回连的网络基础设施均采用CDN和P2P代理节点来规避追踪与检测。


Dridex是一款以窃取银行账户凭证为目的,集僵尸、窃密木马、邮件蠕虫、勒索软件等众多功能于一体的综合性蠕虫病毒,由于其拥有复杂的P2P控制机制、多层代理、快速变异、内外网双渠道感染、RSA-AES通信加密等特点,受攻击企业一旦中招,可能引起内网扩散感染并进一步造成失泄密、遭受勒索攻击、生产线停摆等严重的后果。


随着《数据安全法》的正式实施,全行业、全领域都会受之影响,需要建立完善的数据安全策略。电子元器件及半导体行业作为我国“十四五”大力发展的战略新兴产业,是支撑当前经济社会发展和保障国家安全的战略性、基础性和先导性产业,其产业链安全稳定意义重大。黑客组织一旦通过网络攻击入侵到相关企业内部,一方面会严重威胁到我国自主可控的产业链安全和数据安全;另一方面也可能因勒索攻击、生产线中断等造成巨大的经济损失。因此,启明星辰ADLab提醒有关单位、企业务必重视此类网络攻击活动并及时进行安全防范。


二、攻击威胁分析


2.1 电子元器件企业频遭网络攻击

此次攻击活动瞄准了电子元器件行业的相关企业,我们观察到,近年来电子元器件进入“涨价期”,同时疫情的爆发又加速打破了产业链的供需平衡,造成电子供应链产品供不应求,价格疯涨。一些黑客组织以此为契机,频频针对电子元器件行业展开网络攻击从而牟取高额利益,我们统计了近一年来电子元器件行业遭受网络攻击的部分安全事件如图1所示。


电子元器件行业遭受网络攻击事件.jpg


图1 近一年电子元器件行业遭受网络攻击事件


可以看到,针对电子元器件行业的攻击方式主要集中在加密数据勒索、数据泄漏勒索、拒绝服务攻击勒索(导致生产线停工)等。2020年7月,全球领先的晶圆大厂X-FAB发布公告称其遭到网络攻击,导致所有IT系统和其6个生产基地均停止工作;8月SK海力士、LG电子遭到Maze勒索软件攻击,导致部分职员的大量资料泄露,且SK海力士被黑的文件中还包括与苹果、IBM等客户公司的存储芯片价格协商邮件;9月,以色列芯片巨头TowerJazz突然遭受网络攻击,导致部分系统服务器和制造部门暂停运转,迫于生产线停工的压力,其向黑客支付了数十万美元的“保释费”,以换取黑客对服务器停止攻击;12月,富士康母公司鸿海集团位于墨西哥的工厂遭遇勒索软件“DoppelPaymer”攻击。黑客窃取并加密了部分文件数据,并要求公司支付1804枚比特币以获取解密工具(按照当天市价高达3450万美元);今年3月,全球知名电脑制造商宏基遭遇REvil勒索软件攻击,并被索要5000万美元赎金(约3.3亿人民币),创下最高勒索软件赎金记录。今年8月,我们发现黑客组织又在蠢蠢欲动,开始针对多家电子元器件企业发起钓鱼邮件攻击活动。后文也将针对此次攻击活动进行深入的分析和介绍。


2.2 此次攻击目标


启明星辰ADLab通过对此次攻击活动进行溯源与分析关联,整理出部分攻击者使用的钓鱼邮件,邮件信息见表1。


钓鱼邮件.jpg


表1 邮件信息


在进一步分析后,我们发现攻击者使用了定制的钓鱼邮件模板进行发票类钓鱼邮件的自动化生成和攻击,并针对邮件中涉及发送人、发票序号、发票日期等内容进行了随机化处理。其中,发件人的邮箱后缀被精心伪装成与发票、订单相关的内容,例如payment.dretax.com、invoice.dretax.com、order.dretax.com、mail.dretax.com,邮件标题与附件名也均通过公司名(Dretax.inc)、INV(invoice缩写,译为发票)、日期、编号(随机生成)、发件人名(随机生成)等进行组合伪装,钓鱼邮件如图2所示。


钓鱼邮件-图示.png


图2 钓鱼邮件


此次攻击涉及的目标均为电子元器件行业的相关公司,包括天马微电子股份有限公司、弘忆国际股份有限公司、questcomp、axitea等,由于黑客并没有以特定国家为攻击目标,所以我们认为这是一起广泛针对电子元器件行业的攻击行动,黑客组织的核心目标可能是窃取电子元器件公司的机密数据或技术资料,同时可能进一步通过加密数据勒索、数据泄漏勒索、锁定系统勒索等手段来牟取更多的经济利益。此次活动涉及的部分攻击目标信息如表2所示。


攻击目标.jpg


表2 攻击目标信息


三、技术分析


在此次攻击活动中,攻击者将带有恶意附件的钓鱼邮件投递至电子元器件企业员工,一旦钓鱼计划成功,恶意宏会释放并执行VBScript脚本,该脚本是一个下载器,尝试通过聊天软件Discord的CDN服务下载黑客托管的恶意DLL文件,同时会释放另一个VBScript脚本来加载该恶意DLL。加载的DLL实则为Dridex木马Loader,其使用了多层打包的方式进行下发,在内存中经过2次解密释放Loader后最终从C&C服务器下载执行Dridex木马,并进一步连接至Dridex的P2P代理网络执行恶意操作。


下图展示了此次攻击活动完整的流程: 


攻击流程图.jpg


图3 攻击流程图


3.1 诱饵邮件投递


攻击者伪装了多封以Dretax公司(美国西萨克拉门托)会计人员为发件人的钓鱼邮件,邮件主题均与“发票信息”有关,以图4邮件为例,收件人为我国天马微电子股份有限公司名为“panpan_cao”的员工。邮件正文中简单描述了发票信息及开具发票的会计部门的联系方式,并提示保留所附的发票。


 钓鱼邮件.png


图4 钓鱼邮件


邮件附件是一份伪装的8月发票单,从诱饵文档打开后的内容(如图5)来看,Excel表格仅包括一张图片,内容大意为:“此文档是由Microsoft office excel的早期版本创建,请启用宏选项以显示文档内容”。一旦受害者被诱骗启用宏选项,恶意宏代码便会立即执行。


恶意邮件.jpg


图5 恶意的邮件附件

3.2 恶意宏代码执行


宏代码被隐藏在工作簿的表格当中,默认打开Excel只能看到表Sheet1(表Macro1被隐藏),当点击“启用宏”后,由于表的状态被隐藏仍无法看到,可以通过右键单击主表选项卡取消隐藏选项。


代码执行图.png


图6 取消隐藏的工作表


此时可以在表Macro1中看到恶意宏代码,该恶意代码被混淆后拆分至多个表格中存储。与常见的宏代码隐藏方式不同,此类隐藏技术无法在VBAProject中看到宏代码,能够在一定程度上干扰安全分析。


将xlsm文件解压缩,同样可以在其中\xl\macrosheets\sheet1.xml的位置发现该隐藏的恶意宏代码。


隐藏代码.jpg


图7 隐藏的宏代码


攻击者将恶意代码以10进制字符的形式存储在单元格内(每个字符存储在独立的单元格中),实际执行时通过Excel的CHAR()函数转换为字符串代码后再进一步加载,从而达到混淆和对抗安全检测的目的。将脚本去混淆后,代码的整体调用逻辑如图8所示。


代码调用逻辑.jpg


图8 代码调用逻辑


恶意代码会创建“C:\ProgramData\veqxg.sct”文件,并将J162至S604单元格内的数值内容(如图9)转化为CHAR值后写入其中,然后通过命令EXEC (MSHTA C:\ProgramData\veqxg.sct)执行veqxg.sct文件。


恶意代码.png


图9 恶意代码(每个字符存储在独立的单元格中)

3.3 恶意“sct”文件执行


veqxg.sct文件实则为VBScript脚本,该脚本会在同目录下释放下一阶段的VBScript脚本vaBlOKVbTNVXMTWIJcdR.sct,之后从服务器下载后续的恶意代码vaBlOKVbTNVXMTWIJcdR.dll,如果下载成功,则通过vaBlOKVbTNVXMTWIJcdR.sct脚本执行后续的恶意DLL。


veqxg.sct脚本.jpg


图10 veqxg.sct脚本

下载链接如表3所示:


恶意DLL下载链接.png


恶意DLL下载链接

vaBlOKVbTNVXMTWIJcdR.sct脚本会进一步通过rundll32.exe 执行恶意DLL(参数为CPGenRandom),经过分析,该恶意DLL是Dridex木马的Loader,下文我们将对Dridex木马及其Loader进行具体的分析和介绍。



脚本信息.png


图11 vaBlOKVbTNVXMTWIJcdR.sct脚本


3.4 Dridex木马分析


此次的Dridex使用了多层打包的方式进行下发,第一层Loader执行后,会使用shellcode在内存中解密出第二层Loader来执行,第二层Loader再去攻击者控制的C&C服务器下载Dridex木马。这两个Loader使用了动态函数获取和向量异常处理来调用系统函数,从而躲避安全软件的查杀和干扰安全人员的分析。以下是详细分析:


3.4.1 第一层Loader分析

该Loader的代码经过了整数运算操作混淆,其同时还使用了动态函数调用的技术来执行系统API,以增加静态分析的难度,下图是该Loader在IDA中的部分伪代码:


Loader导出函数伪代码.png


图12 Loader导出函数伪代码


我们结合动态调试分析,发现该Loader的目的是在内存中解密执行一个PE文件。这个过程通过两阶段的shellcode完成:


第一阶段的shellcode被加密保存在该Loader的.rdata段,Loader执行后,将.rdata段的shellcode解密后写到.data段,然后动态调用VirtualProtect函数将.data段的对应shellocde属性修改为可读可写可执行,如下图所示:


shellocde.png


图13 修改.data段的内存属性为可读可写可执行


之后,loader就去执行.data段的shellcode代码,如下图所示:


 data字段.png


 图14 执行.data段的shellcode代码


shellcode的开始是一段解密代码,其负责将第二阶段的shellcode解密出来(循环异或解密shellcode),如下图所示:


 解密第二阶段的shellcode.png


 图15 解密第二阶段的shellcode


解密完成后,shellcode再动态调用VirtualAlloc函数申请一段内存,将解密后的第二阶段shellcode写入到目标内存,之后跳转到第二阶段的shellcode去执行,如下图所示:


执行第二阶段的shellcode.png


 图16 执行第二阶段的shellcode


第二阶段的shellcode执行后,会动态调用VirtualAlloc函数申请内存,将加密数据写入该内存后,再解密执行,解密执行的payload为一DLL文件,如下图所示:


内存中解密出的DLL文件.png


 图17 内存中解密出的DLL文件


3.4.2 第二层Loader分析


该DLL同样是一个loader,其目的是从远程服务器下载下一阶段的Dridex木马。该DLL同样使用了动态函数调用的方式进行函数调用,只有当需要调用目标函数时,恶意代码才会使用FS寄存器检索对应函数的实际地址,然后利用int3异常调用目标函数,如下图所示:


利用int3异常调用目标函数.png


 图18 利用int3异常调用目标函数


这种函数调用的原理是,当程序发生异常的时候,一共有两种处理异常的方式。一种是SHE(Structured Exception Handling),另一种是VEH(Vectored Exception Handling)。该DLL使用了VEH的方式调用目标函数:在运行的开始,恶意代码会注册一个VEH处理程序(如下图所示),当CPU为INT3引发异常时调用异常处理程序以对目标函数进行调用。


函数异常.png


 图19 注册异常处理函数

该DLL内置有3个C&C服务器地址,如下表所示:


DLL内置有3个C&C服务器地址.png


该DLL会尝试逐个和这些C&C服务器进行连接,一旦连接建立成功,DLL就会调用HttpSendRequestW函数向C&C服务器回传目标环境的加密数据(如下图所示),之后该DLL会从C&C服务器下载下一阶段的Dridex木马执行。


回传的加密数据.png


 图20 向C&C回传的加密数据


3.4.3 Dridex核心木马


由于我们在分析的时候,第二层Loader当前未能将Dridex核心马下载下来执行,但是通过溯源发现当前Loader正是Dridex V4所使用的Loader,本身Dridex核心马并未发生较大变化,其最主要攻击能力主要体现在其强度而灵活的插件技术上。新的攻击中所采用的恶意诱饵文档及Loader随着黑客组织的更替而不断进化。本文将不再对Dridex的具体技术进行剖析,只对Dridex的基本功能和特点进行简要的介绍。如需深入了解Dridex木马,可仔细阅读我们的另外一篇深度分析报告《躲在P2P蠕虫网络背后的幽灵:Dridex蠕虫新型变种探秘》,我们在报告中对Dridex V4所采用的攻击手法,技术手段,通信机制等等做了全面而深入的分析。


Dridex又名Bugat、Cridex、Feodo,于2014年首次出现,是目前全球活跃的技术最先进的银行木马之一,从出现以来,其一直在不断更新和演变,直到目前为止仍十分活跃。该木马的主要目标是窃取受害者主机的银行凭证。和这次攻击一样,其通常通过鱼叉式钓鱼邮件的方式进行传播。除了窃取银行凭证,Dridex通常还会下载其他的恶意模块,目前已知的功能模块有VNC模块、屏幕截图模块、代理模块、中间人模块、键盘记录模块、凭证窃取模块、Web注入模块、内网感染模块、邮件传播模块、沙箱检测模块等。


Dridex的攻击目标遍布世界各地,如:中国、美国、德国、法国和加拿大等。以下是Dridex近几年的一些攻击事件:


2014年7月,Seculert公司的安全研究员发现Dridex窃取了至少5万个邮箱的登录账号和密码信息列表,此时Dridex主要以感染德国和波兰为主,其他感染过的国家有奥地利、美国、瑞士、英国、意大利、荷兰等。


2015年5月,Dridex开始将js脚本文件作为邮件传播附件进行大面积传播,该js脚本文件用于下载Locky勒索软件执行。


2015年8月,相关安全机构分析统计,在2015年间不到一年的时间里,Dridex已经入侵了横跨27个国家的成千上万家企业,并且已经导致英国2千万英磅(当时合3050万美元)以上的经济损失,以及美国1千万美金的经济损失。


2015年8月14日,FBI联合安全厂商捣毁了Dridex服务器并逮捕了一名Dridex幕后操控者。


2016年2月4日,Dridex发生了一次戏剧性事件,那就Dridex蠕虫病毒后端服务器疑被白帽子入侵,所有下载的模块被替换成了Avira杀毒软件。


2016年9月6日,安全研究人员发现新的Dridex变种开始用于窃取虚拟货币如比特币钱包。


2017年4月,Proofpoint研究人员观测到数百万次Dridex蠕虫攻击,其攻击手法与从前的攻击相似,同样通过邮件携带附件的形式进行疯狂的传播,只是新的攻击中添加了通过ZIP打包的vb脚本文件、PDF文件和可执行的PE文件。


2017年5月10日,Dridex蠕虫变种使用了原子注入技术发动攻击,以躲避安全产品的查杀。


2017年12月12日,前英国银行员工植入Dridex蠕虫帮助两位黑客洗钱,担任洗钱黑客的私人信托经理,利用伪造的身份证件开设了多达105个账户,汇款与转账超过250万英镑。


2018 年 12月,摩尔多瓦国民Andrey Ghinkul,又名“ smilex ”( 2017年2 月,从塞浦路斯引渡到美国)因分发Dridex恶意软件被判刑。


2019 年 6 月,攻击者利用Spelevo 的漏洞利用工具投递银行木马Dridex。


2019年12月,美国当局指控两个俄罗斯公民(Maksim V和Igor Turashev)部署Dridex恶意软件,两人在10年内窃取超过了1亿美元。


2020年12月期间,攻击者投递仿冒亚马逊免费亚马逊礼品卡的钓鱼邮件


2021年8月,攻击者针对多家电子元器件企业发起钓鱼攻击活动,包括天马微电子股份有限公司、弘忆国际股份有限公司、questcomp、axitea等。


四、总结


此次攻击主要瞄准电子元器件企业的员工,并且涉及到我国企业的数据安全,需要引起广大企事业单位足够的警惕。结合Dridex木马的历史活动迹象,其背后的攻击者以窃密、勒索等方式图谋经济利益的可能性较大。Dridex在经历多年的发展进化后,已经形成了集蠕虫、僵尸、窃密木马、勒索软件、P2P代理于一身的混合型蠕虫病毒。该蠕虫同时具备内外网扩散、正反馈的闭环感染、C&C服务器及通信流量隐藏、对抗分析、快速变异、模块化等高级能力,对于中招企业具有极大的危害性。


鉴于Dridex僵尸网络长期通过钓鱼邮件以及OfficeVBA宏进行攻击的惯用手段,我们建议企事业单位不定期为员工举办安全教育培训,提升员工的安全防范意识。务必做好邮件系统的防护,注意不要随意打开未知来源的电子邮件(尤其是带有附件的电子邮件)。如有需要可通过打开Office文档中的:文件-选项-信任中心-信任中心设置-宏设置,禁用一切宏代码执行。一旦系统或服务器出现异常行为,及时报告并请专业人员进行排查,以消除安全隐患。