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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
php2shell-exposurehunt — مستودع لاصطياد التعرض لـ PHP2Shell والتحليل المرتبط به | Kitploit
أدوات/GitHubGitHub/deathbydata/php2shell-exposurehunt
أدوات دفاعيةتحليل الثغرات الأمنيةتدقيق التكوينجمع المعلوماتاستخبارات التهديداتالاستجابة للحوادثتحليل السجلات
GitHubdeathbydata/php2shell-exposurehunt

php2shell-exposurehunt

مستودع لاصطياد التعرض لـ PHP2Shell والتحليل المرتبط به

عرض المستودع
1منذ 16س 25دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

php2shell-exposurehunt

صيد التعرّض في Defender XDR لـ PHP2Shell (CVE-2026-109618 / CVE-2026-109619).

v3.3 · 22 أكتوبر 2026

الغرض: العثور على الأجهزة المُضمَّنة (onboarded) التي تشغّل PHP فعليًا ويمكن أن تكون معرّضة لـ PHP2Shell.

النطاق: Defender XDR Advanced Hunting · نقاط نهاية Windows وLinux المُضمَّنة · نافذة بحث رجعي 30 يومًا افتراضيًا · PHP النشط فقط. غير مشمول: التثبيتات الخاملة والأجهزة غير المُدارة. غير قابل للتشغيل في Sentinel، لأن جدول البرمجيات المثبَّتة (TVM) لا يمكن الاستعلام عنه إلا في Defender XDR.

عمليات الصيد (تُنفَّذ بالترتيب، لكل نظام تشغيل)

الصيدWindowsLinuxالسؤال
1windows/01-any-php.kqllinux/01-any-php.kqlهل توجد أي PHP؟ نعم/لا لكل جهاز.
2windows/02-evidence-breakout.kqllinux/02-evidence-breakout.kqlتفصيل الأدلة مع الإصدارات.
3windows/03-safety-net.kqllinux/03-safety-net.kqlشبكة الأمان: الأجهزة التي تقدّم الخدمة على منافذ الويب، والعملية المُستمِعة، وحالة PHP.

ما الذي يُبحث عنه

تستخدم جميع فحوص الأحداث نافذة بحث رجعي واحدة، let Lookback = 30d; في أعلى كل عملية صيد. تأتي عناوين IP من أحدث تقرير لكل محوّل (adapter) خلال آخر 7 أيام. البرمجيات المثبَّتة هي لقطة TVM الحالية. تُفحص نقاط النهاية المُضمَّنة فقط (OnboardingStatus == "Onboarded"، DeviceCategory == "Endpoint").

كتلة اكتشاف PHP (عمليات الصيد 1 و2 و3)

يُحتسب الجهاز على أنه PHP مرئية إذا تحقّق أيٌّ من هذه الشروط.

كيف تُطابَق الأسماء:

  • تُطابَق أسماء الملفات بـ التعابير النمطية (regular expressions)، وليس بقوائم ثابتة. كل تعبير نمطي غير حسّاس لحالة الأحرف ومُثبَّت (^…$)، لذا يجب أن يطابق اسم الملف كاملًا، وليس جزءًا منه أبدًا.
  • يُنفَّذ أولًا مرشّح رخيص للبادئة الاسمية: startswith "php"، بالإضافة إلى frankenphp على كلا النظامين وlsphp على Linux. ثم يُنفَّذ التعبير النمطي على ما تبقّى فقط.
  • الأسماء في الجداول أدناه هي أمثلة على ما يطابقه كل نمط، وما يرفضه. أرقام الإصدارات الأخرى (مثل php9.dll مستقبلًا) تُطابَق تلقائيًا.
  • يشغّل patterns.test.js كل تعبير نمطي مقابل هذه الأمثلة. إذا غيّرت تعبيرًا نمطيًا، فحدّث الأمثلة هناك.

Windows

الفحصالجدولالمطابقاتلماذا يهم
بدء تشغيل ملفات PHP التنفيذيةDeviceProcessEventsالتعبير النمطي ^(php(-cgi|-win)?|frankenphp)\.exe$، الذي يسمح بأربعة أسماء بالضبط: php.exe (CLI)، php-cgi.exe (عامل FastCGI)، php-win.exe (CLI، بلا نافذة أوامر)، frankenphp.exe (PHP مضمّنة في خادم ويب). لا تُطابَق phpstorm64.exe وأدوات php* الأخرىيُثبت أن PHP قد عملت. يُظهر الصيد 2 الإصدار من معلومات إصدار الملف التنفيذي (ProcessVersionInfoProductVersion)
تحميل مكتبات محرك PHP (DLLs)DeviceImageLoadEventsالتعبير النمطي ^php\d*(ts|isapi|apache[\w_]*)?\.dll$: php، أي رقم إصدار، لاحقة اختيارية ts / isapi / apache…، ثم .dll. الأمثلة في جدول DLL أدناه. لا تُطابَق مكتبات الإضافات (php_curl.dll وغيرها من php_*.dll)، لأن الشرطة السفلية غير مسموح بها مباشرة بعد phpالطريقة الوحيدة لرؤية PHP تعمل داخل عملية أخرى، مثل IIS أو Apache، حيث لا يبدأ أي php*.exe. يُظهر الصيد 2 مكتبة DLL والعملية التي حمّلتها
البرمجيات المثبَّتةDeviceTvmSoftwareInventoryليس تعبيرًا نمطيًا: SoftwareName has "php" (php ككلمة كاملة في الاسم) أو SoftwareVendor =~ "php" (مطابقة تامة، غير حسّاسة لحالة الأحرف)يلتقط التثبيتات المسجّلة. تثبيتات Zip (الطريقة المعتادة على Windows) لا تُسجَّل عادةً

