求职陷阱:Lazarus组织以日本瑞穗銀行等招聘信息为诱饵的攻击活动分析

news2024/11/17 23:29:18

概述

Lazarus组织是疑似具有东北亚背景的APT组织,奇安信威胁情报中心内部追踪编号为APT-Q-1,因2014年攻击索尼影业开始受到广泛关注,其攻击活动最早可追溯到2007年。该组织早期主要针对其他国家政府机构,以窃取敏感情报为目的,但自2014年后,该组织开始以全球金融机构
、虚拟货币交易场等为目标,进行敛财为目的的攻击活动。据公开情报显示,2014 年索尼影业遭黑客攻击事件,2016
年孟加拉国银行数据泄露事件,2017年美国国防承包商、美国能源部门及英国、韩国等比特币交易所被攻击事件都出自Lazarus之手。2021年,Lazarus还开始了针对安全研究人员的新活动【1】。

一直以来,木马样本的免杀率都是各个APT组织高度关注的要点,随着杀毒软件的更新迭代,检出方法不断的完善,恶意样本的检出率也随之提高,攻击者为进一步对抗而使用了各种匪夷所思的绕过方法、千奇百怪的免杀方法。近日,奇安信威胁情报中心红雨滴团队在日常的威胁狩猎中便发现Lazarus组织最新的
0杀软查杀 攻击样本,样本为VHD(虚拟磁盘映像)文件,以日本瑞穗银行(Mizuho Bank)的招聘信息为诱饵进行攻击。

1669693078_63857e9671a8adf6a698a.png!small?1669693079168

https://www.virustotal.com/gui/file/826f2a2a25f7b7d42f54d18a99f6721f855ba903db7b125d7dea63d0e4e6df64/detection

在发现该攻击活动后,红雨滴团队便第一时间向安全社区进行了预警【2】,并引发国内外安全研究员对该类型样本进行深度探索。

1669693096_63857ea89c004152a4bc8.png!small?1669693097976

https://twitter.com/RedDrip7/status/1595365451495706624

样本分析

0x01 VHD虚拟磁盘映像文件

在威胁狩猎过程中,我们并未捕获到初始攻击载荷,结合VHD文件,我们猜测初始攻击载荷应该是鱼叉攻击邮件,通过邮件中的附件诱骗受害者点击打开VHD文件。在实际的环境中,Win7系统并不支持直接打开该类文件,因此该样本可能主要针对高版本Windows系统。

通常情况下,Windows操作系统都会隐藏受保护的操作系统文件,Lazarus组织正是利用这一特性:在Win10系统中直接打开VHD文件,仅可见一个名为Job_Description.exe的文件。并且攻击者还对该exe文件进行了伪装:

  1. 在文件名中使用大量空格来隐藏.exe后缀;
  2. 使用PDF图标进行伪装,降低受害者的警惕性。

只有在文件夹选项中,不勾选“隐藏受保护的操作系统文件“,VHD文件中包含的加密poyload以及诱饵文件才对用户可见。

1669693119_63857ebf38bdb325ff770.png!small?1669693119816

此外,令人值得注意的细节是,VHD中的文件修改日期为2022年11月22日14时,与VT首次上传日期仅相隔一个半小时。其VHD文件中的相关样本信息如下:

文件名

|

MD5

—|—

Job_Description.vhd

|

3CE53609211CAE4C925B9FEE88C7380E

Job_Description.exe

|

931D0969654AF3F77FC1DAB9E2BD66B1

Job_Description.pdf

|

51BF3E91A5325C376282DF959486D5E3

Dump.bin

|

31E154E560DFF21F07F8AFF37BE6DE9B

其中Job_Description.pdf为诱饵pdf,在点击执行Job_Description.exe后会展示给用户,诱饵内容为日本瑞穗银行(Mizuho
Bank)的招聘信息。

1669693131_63857ecbe0745db2dc6a0.png!small?1669693133254

0x02 Job_Description.exe

Job_Description.exe实际为加载器。样本执行后,首先获取当前时间戳,将文件夹中的Dump.bin拷贝到%appdata%\Microsoft\Windows\Templates目录,并以”war[时间戳][随机数].bin”格式命名。

1669693155_63857ee394da145c48d77.png!small?1669693156152

随后将复制后的.bin文件读取到内存中,将文件第一个字节作为key,异或解密前一千个字节,恢复PE头后并写回。

1669693162_63857eea2dd5a7f66e015.png!small?1669693163165

然后使用LoadLibraryW将解密后的dll加载进内存,并调用导出序号为1的导出函数执行后续操作。

1669693177_63857ef9a47f93042bb3c.png!small?1669693178500

0x03 dll

加载的dll首先使用Lazarus组织常用的动态加载函数。

