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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
DLLHSC — أداة فحص آلية لاكتشاف مرشحات اختطاف ترتيب البحث عن DLL في ملفات ويندوز التنفيذية، وتتضمن تحليل جدول الاستيراد، تعداد الوحدات في وقت التشغيل، وخطافات API عبر مايكروسوفت ديتورز. | Kitploit
أدوات/GitHubGitHub/ctxis/dllhsc
الاستغلالاختبار الاختراقتحليل الملفات الثنائيةتطوير الحمولات
GitHubctxis/dllhsc

DLLHSC

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

عرض المستودع
158364منذ 6 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

DLLHSC

DLL Hijack SCanner - أداة لتوليد الاستدلالات وأتمتة اكتشاف المرشحين لاختطاف ترتيب البحث في DLL

فهرس هذه الصفحة

  • محتويات هذا المستودع
  • أوضاع التشغيل
  • إرشادات التجميع والتشغيل
  • قائمة المساعدة
  • أمثلة التشغيل
  • التعليقات

محتويات هذا المستودع

يستضيف هذا المستودع ملف مشروع Visual Studio للأداة (DLLHSC)، وملف مشروع وظيفة خطاف API (detour)، وملف مشروع الحمولة (payload)، وأخيراً، الملفات التنفيذية المُجمَّعة للهندسة x86 و x64 (في قسم إصدارات هذا المستودع). تمت كتابة الكود وتجميعه باستخدام Visual Studio Community 2019.

إذا اخترت تجميع الأداة من المصدر، فستحتاج إلى تجميع المشاريع DLLHSC و detour و payload. يُنفِّذ مشروع DLLHSC الوظيفة الأساسية لهذه الأداة. يُنتج مشروع detour ملف DLL يُستخدم لخطاف واجهات برمجة التطبيقات (APIs). ويُنتج مشروع payload ملف DLL يُستخدم كإثبات للمفهوم للتحقق مما إذا كان الملف التنفيذي المُختبر قادراً على تحميله عبر اختطاف ترتيب البحث. يجب وضع الحمولة المُنتَجة في نفس الدليل مع DLLHSC و detour مع تسميتها payload32.dll للهندسة 32 بت و payload64.dll للهندسة 64 بت.

أوضاع التشغيل

تُنفِّذ الأداة 3 أوضاع تشغيل موضحة أدناه.

وضع خفيف الوزن

يُحمِّل صورة الملف التنفيذي في الذاكرة، ويُحلِّل جدول الواردات (Import table)، ثم يستبدل أي DLL مُشار إليه في جدول الواردات بملف DLL للحمولة.

تضع الأداة في دليل التطبيق فقط وحدة (DLL) غير موجودة أصلاً في دليل التطبيق، ولا تنتمي إلى WinSxS، ولا تنتمي إلى KnownDLLs.

عند تنفيذ الحمولة، يُنشئ ملف DLL ملفاً في المسار التالي: C:\Users\%USERNAME%\AppData\Local\Temp\DLLHSC.tmp كإثبات على التنفيذ. تُطلق الأداة التطبيق وتُبلغ عما إذا تم تنفيذ ملف DLL الحمولة عن طريق التحقق من وجود الملف المؤقت. نظراً لأن بعض الملفات التنفيذية تستورد دوالاً من ملفات DLL التي تُحمِّلها، فقد تظهر مربعات رسائل خطأ عندما يفشل ملف DLL المقدم في تصدير هذه الدوال وبالتالي لا يُلبي تبعيات الصورة المقدمة. ومع ذلك، تُشير مربعات الرسائل إلى أن ملف DLL قد يكون مرشحاً جيداً لتنفيذ الحمولة في حال استيفاء التبعيات. في هذه الحالة، يلزم إجراء تحليل إضافي. قد يحتوي عنوان مربعات الرسائل هذه على السلاسل: Ordinal Not Found أو Entry Point Not Found. يبحث DLLHSC عن النوافذ التي تحتوي على هذه السلاسل، ويُغلقها بمجرد ظهورها، ويُبلغ النتائج.

وضع سرد الوحدات

يُنشئ عملية باستخدام صورة الملف التنفيذي المقدمة، ويُعدد الوحدات التي تم تحميلها في مساحة عنوان هذه العملية، ويُبلغ النتائج بعد تطبيق المرشحات.

تُبلغ الأداة فقط عن الوحدات المُحمَّلة من دليل النظام ولا تنتمي إلى KnownDLLs. النتائج هي استدلالات تتطلب تحليلاً إضافياً. يمكن للمحلل بعد ذلك وضع الوحدات المُبلَّغ عنها في دليل التطبيق والتحقق مما إذا كان التطبيق يُحمِّل الوحدة المقدمة بدلاً من ذلك.

وضع وقت التشغيل

يُخطِّف واجهات برمجة التطبيقات LoadLibrary و LoadLibraryEx عبر Microsoft Detours ويُبلغ عن الوحدات التي تم تحميلها في وقت التشغيل.

