首页
社区
课程
招聘
[分享]银狐十月总结:连用四个驱动!银狐开始硬刚EDR和杀软
发表于: 1天前 155

[分享]银狐十月总结:连用四个驱动!银狐开始硬刚EDR和杀软

1天前
155


近日,微步情报局捕获到大量Rootkit技术加持的银狐木马。与此前以被动规避检测为主不同,这批样本使用了多个驱动程序及相关功能组件,在内核态EDR、杀软主动进攻,全方位限制甚至完全关闭其防护能力,且后门非常难以清理,对抗难度再创新高。

尤其10月以来,攻击者频繁魔改、变更攻击工具,包括使用Rootkit技术隐藏恶意进程,致盲针对进程、网络行为的检测,以及释放漏洞驱动(BYOVD)关闭安全软件。

微步情报局判断,这种在内核态针对EDR和杀软主动致盲的手法,成为了银狐木马的新趋势,对现有检测、响应体系构成了巨大挑战。截至目前,这批样本共涉及1000+钓鱼站点、1400+恶意域名,变种极多,并且仍在持续上升,是近期规模最大的黑产活动。

这批样本对抗手法包括:

关闭安全软件:释放包含漏洞的Ping32、百度杀毒等安全软件驱动,触发漏洞后强行关闭失陷终端上的特定安全软件进程。

致盲行为检测:读写内核数据,定位并修改安全软件内核回调函数的地址,使安全软件在未被关闭的情况下,也无法采集与检测进程、线程、文件、注册表的行为。

指定进程隐身:通过InfinityHook技术实现RootKit,隐藏指定的恶意进程,即使找到这个进程也很难通过常规手段关闭。

屏蔽网络反连:劫持系统网络驱动,在底层过滤和篡改网络连接信息,使安全软件无法正确获取失陷终端与C2服务器之间的恶意反连。

微步终端安全管理平台OneSEC、云沙箱S、沙箱分析平台OneSandbox均早已支持对这批样本的精确检测。此外,OneSEC还可对所有后门工具完全清理。

本文为银狐十月攻击活动报告。微步情报局还将持续发布银狐月度报告,并第一时间跟进解读相关重大攻击事件。

样本投递

6月份以来,某黑产团伙持续注册并部署一些常见应用的钓鱼网站,截至发稿前已有1000+钓鱼站点、1400+恶意域名,仿冒了数十种软件。

 

这些仿冒域名都将下载站点指向了:cn-hk-oss-vip.com上的中转下载页面

 

通过中转下载页面去下载放在Google文件存储服务上的安装包文件:

 

这些钓鱼域名使用了随机字母的二级域名:

 

以及廉价的TLD顶级域名后缀:

 

这种方式降低了域名使用的成本,方便该黑产团伙注册大量的钓鱼网站和及时切换钓鱼域名资产。

样本分析

这批样本通过对其样本释放的银狐木马内存中配置字段的解析:

 

根据该配置文件格式中bz字段(银狐木马生成器的生成时间)可以看到最早一批样本是从2025615日编译。

这批样本最初形式通常为含有无效签名的Inno Setup安装包:

 

安装过程中会释放多个功能组件,组合起来实现Rootkit的效果,隐藏最后释放的银狐后门木马:

 

OneSEC早已支持精准捕获样本执行后的恶意行为。


线程创建

 

高危驱动加载

 

恶意反连

 

后门执行

 

云沙箱S、沙箱分析平台OneSandbox也支持精确检测。

 

以下对样本进行详细分析:

样本名称

Yifanyi_setup_8.37_1747795776.exe

样本hash

fd6b3cd8fd14f7d589ed68deeb07d425c907ed828be8006c3f1962cf365f6cd7

样本类型

Win32 EXE

样本大小

202.61 MB

C2地址

38.91.115.114:9000 (xxxjjj250711.com)

样本安装后按照Inno Setup的脚本文件释放众多文件:

先在C:\ProgramData\WindowsData下释放如下文件:

 

这些释放的文件功能为:

文件名称

功能

funzip.exe

7z解压缩程序

mainZTtRjTfyhNIDCAF.xml

压缩包,内含men.exe, setup.exe

man50.dat

Zip压缩包,内含temp_adjust.dattemp_filler.dat

men.exe

带壳程序,在C盘根目录释放加载Cndom6.sysXiaoH.sys

setup.exe

易翻译安装包

后续在C:\Users\Public\Documents\WindowsData下释放解压和后续利用程序:

 

这些程序文件中部分重要文件功能为:

文件名称

文件功能

edr.key

压缩包,内含BdApiUtil64.sys, bypass.exe, KGseKKdKce.exe, main.exe, NVIDIA.lnk, rwdriver.cat, rwdriver.sys

BdApiUtil64.sys

百度杀毒使用的sys驱动

KGseKKdKce.exe

UPX加壳的BdApiUtil64驱动利用程序

kail.exe

7z解压缩程序

rwdriver.sys

读写任意内核地址数据

main.exe

rwdriver.sys驱动的利用程序,用于在内核中致盲EDR

rwdriver.cat

数字签名文件,将rwdriver.sys驱动加载到Windows内核

tree.exe

压缩包,内含edr.key, kail.exe, me.key, NVIDIA.exe

me.key

压缩包文件,内含文件:NtHandleCallback.exe

NtHandleCallback.exe

负责解密加载银狐远控模块,并向Cndom6.sys驱动发送控制码,HOOK内核API,隐藏进程行为,同时清理过程文件

NVIDIA.exe

UPX加壳的驱动利用程序

Server.log

加密的银狐远控模块

此外,程序运行时会动态加载其他两个驱动程序:

驱动名称

驱动功能

XiaoH.sys