1669693184_63857f00edbfd4d6fe61a.png!small?1669693186017

然后读取dll到内存中,获取末尾四字节用于定位配置信息,然后使用标准RC4算法进行解密,使用的RC4算法密钥是硬编码在文件中的,密钥为“FaDm8CtBH7W660wlbtpyWg4jyLFbgR3IvRw6EdF8IG667d0TEimzTiZ6aBteigP3”。

1669693195_63857f0b491cb4db33911.png!small?1669693195875

随后创建系统进程快照,检测系统中当前运行的进程是否包含国外安全厂商相关杀软的进程,并且所检测的大部分厂商的杀软会对应两个进程名。若存在指定进程,便给对应的全局变量赋值为1。

1669693212_63857f1cc556f79f062a0.png!small?1669693213343

检测的进程名称如下:

进程名

|

进程信息

—|—

SavService.exe

|

Sophos Anti-Virus Software相关进程

avp.exe

|

卡巴斯基杀毒软件相关程序

klnagent.exe

|

卡巴斯基网络代理程序

AvastSvc.exe

|

Avast杀毒软件的服务进程

AvastUI.exe

|

Avast杀毒软件用户界面进程

avguard.exe

|

杀毒软件小红伞(Avira)的监控进程(AntiVir Guard)

SentryEye.exe

|

Avira Product Family产品组件

bdagent.exe

|

BitDefender Professional杀毒软件相关程序

vsserv.exe

|

Bull Guard网络安全套装和BitDefender相关程序

coreServiceShell.exe

|

趋势杀毒软件核心组件

uiSeAgnt.exe

|

趋势科技Worry-Free Business Security的组件

MsMpEng.exe

|

Windows Defender自动保护服务的核心进程

当系统中存在趋势科技、BitDefender、WindowsDefender其中之一的进程时,则重载ntdll.dll,以取消杀软对ntdll.dll的hook,从而绕过杀软监测。

1669693224_63857f28f2593c30bdb79.png!small?1669693225759

随后创建名为“da9f0e7dc6c52044fa29bea5337b4792b8b873373ba99ad816d5
c9f5f275f03f”的互斥体。若存在互斥体或当前进程非Job_Description.exe进程创建,则打开诱饵pdf,随即退出进程。

1669693231_63857f2f1eb135e39849e.png!small?1669693231736

另外在绕过杀软方面,若存在BitDefender、WindowsDefender其中之一时,使用cmd延时10秒后创建rundll32.exe调用其导出函数。

1669693236_63857f34929ca2194b723.png!small?1669693237648

在与C2连接方面,使用curl.exe来进行后续载荷的获取,创建管道来进行读取,并判断有无Avira或Avast杀毒软件来请求不同数据。

1669693243_63857f3bb2c1574561db7.png!small?1669693244345

将读取的文件经RC4解密后,若无Avira或Avast杀毒软件,则创建远程线程执行。若有Avira或Avast杀毒软件,则将数据写入marcoor.dll,随后调用rundll32.exe执行其导出函数,再次请求C2获取后续。遗憾的是,虽然捕获时样本属于近期攻击样本,但在我们的尝试中,始终无法获取到后续载荷。

1669693252_63857f44e6dddb5e2e51f.png!small?1669693254009

溯源与关联

在我们向安全社区预警后不久,国外安全厂商Malwarebytes的安全研究员Jazi引用我们推文并披露了Lazarus另一个类似的VHD攻击样本【3】。样本内包含的信息如下:

文件名

|

MD5

—|—

Job_Description.vhd

|

A17E9FC78706431FFC8B3085380FE29F

Job_Description.exe

|

931D0969654AF3F77FC1DAB9E2BD66B1

Job_Description.pdf

|

7EA3AD49DBAD5DC0DB9AB253197AD561

Dump.bin

|

2A7745C1B6FBC60C88487908A1D39EBB

其中Job_Description.exe加载器与我们披露的一致,而诱饵文件则是日本三井住友银行(Sumitomo Mitsui Banking
Corporation)的招聘信息。

1669693271_63857f57dee89f0b24da5.png!small?1669693272673

此外,我们发现两者文件大小均为13MB左右,我们怀疑是Lazarus组织在使用工具披露制作攻击样本。于是我们在样本数据库中检索VHD文件以及13MB大小的文件时,我们又发现了两个疑似针对我国的攻击文件,其文件信息如下:

文件名

|

MD5

—|—

放假通知.vhd

|

08C14DD68DA6800A6E630B0E6BEE8F6F

放假通知压2.vhd

|

86B415DBF3BF56A7B03E5625A6139DE7

两个VHD文件中均包含Adfind工具,在Github上可公开获取【4】,其主要作用是获取AD域的相关信息,并且该工具在2022年9月8日思科发文披露Lazarus组织的活动中被使用【5】。

