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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
access_updated — غلاف syscall في وضع النواة مع إيجاد الأنماط الديناميكي القائم على Zydis لنظامي Windows 10/11 | Kitploit
أدوات/GitHubGitHub/gmh5225/access_updated
تصعيد الامتيازاتالاستغلالالهندسة العكسيةما بعد الاستغلالتحليل الملفات الثنائية
GitHubgmh5225/access_updated

access_updated

غلاف syscall في وضع النواة مع إيجاد الأنماط الديناميكي القائم على Zydis لنظامي Windows 10/11

عرض المستودع
21منذ 8 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Singular Access

نسخة مُحدّثة من btbd/access مع إيجاد الأنماط الديناميكي القائم على Zydis للتوافق مع Windows 10/11

غلاف لاستدعاءات النظام في وضع النواة (kernel-mode) يتيح تنفيذ عمليات مميَّزة على العمليات دون الحاجة إلى مقابض (handles). يستخدم خطافًا لمؤشر xKdEnumerateDebuggingDevices للتواصل بين وضع النواة ووضع المستخدم.

الميزات

  • ✅ لا وجود لإزاحات مُرمَّزة - جميع دوالن وإزاحات النواة تُكتشف وقت التشغيل عبر مفكّك Zydis
  • ✅ مستقل عن الإصدار - يعمل عبر Windows 10 (1607+) وWindows 11 (حتى 24H2)
  • ✅ بدون SEH - عمليات آمنة دون استخدام معالجة الاستثناءات المنظمة
  • ✅ بدون مقابض - تنفيذ عمليات PROCESS_ALL_ACCESS دون إنشاء مقابض حقيقية
  • ✅ بصمة ضئيلة - خطاف نظيف في مقطع .data، دون تصحيحات inline
  • ✅ مفتوح المصدر - كود المصدر الكامل متاح للأغراض التعليمية

ما الجديد

تعمل هذه النسخة المُحدّثة على تحديث السائق الأصلي من خلال:

  1. دمج Zydis - التفكيك الديناميكي يحل محل أنماط البايت الهشّة
  2. دعم متعدد الإصدارات - ملف ثنائي واحد يعمل على Windows 10 1607 حتى Windows 11 24H2
  3. تسجيل نظيف - مخرجات تصحيح معلوماتية بادئتها [singular-access]
  4. موثوقية أفضل - مطابقة الأنماط على مستوى التعليمات بدلًا من البايتات الخام

كيف يعمل

إيجاد الأنماط الديناميكي

يستخدم السائق Zydis لتفكيك دوال النواة واستخراج:

آلية الخطاف

root@kitploit:~
User Mode (DLL)
    ↓ syscall with SYSCALL_UNIQUE
Kernel Hook (xKdEnumerateDebuggingDevices pointer)
    ↓ validates & dispatches
Kernel Syscall Handler
    ↓ performs privileged operation
Return to User Mode

بدء سريع

المتطلبات الأساسية

  • Visual Studio 2022 مع تطوير سطح المكتب C++
  • Windows Driver Kit (WDK) 10
  • تمكين توقيع الاختبار أو وضع تصحيح أخطاء النواة

البناء

root@kitploit:~
cd Driver
msbuild Driver.vcxproj /p:Configuration=Release /p:Platform=x64
link_driver.bat

المخرجات: Driver\x64\Release\Driver.sys

التحميل

الخيار 1: kdmapper (موصى به للاختبار)

root@kitploit:~
kdmapper.exe Driver.sys

الخيار 2: الخدمة

root@kitploit:~
sc create singular_access type= kernel binPath= C:\path\to\Driver.sys
sc start singular_access

المخرجات المتوقعة (DebugView)

root@kitploit:~
[singular-access] Initializing driver...
[singular-access] Windows build: 26200
[singular-access] ntoskrnl.exe base: FFFFF80000000000
[singular-access] [*] Searching for PsResumeThread in PsRegisterPicoProvider...
[singular-access] [+] Found PsResumeThread at FFFFF803AAE331C0
[singular-access] [*] Searching for PsSuspendThread in PsRegisterPicoProvider...
[singular-access] [+] Found PsSuspendThread at FFFFF803AADFA1A0
[singular-access] [+] Found PreviousMode offset: 0x232
[singular-access] Searching for xKdEnumerateDebuggingDevices pointer...
[singular-access] xKdEnumerateDebuggingDevices pointer: FFFFF803AB200B68
[singular-access] Installing hook...
[singular-access] Driver initialized successfully

استدعاءات النظام المدعومة

يعترض السائق هذه الاستدعاءات ويتعامل معها:

عمليات العمليات (Process Operations)

  • NtOpenProcess
  • NtSuspendProcess / NtResumeProcess
  • NtQueryInformationProcess / NtSetInformationProcess
  • NtQuerySystemInformationEx
  • NtFlushInstructionCache

