安全研究所 | 逃得过病毒查杀,逃不过云枢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安全架构,拥有卓越零信任访问和数据防泄漏能力的同时,还具备强大的终端安全功能,真正实现了一体化办公安全平台。我们也将持续致力于让办公更高效,让安全更简单!