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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/chaelsoo/hollow
أدوات التشفير/فك التشفيرتوليد الحمولةالاستغلالالتهرب من IDS/IPSشيل كوداختبار الاختراقالفريق الأحمرتوليد شيفرة القشرةتطوير الحمولاتاستغلال الملفات الثنائية
GitHubchaelsoo/hollow

Hollow

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

الأكثر شعبية

عرض الكل →

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

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

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

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

مولد محمّل شيلكود مع دعم لتقنيات حقن متعددة، مصمم لعمليات الفريق الأحمر.

عرض المستودع

Hollow

hollow هو مُولِّد مُحمل شل كود. أنت تُقدم له ملف شل كود خام وملف تعريف، فيُخرج لك مُحمل ويندوز PE مُترجم مع شل الكود المُشفَّر بداخله.

البدء

الملفات الثنائية متوفرة على صفحة الإصدارات، أو يمكنك البناء من المصدر:

root@kitploit:~
go build -o hollow .

يتطلب x86_64-w64-mingw32-gcc للترجمة المُتقاطعة.

على Arch Linux: pacman -S mingw-w64-gcc على Debian/Ubuntu: apt install gcc-mingw-w64-x86-64

الاستخدام

root@kitploit:~
./hollow -shellcode payload.bin -profile profiles/new_process_injection_sc.json
العلم (Flag)الوصف
-shellcodeالمسار إلى شل الكود الخام (bin.)
-profileالمسار إلى ملف تعريف JSON
-templatesدليل القوالب (الافتراضي: ./templates)

كيف يعمل؟

يتبع hollow مسارًا من ثلاث خطوات: تشفير، استبدال، ترجمة.

يتم تشفير شل الكود الخاص بك باستخدام AES-256-CBC باستخدام مفتاح و IV مُولَّدين عشوائيًا في كل مرة تشغيل. يتم تضمين كلاهما داخل الملف الثنائي المُخرج. ثم يتم استبدال العناصر النائبة في قالب C المُختار بشل الكود المُشفَّر، والمفتاح، و IV، ويتم ترجمة النتيجة إلى PE مُرتبط ثابتًا ومُجرَّد بواسطة MinGW.

في وقت التشغيل، يقوم المُحمل بفك تشفير شل الكود باستخدام BCrypt لويندوز وينفذه باستخدام تقنية الحقن التي يُنفذها القالب.

القوالب

القوالب هي ملفات مصدر C تُنفذ منطق الحقن الفعلي. كل قالب موجود في templates/ ويحتوي على رموز نائبة (${SHELLCODE}، ${KEY}، ${IV}، ${TARGET_PROCESS}) يملؤها hollow قبل الترجمة. تختار قالبًا من خلال ملف التعريف الخاص بك.

يأتي hollow مع ستة قوالب:

يمكنك كتابة قوالبك الخاصة ووضعها في templates/ — سيلتقطها hollow تلقائيًا طالما أن ملف التعريف الخاص بك يشير إليها.

ملفات التعريف

ملفات التعريف هي ملفات JSON تُخبر hollow بالقالب الذي يجب استخدامه، والعملية المستهدفة، وكيفية ترجمة المخرج. وهي موجودة في profiles/ والمقصود بها التخصيص لكل مهمة.

root@kitploit:~
{
    "name": "New Process Injection via Direct Syscalls",
    "author": "",
    "template": "new_process_injection_sc",
    "target_process": "C:\\Windows\\System32\\cmd.exe",
    "arch": "x64",
    "compile": {
        "automatic": true,
        "gcc": "x86_64-w64-mingw32-gcc",
        "strip": true,
        "output_type": "exe"
    },
    "output_dir": "./output"
}

output_type إما exe أو dll. اضبط automatic: false لتفريغ كود C المُستبدل على القرص بدلاً من ترجمته، مفيد إذا كنت تريد تعديل الكود قبل البناء.

يتم كتابة ملف المخرج إلى output_dir، مُسمى {template}_loader.{exe|dll}.

القوالب بالتفصيل

حقن عملية جديدة

القالب: new_process_injection

التقنية: حقن خيط عن بُعد في عملية تم إنشاؤها حديثًا.

