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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/rajiv2790/falconeye
أدوات دفاعيةتحليل البرمجيات الخبيثةتحليل الملفات الثنائيةكشف التسلل
GitHubrajiv2790/falconeye

FalconEye

برنامج تشغيل ويندوز في وضع النواة للكشف في الوقت الفعلي عن تقنيات حقن العمليات، بما في ذلك Shellcode و DLL والحقن الانعكاسي، مع اعتراض استدعاءات النظام وكشف الشذوذ.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

FalconEye: برنامج كشف فوري لحقن العمليات في ويندوز

FalconEye هو برنامج كشف لنقاط النهاية في ويندوز لحقن العمليات في الوقت الفعلي. وهو برنامج تشغيل في وضع kernel يهدف إلى اكتشاف عمليات حقن العمليات أثناء حدوثها (في الوقت الفعلي). نظرًا لأن FalconEye يعمل في وضع kernel، فإنه يوفر دفاعًا أقوى وموثوقًا ضد تقنيات حقن العمليات التي تحاول التهرب من خطافات وضع المستخدم المختلفة.

يمكنك الاطلاع على العرض التقديمي الخاص بنا في 2021 Blackhat ASIA Arsenal والشرائح.

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

تغطية الكشف

يوضح الجدول أدناه حالة التنفيذ ومنطق الكشف لمختلف تقنيات حقن العمليات. WPM تعني WriteProcessMemory. لاختبار الكشف، يمكن الرجوع إلى قسم المراجع.

التقنيةالحالةالكشفالإثبات المستخدم
Atombombing✓ربط QueueUserAPC والبحث عن دوال عائلة GlobalGetAtomPinjectra
Instrumentation callback injection✓اكتشاف إذا تم إنشاء خيط جديد من كود عائمhttps://github.com/antonioCoco/Mapping-Injection
Reflective DLL Injection✓اكتشاف إذا تم إنشاء خيط جديد من كود عائم وإذا كان رأس PE يُكتب في الضحيةMInjector
PROPagate✓ربط SetProp للحصول على عنوان الخاصية التي يتم كتابتها وربطه باستدعاءات WPM السابقة للحصول على عنوان الكود العائمPinjectra
Process Hollowing✓تم اكتشافه باستخدام رأس PE المكتوب في ذاكرة العملية المستهدفةMInjector
CreateRemoteThread with LoadLibrary✓خيط جديد بعنوان بداية يشير إلى LoadLibrary. إصدار MInjector يكتب أيضًا مسار DLL باستخدام WPM والذي يتم اكتشافه أيضًاMInjector, Pinjectra
CreateRemoteThread with MapViewOfFile✓اكتشاف إذا تم إنشاء خيط جديد من كود عائمPinjectra
Suspend-Inject-Resume✓اكتشاف إذا تم إنشاء خيط جديد من كود عائم (MInjector). مسار DLL يُكتب عبر WPM (MInjector). اكتشاف إذا تم تعيين السياق على خيط معلق سابقًا (Pinjectra)MInjector, Pinjectra
QueueUserAPC✓مسار DLL يُكتب عبر WPMMInjector
QueueUserAPC with memset (Stackbombing)✓ربط QueueUserAPC والبحث عن memsetPinjectra
SetWindowLong (Extra window memory injection)✓ربط SetWindowLong للحصول على عنوان مؤشر الدالة الذي يتم كتابته وربطه باستدعاءات WPM السابقة للحصول على عنوان الكود العائمPinjectra
Unmap + Overwrite✓تنبيه إذا كانت عملية المهاجم تقوم بإلغاء تعيين ntdll من الضحيةPinjectra
Kernel Ctrl Table✓اكتشاف إذا كانت WPM تستبدل حقل KernelCallbackTable في PEB للضحيةhttps://github.com/odzhan/injection/blob/master/kct
USERDATA✓التحقق مما إذا كان عنوان هدف WPM ضمن نطاق conhost.exe. إذا كان الأمر كذلك، تحقق مما إذا كانت أي مؤشرات دالة ذات صلة من conhost تطابق عنوان WPM المخزن مسبقًا

نظرة عامة على الهندسة المعمارية

alt text

  1. برنامج التشغيل هو برنامج تشغيل تحميل عند الطلب
  2. يتضمن التهيئة إعداد استدعاءات الإرجاع وخطافات استدعاءات النظام عبر libinfinityhook
  3. تحتفظ استدعاءات الإرجاع بخريطة لمعرفات العمليات المبنية من نشاط عبر العمليات مثل OpenProcess ولكنها لا تقتصر على OpenProcess
  4. تستخدم استدعاءات الإرجاع اللاحقة وخطافات استدعاءات النظام خريطة معرف العملية هذه لتقليل الضوضاء في المعالجة. كجزء من تقليل الضوضاء، تقوم خطافات استدعاءات النظام بتصفية نفس نشاط العملية.
  5. ينقسم منطق الكشف إلى فئات فرعية وهي: عديم الحالة (مثال: Atombombing)، مع الحالة (Unmap+Overwrite) والكود العائم (Shellcode من تقنيات متعددة)
  6. بالنسبة للكشف مع الحالة، تسجل خطافات استدعاءات النظام سجل إجراءات يتم تنفيذه كحلقة مخزنة مؤقتة. على سبيل المثال، يسجل جميع استدعاءات NtWriteVirtualMemory حيث تختلف عملية المتصل عن العملية المستهدفة.
  7. يحتوي منطق الكشف على وظائف كشف الشذوذ الشائعة مثل كشف الكود العائم وكشف محفزات الشيل كود في العمليات البعيدة. تستدعي كل من استدعاءات الإرجاع وخطافات استدعاءات النظام هذه الوظيفة الشائعة للكشف الفعلي.