أمثلة على مكتبات محرك PHP (DLLs) التي يطابقها نمط Windows

DLLما هوعملية المضيف النموذجية (تظهر في hunt 2)
php8.dll، php7.dllالمحرك، بناء غير آمن للخيوطphp-cgi.exe (FastCGI تحت IIS أو nginx أو Apache mod_fcgid)، php.exe
php8ts.dll، php7ts.dll، php5ts.dllالمحرك، بناء آمن للخيوطhttpd.exe (وحدة Apache)، php.exe
php8apache2_4.dll، php7apache2_4.dll، php5apache2_2.dllمحمّل وحدة Apachehttpd.exe
php5isapi.dllوحدة IIS ISAPI القديمة (PHP 5.2 وما قبلها، غير مدعومة)w3wp.exe

يسرد الجدول الأسماء الشائعة، وليس قائمة سماح: أي اسم يطابق النمط يُعد مطابقة. يعطي اسم DLL رقم الإصدار الرئيسي فقط. يأتي الإصدار الدقيق من صف عملية php-cgi.exe أو php.exe، أو من البرامج المثبّتة، على الجهاز نفسه.

Linux

الفحصالجدولالمطابقاتلماذا يهم
بدء تشغيل ثنائيات PHPDeviceProcessEventsالتعبير النمطي ^(php[\d.]*|php-(fpm|cgi)[\d.]*|lsphp[\d.]*|frankenphp)$: php أو php-fpm أو php-cgi أو lsphp (LiteSpeed)، كل منها مع إصدار اختياري مكوّن من أرقام ونقاط، بالإضافة إلى frankenphp. أمثلة: php، php8.3، php83، php-fpm8.3، php-cgi8.2، lsphp83. لا تطابق أدوات مثل phpunit وphpize وphp-config، لأنه لا يُسمح بأي شيء بعد الاسم الأساسي سوى الأرقام والنقاطيثبت أن PHP قد عملت. يعرض hunt 2 تلميحًا للإصدار الرئيسي.الفرعي، مستخرجًا من الاسم أو المسار أو سطر الأوامر بواسطة تعبير نمطي ثانٍ، php-?(?:fpm|cgi)?/?(\d+\.\d+) (على سبيل المثال php-fpm8.3 أو /etc/php/8.3/ يعطي 8.3.x)
الحزم المثبّتةDeviceTvmSoftwareInventoryليس تعبيرًا نمطيًا: SoftwareName contains "php" (سلسلة فرعية، لذا تطابق الأسماء ذات الإصدارات مثل php8.3-fpm وlibapache2-mod-php8.3) أو SoftwareVendor =~ "php"الفحص الوحيد لـ Apache mod_php ولـ php-fpm الذي يعمل منذ ما قبل النافذة: لا يوجد فحص لتحميل المكتبات هنا في Linux، وعمال php-fpm المتفرّعون لا ينشئون أحداث بدء عمليات

فحوصات شبكة الأمان في Hunt 3

الفحصالجدولالمطابقاتلماذا يهم
خدمة الويب النشطةDeviceNetworkEventsInboundConnectionAccepted على قائمة ثابتة من المنافذ: 80، 443، 8080، 8443. يُستبعد loopback (RemoteIPType != "Loopback"). يعرض مصادر مميزة وعامة، بالإضافة إلى العملية المستقبِلة (via <process>)يثبت أن الجهاز يقدّم الخدمة، حتى لو بدأ خادم الويب الخاص به قبل نافذة البحث الرجعي. ntoskrnl.exe = HTTP.sys (IIS، ADFS، RD Gateway، Windows Admin Center، SSTP)
بدء تشغيل خادم الويبDeviceProcessEventsليس تعبيرًا نمطيًا: قائمة ثابتة من الأسماء الدقيقة، غير حساسة لحالة الأحرف (in~). Windows: w3wp.exe، httpd.exe، nginx.exe، caddy.exe، lighttpd.exe، frankenphp.exe. Linux: httpd، apache2، nginx، lshttpd، litespeed، openlitespeed، caddy، lighttpd، frankenphpخادم ويب بدأ في النافذة ولم يحمّل PHP يعطي "Not seen" بثقة عالية. يعرض Windows أيضًا أسماء تجمعات تطبيقات IIS، مستخرجة من سطر أوامر w3wp.exe بواسطة التعبير النمطي -ap\s+"?([^"\s]+)

قيم عمود PHP في hunt 3

القيمةالمعنى
PHP seen (see hunt 2)طابقت فحص كشف PHP واحد على الأقل.
Not seenلا يوجد دليل على PHP، وإما أن خادم ويب بدأ في النافذة (ثقة عالية) أو أن الجهاز لا يقدّم خدمة ويب.
Not seen - no web server start in <N>d (N = Lookback)يقدّم الخدمة على منافذ الويب، لكن لا يوجد بدء عملية خادم ويب لفحصه. هذه هي النقطة العمياء المتبقية: افحص عملية via على المضيف.

الاستخدام

تنزيل الأداة