Lazarus近期针对军工等行业的定向攻击活动分析 – 作者:Threatbook

一、概述

Lazarus组织为境外大型APT组织,是当前活跃度最高的APT组织之一,该组织实力强劲,其攻击目标涵盖政府、国防、研究中心、金融、能源、航空航天、运输、加密货币等诸多具有高经济价值的行业领域,并且擅长针对不同行业实施精准的社会工程学攻击。

微步情报局近期通过威胁狩猎系统监测到Lazarus组织针对国防军工行业的攻击活动,结合以往该组织针对军工行业的攻击活动,一并分析有如下发现:

  • 攻击者在此次攻击活动中冒充德国军工企业“莱茵金属”公司,以“工作要求”为主题向目标投递带有恶意宏的诱饵文档,Lazarus经常以目标所在行业头部企业的招聘信息为诱饵进行攻击活动;
  • 此外还以韩国军工企业“大宇造船”相关话题为诱饵进行攻击;
  • 诱饵文档中的恶意宏利用多阶段组件来执行恶意行为,最终加载执行远控模块,实现对目标主机的远程控制;
  • 攻击者将事先入侵的站点作为C2通信服务器,这在Lazarus以往的攻击活动中经常看到;
  • 结合该组织以往攻击活动样本分析,从执行流程上看具有高度相似性,但细节有一定程度变化,表明攻击者在持续开发并优化其攻击组件;
  • 微步在线通过对相关样本、IP和域名的溯源分析,提取多条相关IOC,可用于威胁情报检测。微步在线威胁感知平台TDP、本地威胁情报管理平台TIP、威胁情报云API、互联网安全接入服务OneDNS等均已支持对此次攻击事件和团伙的检测。

二、详情

2.1伪装“莱茵金属”公司工作要求

诱饵文档以德国军工企业“莱茵金属”工作要求为主题,诱导用户启用宏。

诱饵文档名称

SHA256

创建时间

rheinmetall_job_requirements.doc

e6dff9a5f74fff3a95e2dcb48b81b05af5cf5be73823d56c10eee80c8f17c845

2021-03-29 22:22:00

rheinmetall_job_requirements.doc

ffec6e6d4e314f64f5d31c62024252abde7f77acdd63991cb16923ff17828885

2021-03-29 07:22:00

1622464736_60b4d8e02e24e125f9c6b.png!small?1622464737114

图[1].含有宏的诱饵文档

莱茵金属公司(Rheinmetall)是德国一家战斗车辆武器配件及防卫产品制造商,现为德国国内最大的军工企业集团,业务遍及全世界,攻击者假冒该公司名义疑似为针对其所在行业公司进行钓鱼攻击。

当启用宏后,恶意宏将文档内容修改为看似正常的文字图片内容。

1622464743_60b4d8e727df7f24f1052.png!small?1622464744083

图[2].启用宏后的诱饵文档

1622464749_60b4d8edc598936061bf5.png!small?1622464750553

图[3].执行流程图

2.2以韩国企业“大宇造船”相关话题为诱饵

攻击者以“大会决议草案”为主题作为诱饵文档进行攻击,诱导用户启用宏,文档内容大意是反对韩国政府出售“大宇造船厂”相关内容。

文档名称

결의대회초안.doc(大会决议草案)

SHA256

0193bd8bcbce9765dbecb288d46286bdc134261e4bff1f3c1f772d34fe4ec695

作者信息

William

创建时间

2021-03-31 00:01:00

1622464776_60b4d9080f3daf4cac57d.png!small?1622464777030

图[4].启用宏前后

“大宇造船”是韩国三大造船公司之一,也是韩国的主要军工企业,攻击者以该公司相关话题为诱饵进行攻击,疑似针对相关行业人士进行定向攻击。

1622464783_60b4d90f7dacc84c13f7d.png!small?1622464784300

图[5].执行流程图

三、样本分析

3.1 伪装“莱茵金属”公司工作要求样本

从文档信息中可以看到其codepage为朝鲜语。

1622464862_60b4d95e3e77a0e36a2a4.png!small?1622464863086

图[6].诱饵文档的摘要信息

恶意宏得到执行后,在目标主机创建目录C:\Drivers,用于释放恶意模块。

1622464870_60b4d9665f4265029923d.png!small?1622464871239