عمليات الذاكرة

  • NtAllocateVirtualMemory / NtFreeVirtualMemory
  • NtReadVirtualMemory / NtWriteVirtualMemory
  • NtProtectVirtualMemory
  • NtQueryVirtualMemory
  • NtLockVirtualMemory / NtUnlockVirtualMemory
  • NtFlushVirtualMemory

عمليات الخيوط

  • NtOpenThread
  • NtSuspendThread / NtResumeThread
  • NtGetContextThread / NtSetContextThread
  • NtQueryInformationThread / NtSetInformationThread

المزامنة

  • NtWaitForSingleObject

توافق الإصدارات

تم اختباره وتأكيد عمله:

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

أمثلة على أنماط Zydis

إيجاد PsResumeThread:

root@kitploit:~
lea rcx, PsResumeThread    ; Load function address
mov [rdx+40h], rcx         ; Store in PICO provider table

إيجاد xKdEnumerateDebuggingDevices (Win11 24H2):

root@kitploit:~
mov rax, cs:off_140E00B68  ; Pattern: 48 8B 05 ? ? ? ? 74 ? E8
                           ; Resolve RIP-relative pointer

استخراج إزاحة PreviousMode:

root@kitploit:~
mov rax, gs:188h           ; Get KTHREAD
movzx eax, byte ptr [rax+232h]  ; Extract PreviousMode
ret

هيكل المشروع

root@kitploit:~
Driver/
├── main.c              # Entry point, initialization, hook installation
├── core.c              # Syscall handlers
├── util.c              # Pattern scanning, memory utilities
├── zydis_util.c        # Zydis-based pattern finders
├── zydis_util.h        # Zydis function declarations
├── syscall.h           # Syscall definitions
├── stdafx.h            # Precompiled header
└── Zydis/              # Zydis disassembler library

استكشاف الأخطاء وإصلاحها

فشل تحميل السائق:

  • فعّل توقيع الاختبار: bcdedit /set testsigning on
  • افحص رسائل الخطأ في DebugView
  • تحقق من تثبيت WDK بشكل صحيح

لم يتم العثور على النمط:

  • تحقق من رقم البنية في مخرجات DebugView
  • قد تحتاج إلى إضافة نمط جديد لبنيتك المحددة
  • افتح issue مع رقم البنية ومخرجات التصحيح

أخطاء الارتباط (Linker errors):

  • تأكد من تضمين جميع ملفات Zydis في المشروع
  • تحقق من تعريف ZYDIS_STATIC_BUILD و ZYCORE_STATIC_BUILD
  • تأكد من أن link_driver.bat يستخدم مسارات lib الصحيحة لـ WDK

التطوير

إضافة استدعاءات نظام جديدة

  1. أضف enum الاستدعاء إلى syscall.h
  2. أضف المعالج في core.c باستخدام ماكرو HANDLE_SYSCALL
  3. أعد بناء السائق

إضافة إصدارات Windows جديدة

  1. حلّل البنية الجديدة في IDA/Ghidra
  2. ابحث عن نمط مؤشر xKdEnumerateDebuggingDevices
  3. أضف النمط إلى find_kd_enum_debug_devices_ptr() في main.c
  4. اختبر وتأكد

الاعتمادات

  • المؤلف الأصلي: btbd - سائق الوصول الأصلي
  • Zydis: zyantific - مفكك x86/x86-64 سريع وخفيف
  • تم التحديث بواسطة: Singular - دمج Zydis ودعم متعدد الإصدارات

الترخيص

يحتفظ هذا المشروع بنفس ترخيص مستودع btbd/access الأصلي.

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

هذا البرنامج مخصص للأغراض التعليمية والبحثية فقط. استخدمه بمسؤولية وعلى الأنظمة التي تملكها أو لديك إذن صريح لاختبارها فقط.

تنزيل الأداة
الهدفالطريقةالإزاحة/العنوان
KTHREAD.PreviousModeفك تجميع ExGetPreviousMode0x232 (جميع الإصدارات)
PsResumeThreadفك تجميع PsRegisterPicoProviderLEA نسبي إلى RIP عند +0x40
PsSuspendThreadفك تجميع PsRegisterPicoProviderLEA نسبي إلى RIP عند +0x50
xKdEnumerateDebuggingDevicesفحص نمط مقطع .textأنماط خاصة بكل إصدار
إصدار النظامالبنيةالحالة
Windows 10 160714393✅
Windows 10 170916299✅
Windows 10 180917763✅
Windows 10 200419041✅
Windows 11 21H222000✅
Windows 11 22H222621✅
Windows 11 24H226100-26200✅