Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
DLLHijackHunter — اكتشاف اختطاف DLL الآلي، والتحقق منه، والتأكيد عليه. تحويل الأخطاء المحلية في التهيئة إلى مسارات هجوم مؤكدة ومسلحة. | Kitploit
أدوات/GitHubGitHub/ghostvectoracademy/dllhijackhunter
تصعيد الامتيازاتماسحات الثغرات الأمنيةتوليد الحمولةآليات الاستمراريةتحليل الشفرة الديناميكي (DAST)الاستغلالالحركة الجانبيةاختبار الاختراقتحليل الملفات الثنائية

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
التعلم والتعليم
الفريق الأحمر
GitHubghostvectoracademy/dllhijackhunter

DLLHijackHunter

اكتشاف اختطاف DLL الآلي، والتحقق منه، والتأكيد عليه. تحويل الأخطاء المحلية في التهيئة إلى مسارات هجوم مؤكدة ومسلحة.

عرض المستودع
3964440منذ 13 أيامتمت المراجعة من قبل Kitploit

DLLHijackHunter

بواسطة ProjectMerai

اكتشاف، تحقق، وتأكيد آلي لاختطاف DLL
تحويل الأخطاء المحلية في الإعدادات إلى مسارات هجوم مؤكدة وجاهزة للاستغلال.


نظرة عامة

DLLHijackHunter هي أداة آلية لاكتشاف اختطاف DLL على نظام Windows تتجاوز التحليل الثابت. تكتشف، وتتحقق، وتؤكد فرص اختطاف DLL باستخدام خط أنابيب متعدد المراحل:

  1. الاكتشاف — تعداد الملفات التنفيذية عبر الخدمات، المهام المجدولة، عناصر بدء التشغيل، كائنات COM، ونواقل تجاوز UAC عبر AutoElevate
  2. التصفية — القضاء على النتائج الإيجابية الكاذبة من خلال بوابات ذكية صارمة ومرنة
  3. تأكيد Canary — نشر DLL كناري غير ضار وتشغيل الملف التنفيذي لإثبات نجاح الاختطاف
  4. التقييم والتقارير — ترتيب النتائج حسب قابلية الاستغلال مع نظام ثقة متدرج

معظم أدوات اختطاف DLL تتوقف عند "قد يكون هذا DLL قابلاً للاختطاف." DLLHijackHunter تحاول التحقق من ذلك، ومطابقته مع معلومات استغلال معروفة، وتأكيد مسارات التنفيذ الفعلية حيثما أمكن.


البنية المعمارية

flowchart TB
    subgraph Phase1["المرحلة 1: الاكتشاف"]
        SE["المحرك الثابت<br/>الخدمات، المهام، بدء التشغيل،<br/>COM، مفاتيح التشغيل"]
        AE["محرك AutoElevate<br/>Manifest + تجاوز UAC عبر COM"]
        PE["محلل PE<br/>جداول الاستيراد، التحميل المؤجل،<br/>Manifests، الصادرات"]
        ETW["محرك ETW<br/>مراقبة تحميل DLL<br/>في الوقت الفعلي"]
        SO["حاسبة ترتيب<br/>البحث"]
    end

    subgraph Phase2["المرحلة 2: خط أنابيب التصفية"]
        direction LR
        HG["البوابات الصارمة<br/>(إقصاء ثنائي)"]
        SG["البوابات المرنة<br/>(تعديل الثقة)"]
    end

    subgraph Phase3["المرحلة 3: التحقق من التحميل (--verify-load)"]
        LP["LoadProbe<br/>اختبار تحميل عملية فرعية<br/>وضع وإزالة DLL تجريبي"]
    end

    subgraph Phase4["المرحلة 4: Canary"]
        CB["باني DLL الكناري"]
        TE["منفذ التشغيل"]
        VF["التحقق"]
    end

    subgraph Phase5["المرحلة 5: المخرجات"]
        SC["مقيّم متدرج"]
        RC["تقرير وحدة التحكم"]
        RJ["تقرير JSON"]
        RH["تقرير HTML"]
    end

    SE --> PE --> SO
    AE --> PE
    ETW --> SO
    SO --> Phase2
    HG --> SG
    Phase2 --> Phase3
    Phase3 --> Phase4
    CB --> TE --> VF
    Phase4 --> Phase5

الميزات الرئيسية

تغطية أنواع الاختطاف

النوعالوصفالتخفيالحالة
PhantomDLL غير موجود في أي مكان على القرصعاليمنفذ
ترتيب البحثوضع DLL في وقت أبكر في ترتيب بحث Windowsعاليمنفذ
Side-Loadingاستغلال تحميل التطبيقات الشرعية لملفات DLL من دليلهاعاليمنفذ (مسار النسخ إلى temp عبر AutoElevate)
إعادة توجيه .localالاختطاف عبر إعادة توجيه دليل .localعاليمنفذ
ENV PATHاستغلال الأدلة القابلة للكتابة في PATH النظامعاليمنفذ (خريطة خدمات/DLL منسقة)
AppInit DLLsاستغلال سجل AppInit_DLLsمنخفضمنفذ
AppCert DLLsاستغلال سجل AppCertDLLs (يُحمّل في كل مستدعي CreateProcess/WinExec)منخفضمنفذ
CWDاختطاف دليل العمل الحاليمنخفضمخطط — لا يُنتج حالياً من أي مسار اكتشاف

يتم تعداد إدخالات IFEO Debugger وتحليل الملف التنفيذي المرجعي لاستيرادات DLL، ولكن لا يوجد نوع اختطاف مخصص لـ IFEO/تجاوز KnownDLL — لا يتم الإعلان عنها كاكتشافات مستقلة.

اكتشاف تجاوز UAC