图[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.tmp

MD5

1417f890248f193bb241f6b458ae4a97

SHA1

b2dfcbd8c3966ebed9275db7b14e359412db9963

SHA256

5c206b4dc2d3a25205176da9a1129c9f814c030a7bac245e3aaf7dd5d3ca4fbe

文件格式

PE64 DLL

文件大小

132608 字节 (129.50 KB)

编译时间

2021/03/29 22:20:32

恶意模块被注入执行后,将会在主机设置任务计划以建立持久性机制。

1622464928_60b4d9a05fff2b718f1f0.png!small?1622464929237

图[8].后门模块DllMain反汇编代码片段

在主机上设置的计划任务名称伪装成“Office Feature Updates Task”,调用系统组件rundll32.exe来执行后门模块的导出函数updateCache。

1622464937_60b4d9a93422e98962932.png!small?1622464938004

图[9].在主机上建立的计划任务

在导出函数updateCache中,每隔10分钟从服务器https://wicall.ir/logo.png请求下载分发其他恶意模块数据。

1622464942_60b4d9aed507d3c008598.png!small?1622464943739

图[10].从服务器下载数据的后门模块

成功从服务器下载恶意模块数据后,将会在内存中展开执行。

1622464998_60b4d9e605c5478ad2cfe.png!small?1622464998807

图[11].在内存中加载执行恶意模块

3.2以韩国企业“大宇造船”相关话题为诱饵样本

诱饵文档携带的恶意宏得到执行后,首先会弹出一个消息框,待用户点击之后才会继续执行流程,其使用Base64将所使用字符串解码,在主机Temp目录释放相关文件。

1622465091_60b4da43e981a4c18dae2.png!small?1622465092834

图[12].含有恶意宏的诱饵文档

使用函数WIA_ConvertImage 将所释放的image003.png转换为存储恶意hta数据的image003.zip,之后使用系统组件mshta.exe来加载执行image003.zip。

1622465099_60b4da4b7c346bd709ea1.png!small?1622465100310

图[13].包含WIA_ConvertImage函数的恶意宏

1622465107_60b4da53a9201391c59a0.png!small?1622465111610

图[14].将image003.png转换为image003.zip

在image003.zip中,嵌入了经过混淆的javascript脚本代码,执行后解码出恶意模块数据保存到主机目录执行C:/Users/Public/Downloads/Winvoke.exe并运行。

1622465113_60b4da59d526408d89766.png!small?1622465114764

图[15].在javascript中释放木马模块

Winvoke.exe中添加了大量无效的系统调用用以混淆执行流程,其通过下图中的算法以密钥“*$LvOAgHyZ)dM”从.KDATA区段中解密出核心RAT模块,并在内存中加载执行。

1622465155_60b4da835695fbd8d527d.png!small?1622465156119

图[16].Winvoke.exe中的异或解密算法

RAT模块执行后,首先创建互斥体“Microsoft32”,确保木马不会重复运行,之后解密出3组配置C2服务器,其中2个是相同的。

http://www.jinjinpig.co.kr/Anyboard/skin/board.php

http://mail.namusoft.kr/jsp/user/eam/board.jsp

http://mail.namusoft.kr/jsp/user/eam/board.jsp

1622465162_60b4da8a7ea05da45b9e3.png!small?1622465163390

图[17].RAT模块中配置的C2服务器

接着异或解密出lnk文件名“Visor 2010 Launcher.lnk ”,在主机开机启动目录生成lnk文件运行木马模块,以建立持久性机制。

1622465168_60b4da9053ad42045a269.png!small?1622465169227

图[18].生成lnk文件

之后与C2服务器以HTTP协议通信,通信数据使用RC#4算法加密。

1622465174_60b4da96bf24d30d289cf.png!small?1622465175583

图[19].以HTTP协议与C2服务器通信

可响应C2服务器以下指令:

指令代码

功能

1111

更新与C2服务器通信间隔时间

1234

创建线程执行Shellcode代码

3333

退出并卸载木马

4444

检查指定服务器端口是否可连接

8877

下载文件

8888

下载并执行文件

9876

退出木马进程

9999

CmdShell

每个指令执行完毕后会有Success、FAIL或执行结果作为回显数据,使用RC*4加密后,伪装成文件类型数据头(test.gif),回传给C2服务器。

1622465184_60b4daa046eb0d1869f17.png!small?1622465185119

图[20].向C2服务器回传数据

