@@ -44,7 +44,10 @@ media_subpath: /assets/img/2025-12-15-silver-fox-poc-2025
4444
4545Python 社区已经提供了现成的库:[ PythonMemoryModule] ( https://github.com/naksyn/PythonMemoryModule ) 。
4646
47- 导入此库后,即可将任意 DLL/EXE 加载进 ` python.exe ` 宿主进程的内存中。经过本地测试,C/C++ 编译的 EXE 可以完美运行,但 .NET 程序无法正常工作。
47+ 导入此库后,即可将任意 DLL/EXE 加载进 ` python.exe ` 宿主进程的内存中。
48+
49+ > [ !NOTE]
50+ > 经过本地测试,C/C++ 编译的 EXE 可以完美运行,但 .NET 程序无法正常工作。
4851
4952``` python
5053import pythonmemorymodule
@@ -73,7 +76,8 @@ pythonmemorymodule.MemoryModule(data=data)
7376
7477开源项目 [ EDRSilencer] ( https://github.com/netero1010/EDRSilencer ) 正是基于这一原理诞生的。该工具于 2023 年末发布,旨在针对 EDR/AV 进程设置 WFP 过滤器,从而屏蔽其与云端的通信,使其无法上报威胁信息。银狐木马在 2025 年的变种中也采用了完全相同的手段。
7578
76- 为了规避检测,EDRSilencer 的作者自己实现了 ` FwpmGetAppIdFromFileName0 ` 函数,避免了直接调用 ` CreateFileW ` ,从而成功绕过了 Minifilter 的监控。
79+ > [ !NOTE]
80+ > 为了规避检测,EDRSilencer 的作者自己实现了 ` FwpmGetAppIdFromFileName0 ` 函数,避免了直接调用 ` CreateFileW ` ,从而成功绕过了 Minifilter 的监控。
7781
7882以下是基于 EDRSilencer 核心逻辑的代码片段,展示了如何配置 WFP 过滤器以阻断特定进程的流量:
7983
@@ -186,7 +190,10 @@ if (result == ERROR_SUCCESS) {
186190
187191 ![ alt text] ( 3.png )
188192
189- 至此,该驱动可以在开启了 HVCI (Hypervisor-Protected Code Integrity) 的最新版 Windows 11 机器上成功运行。下面是 POC 的关键代码片段:
193+ > [ !NOTE]
194+ > 至此,该驱动可以在开启了 HVCI (Hypervisor-Protected Code Integrity) 的最新版 Windows 11 机器上成功运行。
195+
196+ 下面是 POC 的关键代码片段:
190197
191198``` cpp
192199// ========== Step 1: 注册自己到白名单(绕过授权检查) ==========
@@ -261,7 +268,10 @@ Usage of gSigFlip.exe:
261268
262269### 核心原理
263270
264- 其核心逻辑在于** 直接进行 RPC 通信** ,从而绕过高层 Win32 API。通常,EDR/AV 产品会 Hook ` OpenSCManager() ` 或 ` CreateService() ` 等标准 API 来监控服务创建行为。而 CreateSvcRpc 不调用这些 API,而是通过命名管道直接与 SCM 的 RPC 接口通信,手工构造 DCE/RPC 协议数据包。这种方式可以有效避开基于 API Hook 的检测机制。
271+ 其核心逻辑在于** 直接进行 RPC 通信** ,从而绕过高层 Win32 API。
272+
273+ > [ !NOTE]
274+ > 通常,EDR/AV 产品会 Hook ` OpenSCManager() ` 或 ` CreateService() ` 等标准 API 来监控服务创建行为。而 CreateSvcRpc 不调用这些 API,而是通过命名管道直接与 SCM 的 RPC 接口通信,手工构造 DCE/RPC 协议数据包。这种方式可以有效避开基于 API Hook 的检测机制。
265275
266276### RPC 协议实现细节
267277
@@ -418,7 +428,8 @@ int InvokeCreateSvcRpcMain(char* pExecCmd)
418428
4194292024 年底,安全研究员 **Jonathan Beierle** 和 **Logan Goins** 发布了一篇名为 [Weaponizing WDAC - Killing the Dreams of EDR](https://beierle.win/2024-12-20-Weaponizing-WDAC-Killing-the-Dreams-of-EDR/) 的文章,详细描述了如何滥用 WDAC 机制来禁用杀毒软件和 EDR 的运行。
420430
421- 这一攻击手法的核心关键点在于:**WDAC 策略在系统启动阶段的加载优先级高于 EDR 驱动程序**。
431+ > [!NOTE]
432+ > 这一攻击手法的核心关键点在于:**WDAC 策略在系统启动阶段的加载优先级高于 EDR 驱动程序**。
422433
423434### 攻击流程
424435
@@ -491,10 +502,14 @@ flowchart TD
491502 > ** 目的** :确保系统知道遇到这个随机扩展名的文件时,应该使用指定的 Python 解释器打开。
492503
4935043 . 通过向 ` Session Manager ` 下的 ` DOS Devices ` 键写入一个新值,将一个未被使用的盘符(如 ` X: ` )映射到系统的公共开始菜单 ` Programs ` 目录。
494- > ** 注意** :这个映射不会立即生效,而是在下次系统启动时由会话管理器(SMSS)处理。
505+
506+ > [ !NOTE]
507+ > 这个映射不会立即生效,而是在下次系统启动时由会话管理器(SMSS)处理。
495508
4965094 . 攻击者将一对路径写入 ` PendingFileRenameOperations ` 注册表值。源路径是之前创建的那个带随机扩展名的文件,目标路径则使用刚才映射的虚拟盘符加上 ` Startup ` 子目录(例如 ` X:\Startup\reboot.qmtk ` )。
497- > ** 机制** :这个注册表值专门用于记录需要在重启时执行的文件操作(常用于 Windows 更新或驱动安装)。
510+
511+ > [ !TIP]
512+ > 这个注册表值专门用于记录需要在重启时执行的文件操作(常用于 Windows 更新或驱动安装)。
498513
499514### 重启后的执行逻辑
500515
@@ -613,7 +628,8 @@ def queue_move_to_startup(p: Path, drive_label: str) -> None:
613628
614629银狐木马(SilverFox)在 2025 年展现出的对抗技术演进,标志着黑产团伙在端点对抗领域的投入已达到准 APT 级别。从利用 WFP 和 WDAC 等系统原生机制“借刀杀人”禁用安全软件,到挖掘冷门 RPC 接口绕过Hook加驱,再到利用 BYOVD 技术直接在内核层通过漏洞驱动对抗 EDR,这些手法无不显示出攻击者对 Windows 操作系统底层机制的深刻理解。尤其值得注意的是,银狐将攻击行为伪装成合法的系统管理操作(如配置防火墙规则、应用控制策略、注册表文件操作等)。这种“白利用”的思路极大地提高了检测难度,传统的基于特征码或单一行为的防御手段已难以奏效。
615630
616- 对于蓝队而言,这不仅意味着需要关注文件层面的威胁,更需要加强对系统配置变更、异常驱动加载以及合法进程异常行为的监控。攻防对抗是一场永无止境的博弈,深入研究这些前沿样本的实现细节,是提升防御体系韧性的必经之路。
631+ > [ !NOTE]
632+ > 对于蓝队而言,这不仅意味着需要关注文件层面的威胁,更需要加强对系统配置变更、异常驱动加载以及合法进程异常行为的监控。攻防对抗是一场永无止境的博弈,深入研究这些前沿样本的实现细节,是提升防御体系韧性的必经之路。
617633
618634## 附录:卡饭安全论坛样本链接
619635
0 commit comments