يتضمن DLLHijackHunter اكتشافاً مخصصاً لتجاوز UAC:

  • Manifest AutoElevate — فحص System32 وSysWOW64 بحثاً عن ملفات EXE تحتوي على <autoElevate>true</autoElevate> في الـ manifests المدمجة
  • COM AutoElevation — فحص HKLM\SOFTWARE\Classes\CLSID بحثاً عن كائنات COM مع Elevation\Enabled=1
  • محاكاة Side-Load — للملفات التنفيذية AutoElevate التي لا تستدعي SetDllDirectory أو SetDefaultDllDirectories، محاكاة مسار الهجوم "نسخ EXE إلى مجلد قابل للكتابة + إسقاط DLL"

قاعدة معرفة الثغرات المستهدفة

  • تخطيط الثغرات المستهدفة — مطابقة الاستيرادات المكتشفة مع لقطة مدمجة من مجموعة بيانات HijackLibs (≈590 إدخال DLL موثق تغطي ≈700 ملف تنفيذي ضعيف)، مدمجة كـ Resources/hijacklibs.json. التطابق يعزز الثقة ويربط النتيجة بصفحة مرجع HijackLibs الخاصة بها؛ غياب التطابق لا يعني شيئاً. مجموعة البيانات مدفوعة بالبيانات — قم بتحديثها بإعادة تنزيل https://hijacklibs.net/api/hijacklibs.json فوق هذا المورد (بدون تغييرات في الكود). مجموعة البيانات © مشروع HijackLibs والمساهمين.
  • استغلال PATH الآلي — تقييم مجلدات PATH القابلة للكتابة وتوليد مرشحين للاختطاف لخريطة منسقة من خدمات Windows الأصلية المعروفة بالبحث في PATH عن ملفات DLL مفقودة
  • توسيع صيد DLL الوهمي — البحث عن مكتبة من فرص DLL الوهمية عالية القيمة عبر فئات متعددة

خط أنابيب التصفية

يقلل خط الأنابيب النتائج الإيجابية الكاذبة عبر مرحلتين:

البوابات الصارمة

  • تصفية مخطط مجموعات API (api-ms-*, ext-ms-*)
  • تصفية KnownDLL
  • التحقق من قابلية الكتابة عبر ACL بالنسبة للمهاجم — المسار يُعتبر قابلاً للكتابة فقط إذا كان لدى مبدأ غير مميز (Users / Authenticated Users / Everyone، بالإضافة إلى حسابات خدمات فرعية مقاومة لتسريب الامتيازات مثل LOCAL SERVICE/NETWORK SERVICE) حقوق كتابة فعلية. الأهم من ذلك، يتم حساب هذا بشكل مستقل عن الرمز المميز الذي تعمل به الأداة، لذا فإن التشغيل بصلاحيات مرتفعة لا يجعل System32/Program Files تبدو قابلة للكتابة. هذا ما يجعل التشغيل بصلاحيات مرتفعة ذا معنى لفرز LPE.

البوابات المرنة

  • عقوبة WinSxS manifest
  • تحليل فجوة الامتيازات
  • فحوصات تخفيف LoadLibraryEx
  • فحوصات التحقق من التوقيع
  • عقوبات معالجة الأخطاء بأناقة

تأكيد Canary

بدلاً من التخمين، يحاول DLLHijackHunter إثبات نجاح الاختطافات:

sequenceDiagram
    participant H as DLLHijackHunter
    participant B as باني DLL الكناري
    participant T as منفذ التشغيل
    participant V as الملف التنفيذي الضحية

    H->>B: بناء DLL كناري
    B->>B: استخراج كناري مُجمّع مسبقاً<br/>(أو تجميع وكيل مع MSVC)
    B-->>H: canary.dll + مسار ملف التأكيد
    H->>H: وضع DLL في مسار الاختطاف
    H->>T: تشغيل الملف التنفيذي
    T->>V: بدء خدمة / تشغيل مهمة / تفعيل COM
    V->>V: تحميل DLL الكناري
    V-->>H: كتابة ملف التأكيد<br/>PID، الامتيازات، مستوى السلامة
    H->>H: تسجيل: CONFIRMED
    H->>H: تنظيف DLL الكناري

DLL الكناري:

  • يُشحن مُجمّع مسبقاً لكل من x64 وx86، مدمج في الماسح الضوئي، لذا لا يتطلب مترجم في وقت الفحص. يتم اختيار البنية الصحيحة لمطابقة بتات الضحية واستخراجها عند الطلب.
  • يحدد موقعه ذاتياً: يستمد مسار ملف التأكيد في وقت التشغيل من مسار الوحدة المحملة الخاصة به (%ProgramData%\DLLHijackHunter\canary_<hash>.confirm)، لذا يعمل ملف ثنائي واحد لكل مرشح. يحسب الماسح نفس التجزئة من مسار النشر ويستقصي عن ذلك الملف.
  • يستخدم آلية تأكيد قائمة على الملفات
  • يلتقط بيانات وصفية للتنفيذ مثل المستخدم، مستوى السلامة، ومؤشرات الامتيازات
  • لا يحتوي على حمولة خبيثة؛ إنه آلية اكتشاف وتحقق بحتة
  • يربط CRT بشكل ثابت، لذا لا توجد تبعية وقت تشغيل (ucrtbase/vcruntime) على المضيف الضحية.

الملفات الثنائية المدمجة مبنية من المصدر القابل للتدقيق في src/DLLHijackHunter/Resources/canary_src.c ويمكن إعادة توليدها باستخدام Resources/build_canary.bat (يتطلب مجموعة أدوات MSVC C++؛ الماسح الضوئي لا يتطلبها).

تنزيل الأداة