Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
360WFP_Exploit — BYOVD: استخدم برنامج تشغيل 360 ​​WFP لمنع اتصال شبكة EDR/XDR. | Kitploit
أدوات/GitHubGitHub/kyxiaxiang/360wfp_exploit
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالالتهرب من IDS/IPSالحركة الجانبيةالهندسة العكسيةاختبار الاختراقتحليل الملفات الثنائيةالفريق الأحمر
GitHubkyxiaxiang/360wfp_exploit

360WFP_Exploit

BYOVD: استخدم برنامج تشغيل 360 ​​WFP لمنع اتصال شبكة EDR/XDR.

12920منذ 6 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع

360WFP_Exploit

إثبات مفهوم (PoC) يوضح إمكانية إساءة استخدام واجهة برنامج تشغيل WFP الخاص بـ 360 Security (360netmon_x64_wfp.sys)، بهدف التحقق من أن واجهات IOCTL دون التحقق من هوية المتصل يمكن إساءة استخدامها بواسطة برامج الطرف الثالث.

هذا المشروع مخصص لأغراض البحث الأمني وتحليل الثغرات فقط. لا يجوز استخدامه لأي أغراض غير قانونية.


نظرة عامة على المشروع

أثناء الهندسة العكسية لبرنامج تشغيل مراقبة الشبكة 360netmon_x64_wfp.sys الخاص بـ 360 Security، تم اكتشاف السلوكيات التالية:

  • يعرض برنامج التشغيل كائني جهاز لوضع المستخدم:

    • \\.\360TdiFilter
    • \\.\360TdiSpeed
  • يمكن الوصول إلى كائني الجهاز هذين بواسطة أي عملية بمستوى مسؤول عبر DeviceIoControl

  • لا يقوم معالج IrpMjDeviceControl بأي التحقق من هوية المتصل أو توقيعه

  • يمكن استخدام بعض وظائف IOCTL مباشرة لـ:

    • إضافة عوامل تصفية WFP بشكل ديناميكي
    • تكوين تحديد سرعة شبكة العمليات
    • حظر الوصول إلى الشبكة بالكامل لأي عملية عشوائية

يقدم هذا المستودع PoC بسيط لإظهار:

كيف يمكن لعملية تعمل على نظام مثبت عليه 360 Security حظر الوصول إلى الشبكة لأي عملية محددة باستخدام واجهات برنامج تشغيل شرعية.


ملخص الثغرة / المشكلة

المشكلة الأساسية

عند نقطة الدخول لروتين IrpMjDeviceControl الخاص ببرنامج التشغيل، يتم التحقق فقط من كائن الجهاز:

root@kitploit:~
cmp rdi, g_pDeviceObject_TdiFilter
jz  ...

لا يتم إجراء أي التحقق من صلاحية المتصل أو المصدر على الإطلاق.

ونتيجة لذلك، يمكن لأي عملية بمستوى مسؤول القيام بما يلي:

  • استدعاء IOCTL 0x220804 لتكوين تحديد سرعة الشبكة أو حظرها لعملية
  • استدعاء IOCTL 0x220444 لتعديل قواعد تصفية WFP ديناميكيًا

العرض التوضيحي

يقوم هذا PoC بتنفيذ العمليات التالية:

  • فتح كائن الجهاز \\.\360TdiFilter
  • بناء هيكل البيانات المدخلة المتوقعة من قبل برنامج التشغيل
  • استخدام IOCTL 0x220804 لتعيين عملية مستهدفة في وضع "حظر الشبكة بالكامل"

النتيجة:

  • يتم إسقاط جميع اتصالات TCP/UDP للعملية المحددة على طبقة WFP
  • لا حاجة لحقن الكود أو التوصيل (hooking)
  • يتم تنفيذ العملية بالكامل من خلال واجهات برنامج تشغيل شرعية

الاستخدام

البناء

افتح المشروع في Visual Studio وقم بالبناء:

root@kitploit:~
x64 Release

مثال

root@kitploit:~
360WFP_Exploit.exe "C:\Windows\System32\notepad.exe"

بعد التنفيذ، ستفقد العملية المستهدفة جميع اتصالات الشبكة فورًا.


هيكل المشروع

root@kitploit:~
.
├── src/
│   ├── main.c          // منطق PoC الرئيسي
│   ├── driver_io.c     // غلاف استدعاء IOCTL
│   └── utils.c         // دوال مساعدة (مثل تحويل المسار)
├── README.md
└── LICENSE

التفاصيل التقنية