此外,我们还看到一些同类型的诱饵文档样本,虽然从文档内容上来看没有明确的指向性,但其作者信息、文档创建时间、嵌入的恶意宏以及最终执行的RAT模块均与上述样本类似,属同源样本,推测为针对企业特定人员攻击。

文档名称

SHA256

作者信息

创建时间

참가신청서양식.doc

(报名表格式)

f1eed93e555a0a33c7fef74084a6f8d06a92079e9f57114f523353d877226d72

William

2021-03-31 00:01:00

생활비지급.doc

(生活费支付)

79e15cc02c6359cdb84885f6b84facbf91f6df1254551750dd642ff96998db35

William

2021-04-18 23:11:00

test3.doc

a6ed3fe39d0956182c0ba9b57966cb8ae84ea029aa8d726f5bef9e7637f549f8

William

2021-04-18 23:11:00

这些样本以“报名表格式”、“生活费支付”、“简历”等相关内容为诱饵进行攻击,其整体执行流程与上述样本类似。

1622465194_60b4daaa2022059b0380b.png!small?1622465195183

图[21].风格一致的诱饵文档

四、关联分析

Lazarus擅长使用社会工程学方案进行攻击,在去年曾针对航空企业进行过以“DreamJob”为名的攻击活动,与冒充“莱茵金属”公司所使用的社会工程学方案如出一辙,同样是向目标发送特定行业公司的职位说明相关诱饵文档进行攻击。

在去年4月份,该组织曾以美国军工企业“诺思罗普·格鲁曼”(Northrop Grumman)和“通用电气”相关工作岗位信息作为诱饵,同样针对军工企业进行攻击。

诱饵文档文件名

SHA256

Northrop Grumman.doc

f188eec1268fd49bdc7375fc5b77ded657c150875fede1a4d797f818d2514e88

Northrop Grumman.doc

e2c3913d7e1dee8eae919b8852baf20cf8572852a033fc33eeed2c075a84edd0

(HR)2020-2021 General Dynamics Job Information and Opportunities_GD-HR-202011839432.pdf

bdf9fffe1c9ffbeec307c536a2369eefb2a2c5d70f33a1646a15d6d152c2a6fa

1622465205_60b4dab550330291018c7.png!small?1622465206301

图[22].诱饵文档截图

当时所使用的恶意宏与此次攻击活动中出现的恶意宏有较大区别,但两者均遵循了同一个规则,即使用多种系统组件进行打包、解包、执行等恶意操作,以尽可能的规避一些安全产品的检测。

1622465212_60b4dabcd12fe8cd4db88.png!small?1622465213674

图[23].使用多种系统组件从C2服务器下载恶意载荷

Lazarus还经常批量入侵站点,将失陷站点作为C2通信服务器,这在Lazarus大多数攻击活动中都曾出现过。在去年的针对军工企业的攻击活动中,就曾入侵一家疑似在线教育网站作为C2通信服务器,很轻易就可以发现其管理后台存在弱口令缺陷,这可能是Lazarus可以成功入侵的原因之一。

1622465221_60b4dac5d6b230736b18c.png!small?1622465222786

图[24].被Lazarus入侵的站点存在弱口令缺陷

攻击者在此次攻击活动中使用的RAT模块与多起以往攻击活动中的样本具有关联性,例如Lazarus经常在RAT模块中配置3组C2服务器(即使重复),使用特定算法解密。

1622465228_60b4dacc872685c89a9f2.png!small?1622465229355

图[25].RAT模块中配置的C2服务器

以及高度相似的内存加载PE模块部分。

1622465236_60b4dad41dac292468b9e.png!small?1622465237047

图[26].内存加载PE模块反汇编代码对比

五、结论

Lazarus APT组织一直保持着很高的活跃度,窃取高价值情报和获取经济利益是其主要攻击目的,为了提升攻击有效性,Lazarus一直在持续开发并改进其工具集以及军火库。

利用社会工程学方案攻击是Lazarus的显著特征之一,在近两年的时间内,该组织进行了多起类似方案的攻击活动,譬如“DreamJob”、“针对安全研究人员的攻击”等,在这些攻击活动中,Lazarus展现了其极强的耐心以及行动保障能力。可以预见的是,社会工程学攻击将会在往后的攻击活动中越来越突出,微步在线情报局会对相关攻击活动持续进行跟踪,及时发现安全威胁并快速响应处置。

来源:freebuf.com 2021-06-07 10:44:23 by: Threatbook

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论