通过获取nsiproxy.sys驱动对象,劫持其IRP回调函数指针,实现对网络连接枚举流程的拦截与篡改

Cndom6.sys

使用InfinityHook技术实现内核API HOOKHOOK了系统函数NtQuerySystemInformation, NtOpenProcess, NtDuplicateObject等函数来保护隐藏指定进程

在本次样本中,程序共加载4个驱动程序,来负责银狐恶意进程信息隐藏,网络信息隐藏,内核内存的读写,以及BYOVD技术来关闭EDR和杀毒软件。

BdApiUtil64.sys

BdApiUtil64.sys为百度杀毒使用的驱动程序:

 

在该程序含有漏洞CVE-2024-51324,攻击者可以发送IOCTL_CODE = 0x800024B4来关闭指定进程

 

在这批样本中,黑产团伙使用KGseKKdKce.exe程序来利用该驱动程序,该程序基于开源项目05dK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6n7L8r3q4U0K9#2y4F1N6h3k6C8K9h3&6Q4x3V1k6n7h3f1!0h3c8q4)9J5c8X3u0D9L8$3u0Q4x3V1k6E0j5h3W2F1i4K6u0r3b7X3c8m8M7r3W2g2N6r3W2D9i4K6u0V1d9$3W2D9L8r3g2J5i4K6u0r3M7%4u0U0i4K6u0r3L8h3q4A6L8W2)9J5k6i4u0K6的魔改。

样本先通过遍历所有的进程是否包含硬编码的程序,这些程序名都是一些杀毒软件和EDR的进程名:

 

如果存在这些进程,则发送到驱动程序中进行关闭:

 

值得注意的是,这批样本的早期BYOVD技术使用的驱动为山东安在信息技术股份有限公司的Ping32产品的驱动程序:

 

利用过程也是通过遍历所有进程名找到杀毒软件和EDR的进程号发送给驱动程序:

 

rwdriver.sys

rwdriver.sys使用泄露的中兴通讯股份有限公司过期签名

 

主要功能为读写任意地址数据,进行拷贝覆盖。源自开源项目468K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6z5j5h3&6G2g2%4u0S2K9i4c8Z5i4K6u0r3M7Y4N6V1M7X3W2$3k6i4u0Q4x3V1k6@1M7X3g2W2i4K6u0r3L8h3q4K6N6r3g2J5i4K6u0r3M7Y4N6V1M7X3W2$3k6i4t1`.

驱动接收控制码请求后,对指定地址进行读写操作:

 

这个驱动的使用程序main.exe,为开源项目1aaK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6z5j5h3&6G2g2%4u0S2K9i4c8Z5i4K6u0r3b7X3I4A6L8X3c8q4k6s2t1`.的二次开发,该项目主要是用于针对一些杀毒和EDR软件,利用内置字节码特征匹配,定位各类内核回调函数的实际地址,并将这些实际地址填充回原本的位置,实现在不终止安全软件进程的前提下,屏蔽其对进程、线程、文件、注册表等行为的监控能力。

 

值得注意的是,该开源项目251月上传到GitHub平台,黑产团伙6月份使用该项目加入到银狐木马的loader功能中,中间仅差5个月时间,展现出该黑产团伙极强的研究落地能力。

Cndom6.sys

Cndom6.sys含有北京天水技术开发有限公司的过期数字签名:

 

sys程序主要功能是通过InfinityHook技术,在进入系统调用分派逻辑的路径下设下拦截点(在KiSystemCall64执行期间或其分派前后插入跳转),从而可以拦截特定的系统调用。这种技术避开了Windows对内核的防护技术PatchGuard,不通过修改SSDT表来HOOK API

 

sys程序HOOK了五个API,主要功能有:

API名称

API功能

Hook方式

NtTraceControl

用于控制内核级ETW(事件跟踪)机制。

关闭日志、躲避检测

KeQueryPerformanceCounter

获取一个高精度计时器(通常是 CPU TSC,时间戳计数器)的当前值和频率。

对抗沙箱检测、反调试

NtQuerySystemInformation

用于查询系统级信息,参数可决定查询内容(例如进程列表、句柄表、内存信息、模块列表等)。

隐藏当前进程

NtOpenProcess

根据目标进程 ID 打开一个进程对象句柄。

对指定进程返回错误码,防止被其他进程打开

NtOpenThread

打开线程对象句柄。

暂停指定进程的线程

sys程序可以通过对这五个API函数的HOOK来实现Rootkit技术,隐藏指定的进程,对抗检测。

XiaoH.sys

XiaoH.sys含有上海启思教育科技服务有限公司的过期数字签名:

 

该驱动的主要功能是获取nsiproxy.sys的驱动对象并劫持其IRP回调函数指针,从而拦截并篡改网络连接枚举流程。nsiproxy.sysWindows中与Network Store Interface服务交互,为用户态提供网络连接状态、TCP/UDP 连接表等网络状态信息。

用户态的一些网络查询行为,实际上是通过向nsiproxy.sys发送IOCTL控制码,由其转发至内核中网络底层API函数,读取网络连接状态。而该驱动则是通过定位nsiproxy.sys驱动对象,获取函数指针进行HOOK,当其它程序枚举网络连接时,拦截处理并返回一个被修改的结构,实现隐藏通讯的目的:

 

获取到nsiproxy.sys驱动对象后,替换其结构体中的回调函数指针,替换为自定义Hook函数:

 

这样在调用此回调函数时,会判断是否为受保护进程,如果为受保护进程,则伪造一个虚假的结构体,隐藏网络连接行为。

最终由NtHandleCallback.exe程序加载解密银狐的远控模块Server.log,反连C2



[培训]科锐软件逆向54期预科班、正式班开始火爆招生报名啦!!!

收藏
免费 3
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回