هيكل البيانات الأساسي المتوقع من قبل برنامج التشغيل:

root@kitploit:~
typedef struct _PACK {
    WCHAR szNtPath[MAX_PATH + 40];
    WCHAR szPath[MAX_PATH];
    BOOL bCancelFlag;
    LONGLONG qwBlockCnnt;
    LONGLONG nLimitSend;
    LONGLONG nLimitRecv;
    DWORD dwZeroCheck;
} PACK, *PPACK;

عندما:

root@kitploit:~
qwBlockCnnt = LLONG_MAX

يقوم برنامج التشغيل بإرجاع في Callout الخاص بـ WFP:

root@kitploit:~
FWP_ACTION_BLOCK

مما يؤدي إلى حظر الشبكة بالكامل للعملية المستهدفة.


إخلاء المسؤولية

  • يتم توفير هذا المشروع لأغراض البحث الأمني والتعلم التقني فقط
  • لا تستخدمه لأي أنشطة غير قانونية أو غير مصرح بها
  • لا يتحمل المؤلف أي مسؤولية عن أي عواقب ناتجة عن سوء استخدام هذه الأداة

360WFP_Exploit

一个针对 360 安全卫士 WFP 驱动(360netmon_x64_wfp.sys)的接口滥用演示 PoC,用于验证驱动 IOCTL 接口在未进行调用者身份校验情况下,可能被第三方程序滥用的问题。

本项目仅用于安全研究与漏洞分析演示,不用于任何非法用途。


项目简介

在对 360 安全卫士网络监控驱动 360netmon_x64_wfp.sys 的逆向分析过程中发现:

  • 驱动向用户态暴露了两个设备对象:

    • \\.\360TdiFilter
    • \\.\360TdiSpeed
  • 这些设备对象允许普通管理员进程通过 DeviceIoControl 发送 IOCTL 请求

  • IrpMjDeviceControl 中没有对调用者进行任何身份或签名验证

  • 部分 IOCTL 功能可以被直接用于:

    • 动态添加 WFP Filter
    • 设置进程网络限速
    • 直接阻断任意进程的网络连接

本仓库提供了一个最小化 PoC,用于演示:

在已安装 360 安全卫士的系统上,如何通过合法接口阻断任意指定进程的网络访问。


漏洞/问题概述

核心问题

驱动的 IrpMjDeviceControl 入口处仅验证设备对象是否匹配:

root@kitploit:~
cmp rdi, g_pDeviceObject_TdiFilter
jz  ...

完全没有进行调用者权限校验或来源验证。

因此,任何具有管理员权限的进程,都可以:

  • 调用 IOCTL 0x220804 设置进程网络限速/阻断
  • 调用 IOCTL 0x220444 动态修改 WFP 过滤规则

功能演示

本 PoC 实现了:

  • 打开 \\.\360TdiFilter 设备
  • 构造驱动期望的数据结构
  • 通过 IOCTL 0x220804 将目标进程设置为“完全阻断网络”模式

效果:

  • 指定进程所有 TCP/UDP 连接被 WFP 层直接丢弃
  • 无需注入、无需 HOOK、完全通过驱动合法接口实现

使用方法

编译

使用 Visual Studio 打开项目并编译:

root@kitploit:~
x64 Release

使用示例

root@kitploit:~
360WFP_Exploit.exe "C:\Windows\System32\notepad.exe"

执行后,目标进程将被立即阻断网络访问。


项目结构

root@kitploit:~
.
├── src/
│   ├── main.c          // PoC 主逻辑
│   ├── driver_io.c     // IOCTL 调用封装
│   └── utils.c         // 路径转换等辅助函数
├── README.md
└── LICENSE

技术细节

驱动期望的核心数据结构:

root@kitploit:~
typedef struct _PACK {
    WCHAR szNtPath[MAX_PATH + 40];
    WCHAR szPath[MAX_PATH];
    BOOL bCancelFlag;
    LONGLONG qwBlockCnnt;
    LONGLONG nLimitSend;
    LONGLONG nLimitRecv;
    DWORD dwZeroCheck;
} PACK, *PPACK;

当:

root@kitploit:~
qwBlockCnnt = LLONG_MAX

时,驱动会在 WFP Callout 中直接返回:

root@kitploit:~
FWP_ACTION_BLOCK

从而彻底阻断目标进程的网络通信。


免责声明

  • 本项目仅用于安全研究与技术交流
  • 请勿用于任何非法用途
  • 因滥用本工具造成的任何后果与作者无关

تنزيل الأداة