في كل مرة يستدعي فيها التطبيق الممسوح ضوئياً LoadLibrary أو LoadLibraryEx، تعترض الأداة الاستدعاء وتكتب الوحدة المطلوبة في الملف C:\Users\%USERNAME%\AppData\Local\Temp\DLLHSCRTLOG.tmp. إذا تم استدعاء LoadLibraryEx تحديداً مع العلامة LOAD_LIBRARY_SEARCH_SYSTEM32، فلن يتم كتابة أي مخرجات إلى الملف. بعد الانتهاء من جميع عمليات الاعتراض، تقرأ الأداة الملف وتطبع النتائج. ما يهم للتحليل الإضافي هو الوحدات غير الموجودة في مفتاح التسجيل KnownDLLs، والوحدات غير الموجودة في دليل النظام، والوحدات التي لا تحتوي على مسار كامل (بالنسبة لهذه الوحدات، يُطبق المُحمِّل ترتيب البحث العادي).

إرشادات التجميع والتشغيل

إذا اخترت تجميع الأداة من المصدر، يُوصى بالقيام بذلك على Visual Studio 2019. لكي تعمل الأداة بشكل صحيح، يجب تجميع المشاريع DLLHSC و detour و payload لنفس الهندسة المعمارية ثم وضعها في نفس الدليل. يرجى ملاحظة أن ملف DLL المُنتَج من مشروع payload يجب إعادة تسميته إلى payload32.dll للهندسة 32 بت أو payload64.dll للهندسة 64 بت.

قائمة المساعدة

قائمة المساعدة لهذا التطبيق

root@kitploit:~
NAME
        dllhsc - DLL Hijack SCanner

SYNOPSIS
        dllhsc.exe -h

        dllhsc.exe -e <executable image path> (-l|-lm|-rt) [-t seconds]

DESCRIPTION
        DLLHSC scans a given executable image for DLL Hijacking and reports the results

        It requires elevated privileges

OPTIONS
        -h, --help
                display this help menu and exit

        -e, --executable-image
                executable image to scan

        -l, --lightweight
                parse the import table, attempt to launch a payload and report the results

        -lm, --list-modules
                list loaded modules that do not exist in the application's directory

        -rt, --runtime-load
                display modules loaded in run-time by hooking LoadLibrary and LoadLibraryEx APIs

        -t, --timeout
                number of seconds to wait for checking any popup error windows - defaults to 10 seconds

أمثلة التشغيل

يقدم هذا القسم أمثلة عن كيفية تشغيل DLLHSC والنتائج التي يُبلغ عنها. لهذا الغرض، تم استخدام الأداة المساعدة الشرعية من Microsoft OleView.exe (MD5: D1E6767900C85535F300E08D76AAC9AB). للحصول على نتائج أفضل، يُوصى بمسح صورة الملف التنفيذي المقدمة ضمن دليل التثبيت الخاص به.

يقوم العلم -l بتحليل جدول الواردات للملف التنفيذي المقدم، وتطبيق المرشحات، ومحاولة تسليح الوحدات المستوردة بوضع ملف DLL للحمولة في الدليل الحالي للتطبيق. قد يُظهر الملف التنفيذي الممسوح ضوئياً مربع خطأ عندما لا يتم استيفاء تبعيات ملف DLL للحمولة (الدوال المُصدَّرة). في هذه الحالة، يظهر مربع رسالة خطأ. يتحقق DLLHSC افتراضياً لمدة 10 ثوانٍ مما إذا تم فتح مربع رسالة أو لعدد الثواني المحدد من قبل المستخدم باستخدام العلم -t. يُشير مربع رسالة الخطأ إلى أنه إذا تم استيفاء التبعيات، يمكن تسليح الوحدة.

تُظهر لقطة الشاشة التالية مربع رسالة الخطأ الناتج عند تحميل OleView.dll لملف DLL الحمولة:

تبعية

تنتظر الأداة إطاراً زمنياً أقصاه 10 ثوانٍ أو -t ثانية للتأكد من اكتمال تهيئة العملية وإنشاء أي مربع رسالة. ثم تكتشف الأداة مربع الرسالة، وتغلقه، وتُبلغ النتيجة:

وحدات مستوردة

يُطلق العلم -lm الملف التنفيذي المقدم ويطبع الوحدات التي يُحمِّلها والتي لا تنتمي إلى قائمة KnownDLLs وليست تبعيات WinSxS. يهدف هذا الوضع إلى إعطاء فكرة عن ملفات DLL التي قد تُستخدم كحمولة، وهو موجود فقط لتوليد استدلالات للمحلل.

وحدات محملة

يطبع العلم -rt الوحدات التي تُحمِّلها صورة الملف التنفيذي المقدمة في مساحة عنوانها عند تشغيلها كعملية. يتم تحقيق ذلك من خلال خطاف واجهتي برمجة التطبيقات LoadLibrary و LoadLibraryEx عبر Microsoft Detours.

وحدات محملة في وقت التشغيل

التعليقات

لأي تعليقات حول هذه الأداة، يُرجى استخدام قسم المشكلات (Issues) على GitHub.

تنزيل الأداة