安全研究所 | 逃得过病毒查杀,逃不过云枢EDR ——“内存马缉拿记”

本文主要是介绍安全研究所 | 逃得过病毒查杀,逃不过云枢EDR ——“内存马缉拿记”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

近期,领先的SASE安全厂商亿格云进行了重要的EDR功能更新,其中包括高级威胁行为检测、内存扫描以及终端事件审计和溯源等功能。在最新的一次客户使用过程中发现了多起安全事件,于是我们随即配合客户进行了详尽的调查。

接下来,我们将回顾一个木马安全事件的全过程...


近日,某客户因攻防演习迫切需要保障公司的终端安全,于是紧急为员工办公终端部署了「亿格云枢EDR模块」。云枢产生了1条高危告警引起客户的高度关注,我们立即配合并协助客户进行深入的事件调查与解决!

首先,我们根据客户提供的控制台告警信息进行初步分析:

图片

管理控制台显示表明: “疑似有恶意进程正在运行!”

亿格云枢EDR具备对终端文件和系统内存实时扫描的能力,告警正由此触发。于是,我们立即对该告警的详细信息进行了检查:

图片

显然,客户似乎在网络上下载了一个安装包,而这个安装包的命名相当具有误导性,显示为"微云安装包",但却缺乏与腾讯相关的签名信息。身为多年的安全从业人员,我们敏锐地察觉到这一情况的不寻常。

紧接着,客户采用终端取证的方式,获取了该程序文件,协助我们进一步针对文件进行细致分析。   

图片

初步分析文件可以发现,钓鱼者“巧妙”地伪装木马的图标和详细信息几乎与正规安装包一模一样,这会导致员工在遇到时降低了警惕性,最终导致电脑遭受破坏。更甚的是,钓鱼者还“巧妙”地规避了杀毒引擎的检测,员工使用时未收到杀毒引擎的警示,使他们误以为这是一个安全文件,便毫不犹豫地打开了它。

于是,亿格云安全团队对样本进一步进行逆向调试分析。在用windbg调试工具分析这个样本的时候,利用~* k命令查看各个线程的堆栈:

图片

可以看到调用链不正常,windbg也给出了一条警告:

“WARNING: Frame IP not in any known module. Following frames may be wrong.”

意思就是返回地址不在任何一个模块内,无法解析!

此时就已经基本可以确定攻击者从网络上拉取了恶意代码,并且在内存中运行了。

图片

上图就是攻击者在内存中落地的部分代码(x64dbg调试器视图)。

之后更细致分析了这块内存,发现是一个DLL(Windows上的一种可执行文件格式):

图片

图片

通过反编译工具深入分析后:

图片

图片

从以上可以看出这个DLL的行为有记录使用者的按键信息,遍历进程寻找杀毒软件:

图片

还有破坏MBR引导的代码!

操作注册表做持久化

图片

综上所述,上述链路都是一个木马文件的典型行为!

图片

(样本执行原理大致如上)

从该事件来看,该样本采用了一些常见的免杀技巧,旨在绕过杀毒软件的检测。由于杀毒软件通常只对落地的文件进行分析,而使用类似无文件落地的方法,要么只会落地一个加载器(看似友好的文件),杀毒软件往往很难应对这种对抗场景!

显然,「亿格云枢EDR模块」利用内存扫描能力,成功抵御了这种方式的威胁。

从该事件拓展到该类攻击技巧在攻防中的运用来看,这类"shellcode不落地"的手法由于隐藏性好,免杀率高,样本编写容易快捷,灵活性高等特点在近几年的攻防演习中红队运用是非常广泛的。针对这类攻击手法的特征:"自身下载器样本的恶意特征不明显,结合 shellcode进行加密/混淆",传统的AV以文件特征进行查杀的方式很难在误漏报取舍中做到一个比较好的效果, 而已经非常普及的反沙箱技巧的广泛运用,也使得沙箱查杀的效果也不尽如人意。从攻击的最终产生的恶意行为来看,以"在内存中执行shellcode"这一行为为检测依据,是最理想的检测手法。当然内存扫描这件事情,落地也具有比较大的平衡性能和查杀能力间的阻力。接下来有机会会分享一些我们在这方面做的一些策略和优化。

亿格云枢基于SASE安全架构,拥有卓越零信任访问和数据防泄漏能力的同时,还具备强大的终端安全功能,真正实现了一体化办公安全平台。我们也将持续致力于让办公更高效,让安全更简单!

这篇关于安全研究所 | 逃得过病毒查杀,逃不过云枢EDR ——“内存马缉拿记”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/407905

相关文章

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

关于Java内存访问重排序的研究

《关于Java内存访问重排序的研究》文章主要介绍了重排序现象及其在多线程编程中的影响,包括内存可见性问题和Java内存模型中对重排序的规则... 目录什么是重排序重排序图解重排序实验as-if-serial语义内存访问重排序与内存可见性内存访问重排序与Java内存模型重排序示意表内存屏障内存屏障示意表Int

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席2024年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

JVM内存调优原则及几种JVM内存调优方法

JVM内存调优原则及几种JVM内存调优方法 1、堆大小设置。 2、回收器选择。   1、在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM。   2、对JVM内存的系统级的调优主要的目的是减少

JVM 常见异常及内存诊断

栈内存溢出 栈内存大小设置:-Xss size 默认除了window以外的所有操作系统默认情况大小为 1MB,window 的默认大小依赖于虚拟机内存。 栈帧过多导致栈内存溢出 下述示例代码,由于递归深度没有限制且没有设置出口,每次方法的调用都会产生一个栈帧导致了创建的栈帧过多,而导致内存溢出(StackOverflowError)。 示例代码: 运行结果: 栈帧过大导致栈内存