ملاحظة: كان تركيزنا على الكشف وليس إنشاء محرك كشف عالي الأداء. سنواصل هذه الجهود بعد عرض بلاك هات.

الملفات

root@kitploit:~
.
├── src 
│   ├── FalconEye ---------------------------# مساحة مستخدم وكيرنل FalconEye
│   └── libinfinityhook ---------------------# تنفيذ خطاف الكيرنل
├── 2021BHASIA_FalconEye.pdf
└── README.md

البدء

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

  1. ويندوز 10 الإصدار 1903/1909
  2. مايكروسوفت فيجوال ستوديو 2019 فما فوق
  3. برنامج محاكاة افتراضية مثل VmWare، Hyper-V (اختياري)

التثبيت

البناء

  1. افتح الحل مع فيجوال ستوديو 2019
  2. حدد x64 كمنصة بناء
  3. قم ببناء الحل. سيؤدي هذا إلى إنشاء ملف FalconEye.sys الثنائي تحت src\kernel\FalconEye\x64\Debug أو src\kernel\FalconEye\x64\Release

إعداد جهاز الاختبار

  1. قم بتثبيت ويندوز 10 الإصدار 1903/1909 في جهاز افتراضي
  2. قم بتكوين الجهاز الافتراضي لاختبار برنامج التشغيل غير الموقع
  • باستخدام bcdedit، قم بتعطيل فحوصات التكامل: BCDEDIT /set nointegritychecks ON
  1. قم بتشغيل DbgView من sysinternals في الجهاز الافتراضي أو ابدأ اتصال تصحيح باستخدام WinDbg.

الاستخدام

  1. انسخ FalconEye.sys إلى جهاز الاختبار (جهاز ويندوز 10 الافتراضي)
  2. قم بتحميل FalconEye.sys كبرنامج تشغيل تحميل 'عند الطلب' باستخدام OSR Loader أو أدوات مشابهة
  3. قم بتشغيل أدوات اختبار الحقن مثل pinjectra، minjector أو عينات أخرى
  4. راقب سجلات التصحيح إما عبر WinDbg أو DbgView

المراجع

InfinityHook, 2019

Itzik Kotler and Amit Klein. Process Injection Techniques - Gotta Catch Them All, Blackhat USA Briengs, 2019

Pinjectra, 2019

Mapping-Injection, 2020

Atombombing: Brand new code injection for windows, 2016

Propagate - a new code injection trick, 2017

Windows process injection: Extra window bytes, 2018

Pavel Asinovsky. Diving into zberp's unconventional process injection technique, 2016

Rotem Kerner. Ctrl-inject, 2018

Windows process injection: Consolewindowclass, 2018

Windows process injection: Windows notication facility, 2018

A paradox: Writing to another process without openning it nor actually writing to it, 2007

Windows process injection: Service control handler, 2018

Marcos Oviedo. Memhunter - Automated hunting of memory resident malware at scale. Defcon Demo Labs, 2019

شروط الترخيص

FalconEye مرخص لك بموجب رخصة المصدر المفتوح Apache 2.0.

تنزيل الأداة
https://github.com/odzhan/injection/blob/master/conhost
Ctrl-inject✓اكتشاف إذا كان المهاجم يقوم بـ WPM في نطاق KernelBase.dll للضحيةPinjectra
ALPC Callback✓استخراج معرف الضحية في استدعاءات NtConnectPort إلى منفذ ALPC. بالنسبة لزوج المهاجم-الضحية، تحقق من استدعاءات WPM السابقة وقم بتطبيق كشف الكود العائمPinjectra
WNF Callback✓WPM متبوع باستدعاء UpdateWNFStateDatahttps://github.com/odzhan/injection/tree/master/wnf
SetWindowsHook✓حفظ مسارات الوحدات المسجلة في خطاف NtUserSetWindowsHookEx. لاحقًا، عند تحميل وحدة تطابق هذا المسار في عملية مختلفة، إنشاء تنبيهMInjector
GhostWriting✓اكتشاف إذا تم تعيين السياق (تم استدعاء NtSetContextThread) على خيط معلق سابقًاPinjectra
Service Control✓WPM تستبدل معرف الخدمة لعملية (خدمة)https://github.com/odzhan/injection/tree/master/svcctrl
Shellcode injection✓خيط جديد بدأ من كود عائم. مسار DLL يُكتب بواسطة WPMMInjector
Image Mapping✓خيط بدأ من كود عائم. رأس PE يُكتب بواسطة WPM. مسار DLL يُكتب بواسطة WPMMInjector
Thread Reuse✓خيط بدأ من كود عائم. مسار DLL يُكتب بواسطة WPMMInjector