1669693280_63857f60138c7904dfd7a.png!small?1669693280575

而在对C2进行关联时我们发现有两个与C2有关联的VBA文件。经分析,为Lazarus常用的vbs脚本。

1669693286_63857f660502ee4bfec75.png!small?1669693286853

总结

Lazarus组织一直都紧盯金融业,以敛财为目的进行攻击。其攻击手法复杂多变,而且从此次攻击来看,攻击木马免杀性好,检测多种杀软,并做了一定的绕过处理,需时刻提防。

APT组织攻击一直以来对于国家和企业来说都是一个巨大的网络安全威胁,通常由某些人员精心策划,出于商业或政治动机,针对特定组织或国家,并且会在长时间的攻击活动中保持高度的隐蔽性。

因此,奇安信红雨滴团队提醒广大用户,谨防钓鱼攻击,切勿打开社交媒体分享的来历不明的链接,不点击执行未知来源的邮件附件,不运行标题夸张的未知文件,不安装非正规途径来源的APP。做到及时备份重要文件,更新安装补丁。

最后

分享一个快速学习【网络安全】的方法,「也许是」最全面的学习方法:
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

在这里插入图片描述

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k。

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

想要入坑黑客&网络安全的朋友,给大家准备了一份:282G全网最全的网络安全资料包免费领取!
扫下方二维码,免费领取

有了这些基础,如果你要深入学习,可以参考下方这个超详细学习路线图,按照这个路线学习,完全够支撑你成为一名优秀的中高级网络安全工程师:

高清学习路线图或XMIND文件(点击下载原文件)

还有一些学习中收集的视频、文档资源,有需要的可以自取:
每个成长路线对应板块的配套视频:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,需要的可以【扫下方二维码免费领取】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/375644.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java查漏补缺(15)java.io.File类的使用、IO流原理及流的分类、节点流、处理流、其他流的使用、apache-common包的使用

Java查漏补缺(15)java.io.File类的使用、IO流原理及流的分类、节点流、处理流、其他流的使用、apache-common包的使用本章专题与脉络1. java.io.File类的使用1.1 概述1.2 构造器1.3 常用方法1、获取文件和目录基本信息2、列出目录的下一级3、File类的重命…

CLion Remote Debug CrossCompile

CLion远程Docker调试ROS(交叉编译)的设置步骤 准备一个好用的docker,运行起来(Docker Image一定可以跑cuda和图形界面的,否则启动不了CLion,可以不用浪费时间看本教程了) 在docker镜像中配置好ssh和rsync,…

数据可视化第二版-03部分-06章-比较与排序

文章目录数据可视化第二版-03部分-06章-比较与排序总结可视化视角-比较与排序代码实现创建虚拟环境1. python版本管理2.切换到指定版本后安装虚拟环境切换路径到文件当前路径柱形图环形柱状图子弹图哑铃图雷达图词云图教材截图数据可视化第二版-03部分-06章-比较与排序 总结 …

18- TensorFlow模型中Keras进阶 (TensorFlow系列) (深度学习)

知识要点 导入数据: (x_train, y_train), (x_test, y_test) mnist.load_data()标准化处理: x_train_scaled scaler.fit_transform(x_train) # scaler StandardScaler()one-hot编码: y_train tf.keras.utils.to_categorical(y_train, 10) 定义神经网络: model t…

《数据库系统概论》学习笔记——第四章 数据库安全

教材为数据库系统概论第五版(王珊) 这一章简单记一下那几条sql的用法和两种存取控制和审计(今年期末考了)吧,不知道有啥好考的 数据库安全性 问题的提出 数据库的一大特点是数据可以共享数据共享必然带来数据库的安全…

算法练习(八)计数质数(素数)

1、问题描述&#xff1a; 给定整数 n &#xff0c;返回 所有小于非负整数 n 的质数的数量 。 2、示例如下&#xff1a; 3、代码如下&#xff1a; 第一种&#xff1a;比较暴力的算法 class Solution {public int countPrimes(int n) {int count1;if(n<2) return 0;for(in…

【数据结构必会基础】关于树,你所必须知道的亿些概念

目录 1.什么是树 1.1浅显的理解树 1.2 数据结构中树的概念 2.树的各种结构概念 2.1 节点的度 2.2 根节点/叶节点/分支节点 2.3 父节点/子节点 2.4祖先节点/子孙节点 2.5兄弟节点 2.6树的度 2.7节点的层次 2.8森林 3. 如何用代码表示一棵树 3.1链式结构 3.1.1 树节…

01-mybatis-快速入门、代理、CRUD练习