يُنشئ العملية الهدف مع CREATE_BREAKAWAY_FROM_JOB | CREATE_NO_WINDOW، وينتظر ثانيتين لتهيئتها، ثم يُخصص ذاكرة في مساحة عنوانها، ويكتب شل الكود المُفكك تشفيره، ويُعلمها كقابلة للتنفيذ، ويُنشئ خيطًا عن بُعد يُشير إليه. علامة BREAKAWAY مطلوبة عندما يتم تشغيل المُحمل من WinRM، الذي يُغلف جميع العمليات في كائن مهمة. الهدف هو مسار كامل لملف تنفيذي.

استدعاءات Win32: CreateProcessA، VirtualAllocEx، WriteProcessMemory، VirtualProtectEx، CreateRemoteThread.


حقن عملية جديدة عبر استدعاءات النظام المباشرة

القالب: new_process_injection_sc

التقنية: حقن خيط عن بُعد في عملية تم إنشاؤها حديثًا، عبر استدعاءات النظام المباشرة (Hell's Gate).

نفس سلوك new_process_injection، ولكن كل استدعاء تخصيص وخيط يتجاوز طبقة Win32 تمامًا. يتم حل SSNs من ntdll في وقت التشغيل وتنفيذها عبر تعليمة syscall الخام. انظر قسم القياس.


حقن الخيط عن بُعد

القالب: remote_thread_injection

التقنية: حقن الخيط عن بُعد الكلاسيكي في عملية موجودة.

يجد عملية قيد التشغيل بالاسم باستخدام CreateToolhelp32Snapshot، ويفتح مقبضًا لها، ثم يُخصص ذاكرة، ويكتب شل الكود، ويُنشئ خيطًا عن بُعد. لا يتم إنشاء عملية جديدة. يُفضل استخدامه ضد العمليات طويلة العمر مثل explorer.exe. الهدف هو اسم صورة العملية، وليس مسارًا كاملاً.

استدعاءات Win32: OpenProcess، VirtualAllocEx، WriteProcessMemory، VirtualProtectEx، CreateRemoteThread.


حقن الخيط عن بُعد عبر استدعاءات النظام المباشرة

القالب: remote_thread_injection_sc

التقنية: حقن الخيط عن بُعد الكلاسيكي في عملية موجودة، عبر استدعاءات النظام المباشرة (Hell's Gate).

نفس سلوك remote_thread_injection، مع تجاوز طبقة Win32. انظر قسم القياس.


حقن APC المبكر (Early Bird)

القالب: earlybird_apc

التقنية: حقن APC المبكر (CyberArk، 2018).

يُنشئ العملية الهدف في حالة معلقة (CREATE_SUSPENDED | CREATE_BREAKAWAY_FROM_JOB | CREATE_NO_WINDOW)، ويكتب شل الكود المُفكك في مساحة عنوانها، ثم يُصطف استدعاء إجراء غير متزامن (APC) إلى الخيط الرئيسي يُشير إلى شل الكود عبر QueueUserAPC، ويستأنفها بـ ResumeThread. نظرًا لأن APC يُطلق قبل تشغيل نقطة دخول العملية، يتم تنفيذ شل الكود قبل تهيئة أي أدوات دفاعية في العملية. يتجنب الثالوث VirtualAllocEx + WriteProcessMemory + CreateRemoteThread تمامًا.


التحميل الجانبي لـ DLL

القالب: dll_sideload

التقنية: التحميل الجانبي لـ DLL / تنفيذ شل الكود داخل العملية.

يُنتج DLL بدلاً من EXE. عند DLL_PROCESS_ATTACH، يتم إنشاء خيط يُفك تشفير وينفذ شل الكود داخل العملية: VirtualAlloc، memcpy، VirtualProtect، ثم استدعاء دالة مباشرة إلى شل الكود. يجب أن تظل العملية المضيفة حية أثناء تهيئة الحمولة (حوالي 10 ثوانٍ لمنارة Sliver). انشر DLL في موقع حيث سيقوم برنامج شرعي بتحميله عبر مسار بحث DLL مفقود.


مقارنة الأداء: Win32 مقابل استدعاءات النظام المباشرة

تم الاختبار على ويندوز 10 Build 19041، مع تمكين حماية الوقت الفعلي لـ Windows Defender، التعريفات 1.453.354.0، مع حمولة منارة Sliver ملتفة بحجم 17 ميجابايت كحمولة:

Trojan:Win64/AsyncRat.RPY!MTB هي قاعدة تهديد آلي تُشغلها سلسلة الحقن عن بُعد الكلاسيكية: VirtualAllocEx + WriteProcessMemory + CreateRemoteThread المُستدعاة على مقبض عملية بعيدة عبر طبقة واجهة برمجة تطبيقات Win32. يُسجل Defender رد اتصال kernel يُطلق عند ظهور هذه الاستدعاءات الثلاثة في تسلسل.

تتجاوز قوالب _sc هذا بعدم استدعاء دوال Win32 هذه أبدًا. بدلاً من ذلك، تحل أرقام خدمة استدعاء النظام (SSNs) المقابلة مباشرة من ntdll في وقت التشغيل باستخدام Hell's Gate: كل كعب ntdll غير مُعَدَّل يبدأ بـ 4C 8B D1 B8 كتمهيد من أربعة بايتات، وSSN موجود في الإزاحة 4. استدعاء النظام الفعلي هو دالة عارية في GCC لا تحتوي إلا على movq %rcx, %r10 / movl ssn(%rip), %eax / syscall / ret، وهو التسلسل الدقيق الذي كان سينفذه كعب ntdll نفسه. لا يتم تشغيل رد اتصال Defender أبدًا لأن أغلفة Win32 المراقبة لا تُستدعى أبدًا.

على الأنظمة التي تم فيها تعديل أكواد ntdll بواسطة EDR كامل (تم استبدال التمهيد بقفزة)، يفشل فحص الكعب النظيف ويخرج المُحمل مبكرًا. لم يتم تنفيذ Halo's Gate (مسح الأكواد المجاورة لاستنتاج SSN).

حجم الملف الثنائي

يُضيف كود المُحمل حوالي 19 كيلوبايت من النفقات العامة. حجم المخرج هو أساسًا حجم شل الكود المُدخل. منارة Sliver بحجم 17 ميجابايت تُنتج مُحملًا بحجم 18 ميجابايت. شل كود Metasploit النموذجي (~200 كيلوبايت) سيُنتج مُحملًا بحجم ~220 كيلوبايت.

المساهمة

المساهمات مرحب بها. إذا كان لديك قالب كتبته وتريد إضافته، أو تحسينات للقوالب الحالية، فلا تتردد في فتح طلب سحب (PR). إذا وجدت خطأ أو كان لديك اقتراح، افتح مشكلة (issue).

الهدف من هذه الأداة هو جعل عملية تطوير المُحمل أسهل، وليس أن تكون منتجًا نهائيًا. القوالب الجديدة، وملفات التعريف الأفضل، والتحسينات على النواة كلها موضع ترحيب. تم بناء hollow أيضًا بهدف مساعدة الأشخاص على فهم المفاهيم الكامنة وراء مُحملات شل الكود وتقنيات الحقن، لذا فإن كود القالب الواضح والقابل للقراءة لا يقل قيمة عن الوظيفة.

المدونة

سأقوم قريبًا بتفصيل المفاهيم الكامنة وراء كل تقنية والاستخدام الكامل لـ hollow على مدونتي. تابعونا.

المراجع

  • ldrgen من gatari، إلهام ومرجع لتصميم مُحمل شل الكود
تنزيل الأداة
القالبالتقنية
new_process_injectionحقن الخيط عن بُعد في عملية تم إنشاؤها حديثًا
new_process_injection_scنفس الأسلوب، عبر استدعاءات النظام المباشرة (Hell's Gate)
remote_thread_injectionحقن الخيط عن بُعد الكلاسيكي في عملية موجودة
remote_thread_injection_scنفس الأسلوب، عبر استدعاءات النظام المباشرة (Hell's Gate)
earlybird_apcحقن APC المبكر (Early Bird)
dll_sideloadالتحميل الجانبي لـ DLL، يُنتج DLL بدلاً من EXE
القالبتنبيه سلوك Windows Defenderتم إنشاء الجلسة
new_process_injectionTrojan:Win64/AsyncRat.RPY!MTBنعم
remote_thread_injectionTrojan:Win64/AsyncRat.RPY!MTBنعم
earlybird_apcلا شيءنعم
dll_sideloadلا شيءنعم
new_process_injection_scلا شيءنعم
remote_thread_injection_scلا شيءنعم