标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2025-3495] 作者: ShYLie 发表于: [2025-01-20]
本文共 [16] 位读者顶过
近日,微步OneSEC EDR再次捕获到银狐木马的新变种,中招机器上有恶意进程加载Shellcode。
不就是银狐吗,隔离发起线程创建的进程、删除木马文件就完事,但处置完以后,奇怪的事情出现了:Shellcode还在加载,而且外连C2还在告警! 打开一看,明明已经被关闭的恶意进程runtime.exe与winnt.exe又被拉起来了。 微步终端安全检测团队发现,这次的银狐新变种不仅全程免杀,而且常规检测手段很难追溯到威胁根因,就算溯源到了,处置清理也非常难。本文将会分析攻击者的三大隐藏与对抗技巧和三大对抗清理技巧。 该变种的执行流程示意图如下所示。
三大隐藏和对抗技巧,溯源挑战大 最初的木马源文件来自于钓鱼网站,很可能是用户在寻找软件资源时踩中钓鱼网站。源文件是一个压缩文件,解压后会释放一个携带恶意DLL的MSI安装包。 隐藏和对抗技巧一:利用MSI内置CustomAction的方式,将恶意DLL嵌入其中。 当双击运行MSI安装包时,隐藏其中的恶意DLL就会被执行,同时创建母体进程MsiExec.exe。在这种情况下,DLL文件不会落在磁盘上,进程链上也看不到DLL运行的有关信息。隐藏和对抗技巧二:用临时服务的执行后自动销毁机制,以及执行的主体是操作系统进程来实现断链。这样就算是抓到了服务的执行,也很难追溯到源头。 该样本利用临时服务来创建计划任务进行持久化。
可是当我们追溯该计划任务的创建源头时,发现服务执行的进程源头是具备微软签名的services.exe,并非MsiExec.exe。攻击者巧妙通过服务实现了断链。
隐藏和对抗技巧三:利用漏洞驱动实现杀软对抗。 该样本在临时服务启动后,会安装有漏洞的驱动CleverSoar,利用漏洞提升至内核权限,用于搜寻并关闭主流杀软进程。
三大对抗清理机制,实现多重保护 对抗清理技巧一:利用傀儡计划任务。MsiExec.exe会创建两个临时计划任务PayloadTask1与PayloadTask2,用于启动真正和C2通信的子进程,分别为winnt.exe与runtime.exe。 一旦这两个进程被关闭,MsiExec.exe就会再次创建临时计划任务从而重启进程,于是出现了文章开头提到的反复关闭、反复重启的那一幕。 更令人感到头疼的是,临时计划任务同样会在执行后自动删除,即使意识到背后存在持久化利用手段,在排查过程中也很难找到是谁在反复重启这两个进程。 对抗清理技巧二:对真正的持久化计划任务进行隐藏。 该变种会修改母体计划任务kafanbbs的对应的注册表键值,这会导致安全软件无法使用常规API的方式去查看该计划任务,因此也无法通过该方式删除,从而确保DLL可以开机自启动,保持持久化运行。
以下是使用OneSEC老版本用户中进行清理,发现找不到计划任务的情况:
对抗清理技巧三:利用RootKit实现自我保护,避免被关闭和拦截。
此外,针对计划任务隐藏导致清理失败的情况,微步OneSEC也第一时间完善产品能力,提供最全面的清理处置能力。
微步终端检测团队发现,随着银狐木马新变种的不断出现与对抗技巧的不断精进,不仅仅样本检测变得越来越困难,还会因为杀软对抗、进程保护、计划任务隐藏等手法的使用,即便在发现木马活动的情况下,也难以全面消除木马活动造成的影响。
|