文章目录MybatisMybatis入门案例1、创建User表&#xff0c;添加数据2、创建模块&#xff0c;搭建框架2.1 创建模块注意&#xff1a;完善项目目录2.2 导入坐标2.3 编写 MyBatis 核心配置文件2.4 编写sql映射文件2.5 编码3、解决SQL映射文件的警告提示Mapper代理开发1、定义同名接…

python下如何安装并使用matplotlib(画图模块)

在搜索命令中输入cmd&#xff0c;以管理员身份运行。 输入以下命令&#xff0c;先对pip安装工具进行升级 pip install --upgrade pip 升级完成 之后使用pip安装matplotlib pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple 也可以使用pycharm来安装matp…

《嵌入式应用开发》实验一、开发环境搭建与布局(上)

1. 搭建开发环境 去官网&#xff08;https://developer.android.google.cn/studio&#xff09;下载 Android Studio。 安装SDK&#xff08;默认Android 7.0即可&#xff09; 全局 gradle 镜像配置 在用户主目录下的 .gradle 文件夹下面新建文件 init.gradle&#xff0c;内容为…

弹性盒子布局

目录一、弹性盒子属性二、认识flex的坐标轴三、简单学习父级盒子属性三、属性说明3.1、flex-grow一、弹性盒子属性 说明&#xff1a; div的默认样式&#xff1a;display:block 块盒子 display:flex弹性盒子&#xff08;可以控制下级盒子的位置&#xff09; 当两种盒子单独出现…

springboot 虚拟线程demo

jd19支持虚拟线程&#xff0c;虚拟线程是轻量级的线程&#xff0c;它们不与操作系统线程绑定&#xff0c;而是由 JVM 来管理。它们适用于“每个请求一个线程”的编程风格&#xff0c;同时没有操作系统线程的限制。我们能够创建数以百万计的虚拟线程而不会影响吞吐。 做个 spri…

实验心理学笔记01:引论

原视频链接&#xff1a; https://www.bilibili.com/video/BV1Qt41137Kv 目录 一、实验心理学&#xff1a;定义、内容及简要历史回顾 二、实验心理学和普通心理学、认知心理学的区别 三、实验方法与非实验方法 四、实验范式 五、实验中的各种变量 六、The science of psy…

Java项目---博客系统

博客系统url : 链接 项目已上传gitee : 链接 前言 之前笔者已经使用Servlet结合MySQL实现了第一版的个人博客。在这一版的博客系统中&#xff0c;将进行以下功能的升级&#xff1a; 框架升级&#xff1a;SSM版本&#xff0c;即&#xff08;Spring SpringMVC MyBatis&…

@Import注解的原理

此注解是springboot自动注入的关键注解&#xff0c;所以拿出来单独分析一下。 启动类的run方法跟进去最终找到refresh方法&#xff1b; 这里直接看这个org.springframework.context.support.AbstractApplicationContext#refresh方法即可&#xff0c;它下面有一个方法 invoke…

Linux基础命令-fdisk管理磁盘分区表

文章目录 fdisk 命令介绍 命令格式 基本参数 1&#xff09;常用参数 2&#xff09;fdisk菜单操作说明 创建一个磁盘分区 1&#xff09;创建分区 2&#xff09;创建交换分区 参考实例 1&#xff09; 显示当前分区的信息 2&#xff09; 显示每个磁盘的分区信息 命令…

关于单目标约束优化问题的讲解及实现过程

一、前沿 优化问题一直是工程领域、路径规划领域等绕不开的话题,而真正的实际问题不是只是单目标优化问题,而是涉及到高维度且带多约束的问题,其中约束包含等式约束、不等式约束或者二者都有,这给优化研究提高了难度。 在中学的时候,应该都遇到过线性规划问题,类似于如…

LeetCode 热题 C++ 200. 岛屿数量 206. 反转链表 207. 课程表 208. 实现 Trie (前缀树)

LeetCode200 给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外&#xff0c;你可以假设…

虹科新闻|虹科与iX systems正式建立合作伙伴关系

近日&#xff0c;虹科与美国iXsystems公司达成战略合作&#xff0c;虹科正式成为iXsystems公司在中国区域的认证授权代理商。未来&#xff0c;虹科将携手iXsystems&#xff0c;共同致力于提供企业级存储解决方案。虹科及iXsystems双方的高层领导人员都对彼此的合作有很大的信心…

【JVM】垃圾回收

6、垃圾回收机制 6.1、对象成为垃圾的判断依据 在堆空间和元空间中&#xff0c;GC这条守护线程会对这些空间开展垃圾回收⼯作&#xff0c;那么GC如何判断这些空间的对象是否是垃圾&#xff0c;有两种算法&#xff1a; 引用计数法&#xff1a; 对象被引用&#xff0c;则计数…