发布于2022年11月4日3年前 Lazarus近期针对军工等行业的定向攻击活动分析 一、概述Lazarus组织为境外大型APT组织,是当前活跃度最高的APT组织之一,该组织实力强劲,其攻击目标涵盖政府、国防、研究中心、金融、能源、航空航天、运输、加密货币等诸多具有高经济价值的行业领域,并且擅长针对不同行业实施精准的社会工程学攻击。微步情报局近期通过威胁狩猎系统监测到Lazarus组织针对国防军工行业的攻击活动,结合以往该组织针对军工行业的攻击活动,一并分析有如下发现:攻击者在此次攻击活动中冒充德国军工企业“莱茵金属”公司,以“工作要求”为主题向目标投递带有恶意宏的诱饵文档,Lazarus经常以目标所在行业头部企业的招聘信息为诱饵进行攻击活动;此外还以韩国军工企业“大宇造船”相关话题为诱饵进行攻击;诱饵文档中的恶意宏利用多阶段组件来执行恶意行为,最终加载执行远控模块,实现对目标主机的远程控制;攻击者将事先入侵的站点作为C2通信服务器,这在Lazarus以往的攻击活动中经常看到;结合该组织以往攻击活动样本分析,从执行流程上看具有高度相似性,但细节有一定程度变化,表明攻击者在持续开发并优化其攻击组件;微步在线通过对相关样本、IP和域名的溯源分析,提取多条相关IOC,可用于威胁情报检测。微步在线威胁感知平台TDP、本地威胁情报管理平台TIP、威胁情报云API、互联网安全接入服务OneDNS等均已支持对此次攻击事件和团伙的检测。二、详情2.1伪装“莱茵金属”公司工作要求诱饵文档以德国军工企业“莱茵金属”工作要求为主题,诱导用户启用宏。诱饵文档名称SHA256创建时间rheinmetall_job_requirements.doce6dff9a5f74fff3a95e2dcb48b81b05af5cf5be73823d56c10eee80c8f17c8452021-03-29 22:22:00rheinmetall_job_requirements.docffec6e6d4e314f64f5d31c62024252abde7f77acdd63991cb16923ff178288852021-03-29 07:22:00图[1].含有宏的诱饵文档莱茵金属公司(Rheinmetall)是德国一家战斗车辆武器配件及防卫产品制造商,现为德国国内最大的军工企业集团,业务遍及全世界,攻击者假冒该公司名义疑似为针对其所在行业公司进行钓鱼攻击。当启用宏后,恶意宏将文档内容修改为看似正常的文字图片内容。图[2].启用宏后的诱饵文档图[3].执行流程图2.2以韩国企业“大宇造船”相关话题为诱饵攻击者以“大会决议草案”为主题作为诱饵文档进行攻击,诱导用户启用宏,文档内容大意是反对韩国政府出售“大宇造船厂”相关内容。文档名称결의대회초안.doc(大会决议草案)SHA2560193bd8bcbce9765dbecb288d46286bdc134261e4bff1f3c1f772d34fe4ec695作者信息William创建时间2021-03-31 00:01:00图[4].启用宏前后“大宇造船”是韩国三大造船公司之一,也是韩国的主要军工企业,攻击者以该公司相关话题为诱饵进行攻击,疑似针对相关行业人士进行定向攻击。图[5].执行流程图三、样本分析3.1 伪装“莱茵金属”公司工作要求样本从文档信息中可以看到其codepage为朝鲜语。图[6].诱饵文档的摘要信息恶意宏得到执行后,在目标主机创建目录C:\Drivers,用于释放恶意模块。图[7].诱饵文档中的恶意宏利用系统组件在此目录释放执行后门模块。所释放文件文件来源DriverGFE.tmp保存Base64编码的PE文件数据的前2个字节DriverGFXCoin.tmp保存Base64编码的PE文件数据的后面数据DriverUpdateFx.exe由系统组件certutil.exe拷贝而来DriverCPHS.tmp使用cmd /b指令将DriverGFE.tmp和DriverGFXCoin.tmp合并,并将两者删除DriverGFE.tmp(第二次)使用DriverUpdateFx.exe(certutil.exe)解码,保存为DriverGFE.tmp,即最终的后门模块。之后利用系统组件mavinject.exe将恶意模块DriverGFE.tmp注入到系统进程explorer.exe中执行。mavinject.exe [PID] /injectrunning c:\Drivers\DriverGFX.tmp攻击者在以上的执行流程中使用多种系统组件来完成恶意行为,在一定程度上规避了一些安全产品的检测。后门模块文件信息:文件名称DriverGFX.tmpMD51417f890248f193bb241f6b458ae4a97SHA1b2dfcbd8c3966ebed9275db7b14e359412db9963SHA2565c206b4dc2d3a25205176da9a1129c9f814c030a7bac245e3aaf7dd5d3ca4fbe文件格式PE64 DLL文件大小132608 字节 (129.50 KB)编译时间2021/03/29 22:20:32恶意模块被注入执行后,将会在主机设置任务计划以建立持久性机制。图[8].后门模块DllMain反汇编代码片段在主机上设置的计划任务名称伪装成“Office Feature Updates Task”,调用系统组件rundll32.exe来执行后门模块的导出函数updateCache。图[9].在主机上建立的计划任务在导出函数updateCache中,每隔10分钟从服务器https://wicall.ir/logo.png请求下载分发其他恶意模块数据。图[10].从服务器下载数据的后门模块成功从服务器下载恶意模块数据后,将会在内存中展开执行。图[11].在内存中加载执行恶意模块3.2以韩国企业“大宇造船”相关话题为诱饵样本诱饵文档携带的恶意宏得到执行后,首先会弹出一个消息框,待用户点击之后才会继续执行流程,其使用Base64将所使用字符串解码,在主机Temp目录释放相关文件。图[12].含有恶意宏的诱饵文档使用函数WIA_ConvertImage 将所释放的image003.png转换为存储恶意hta数据的image003.zip,之后使用系统组件mshta.exe来加载执行image003.zip。图[13].包含WIA_ConvertImage函数的恶意宏图[14].将image003.png转换为image003.zip在image003.zip中,嵌入了经过混淆的javascript脚本代码,执行后解码出恶意模块数据保存到主机目录执行C:/Users/Public/Downloads/Winvoke.exe并运行。图[15].在javascript中释放木马模块Winvoke.exe中添加了大量无效的系统调用用以混淆执行流程,其通过下图中的算法以密钥“*$LvOAgHyZ)dM”从.KDATA区段中解密出核心RAT模块,并在内存中加载执行。图[16].Winvoke.exe中的异或解密算法RAT模块执行后,首先创建互斥体“Microsoft32”,确保木马不会重复运行,之后解密出3组配置C2服务器,其中2个是相同的。http://www.jinjinpig.co.kr/Anyboard/skin/board.phphttp://mail.namusoft.kr/jsp/user/eam/board.jsphttp://mail.namusoft.kr/jsp/user/eam/board.jsp图[17].RAT模块中配置的C2服务器接着异或解密出lnk文件名“Visor 2010 Launcher.lnk ”,在主机开机启动目录生成lnk文件运行木马模块,以建立持久性机制。图[18].生成lnk文件之后与C2服务器以HTTP协议通信,通信数据使用RC#4算法加密。图[19].以HTTP协议与C2服务器通信可响应C2服务器以下指令:指令代码功能1111更新与C2服务器通信间隔时间1234创建线程执行Shellcode代码3333退出并卸载木马4444检查指定服务器端口是否可连接8877下载文件8888下载并执行文件9876退出木马进程9999CmdShell每个指令执行完毕后会有Success、FAIL或执行结果作为回显数据,使用RC*4加密后,伪装成文件类型数据头(test.gif),回传给C2服务器。图[20].向C2服务器回传数据此外,我们还看到一些同类型的诱饵文档样本,虽然从文档内容上来看没有明确的指向性,但其作者信息、文档创建时间、嵌入的恶意宏以及最终执行的RAT模块均与上述样本类似,属同源样本,推测为针对企业特定人员攻击。文档名称SHA256作者信息创建时间참가신청서양식.doc(报名表格式)f1eed93e555a0a33c7fef74084a6f8d06a92079e9f57114f523353d877226d72William2021-03-31 00:01:00생활비지급.doc(生活费支付)79e15cc02c6359cdb84885f6b84facbf91f6df1254551750dd642ff96998db35William2021-04-18 23:11:00test3.doca6ed3fe39d0956182c0ba9b57966cb8ae84ea029aa8d726f5bef9e7637f549f8William2021-04-18 23:11:00这些样本以“报名表格式”、“生活费支付”、“简历”等相关内容为诱饵进行攻击,其整体执行流程与上述样本类似。图[21].风格一致的诱饵文档四、关联分析Lazarus擅长使用社会工程学方案进行攻击,在去年曾针对航空企业进行过以“DreamJob”为名的攻击活动,与冒充“莱茵金属”公司所使用的社会工程学方案如出一辙,同样是向目标发送特定行业公司的职位说明相关诱饵文档进行攻击。在去年4月份,该组织曾以美国军工企业“诺思罗普·格鲁曼”(Northrop Grumman)和“通用电气”相关工作岗位信息作为诱饵,同样针对军工企业进行攻击。诱饵文档文件名SHA256Northrop Grumman.docf188eec1268fd49bdc7375fc5b77ded657c150875fede1a4d797f818d2514e88Northrop Grumman.doce2c3913d7e1dee8eae919b8852baf20cf8572852a033fc33eeed2c075a84edd0(HR)2020-2021 General Dynamics Job Information and Opportunities_GD-HR-202011839432.pdfbdf9fffe1c9ffbeec307c536a2369eefb2a2c5d70f33a1646a15d6d152c2a6fa图[22].诱饵文档截图当时所使用的恶意宏与此次攻击活动中出现的恶意宏有较大区别,但两者均遵循了同一个规则,即使用多种系统组件进行打包、解包、执行等恶意操作,以尽可能的规避一些安全产品的检测。图[23].使用多种系统组件从C2服务器下载恶意载荷Lazarus还经常批量入侵站点,将失陷站点作为C2通信服务器,这在Lazarus大多数攻击活动中都曾出现过。在去年的针对军工企业的攻击活动中,就曾入侵一家疑似在线教育网站作为C2通信服务器,很轻易就可以发现其管理后台存在弱口令缺陷,这可能是Lazarus可以成功入侵的原因之一。图[24].被Lazarus入侵的站点存在弱口令缺陷攻击者在此次攻击活动中使用的RAT模块与多起以往攻击活动中的样本具有关联性,例如Lazarus经常在RAT模块中配置3组C2服务器(即使重复),使用特定算法解密。图[25].RAT模块中配置的C2服务器以及高度相似的内存加载PE模块部分。图[26].内存加载PE模块反汇编代码对比五、结论Lazarus APT组织一直保持着很高的活跃度,窃取高价值情报和获取经济利益是其主要攻击目的,为了提升攻击有效性,Lazarus一直在持续开发并改进其工具集以及军火库。利用社会工程学方案攻击是Lazarus的显著特征之一,在近两年的时间内,该组织进行了多起类似方案的攻击活动,譬如“DreamJob”、“针对安全研究人员的攻击”等,在这些攻击活动中,Lazarus展现了其极强的耐心以及行动保障能力。可以预见的是,社会工程学攻击将会在往后的攻击活动中越来越突出,微步在线情报局会对相关攻击活动持续进行跟踪,及时发现安全威胁并快速响应处置。本文作者:ThreatBook微步在线
创建帐户或登录后发表意见