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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
POC-CVE-2025-24813-Apache-Tomcat-Remote-Code-Execution — يحتوي هذا المستودع على استغلال (Exploit) آلي تم تطويره لأغراض تعليمية وبحثية في مجال الأمن السيبراني، ويهدف إلى إظهار ثغرة محتملة لتنفيذ التعليمات البرمجية عن بُعد (RCE) في Apache Tomcat (CVE-2025-24813). | Kitploit
أدوات/GitHubGitHub/makavellik/poc-cve-2025-24813-apache-tomcat-remote-code-execution
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبتجاوز WAFاختبار الاختراقالتعلم والتعليمتطوير الحمولات
GitHubmakavellik/poc-cve-2025-24813-apache-tomcat-remote-code-execution

POC-CVE-2025-24813-Apache-Tomcat-Remote-Code-Execution

يحتوي هذا المستودع على استغلال (Exploit) آلي تم تطويره لأغراض تعليمية وبحثية في مجال الأمن السيبراني، ويهدف إلى إظهار ثغرة محتملة لتنفيذ التعليمات البرمجية عن بُعد (RCE) في Apache Tomcat (CVE-2025-24813).

عرض المستودع
27منذ سنة واحدةلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Python License MIT Active Stealth Mode Simbiosis


⚠️🚀 CVE-2025-24813 — حزمة استغلال Apache Tomcat RCE

root@kitploit:~

⚡ الإصدار: 1.0 🛡️ معرّف CVE: CVE-2025-24813 (Apache Tomcat RCE) 🧬 الحمولات: ysoserial / Java 🌐 الوضع: تفاعلي + وضع التخفي 🔬 الاستخدام: أخلاقي، بحثي، تعليمي


🌌 نظرة عامة

صُممت هذه الأداة كـحزمة استغلال مستقبلية تركّز على:

  • 🔍 تقييم Apache Tomcat مقابل CVE-2025-24813
  • 🛠️ أتمتة عملية إثبات المفهوم (PoC)
  • 🧠 تنفيذ حمولات مخصصة مع تجاوز متقدم
  • 🧬 التكيف مع الدفاعات الحديثة (WAFs، أنظمة الكشف، حركة المرور المحاكاة)

🧪 مصممة لمحترفي الأمن السيبراني، والباحثين، ومختبري الاختراق (Pentesters)، وفرق Red Teams.


🧠 ماذا يفعل هذا السكربت؟

🛸 الوظائف الرئيسية

✅ واجهة تفاعلية وبديهية

✅ حمولات ديناميكية (ysoserial أو Java مُجمَّعة)

✅ ترويسات متغيرة (كاميليونية) مضادة لـ WAF

✅ تجاوز تلقائي + تجزئة الحمولات

✅ تحديد بصمة التنفيذ في الواجهة الخلفية (Backend)

✅ تسجيل مفصّل لكل هدف

✅ شعار (Banner) ديناميكي بأسلوب Cyberpunk (🔮 رسوم متحركة بتأثير glitch)

✅ Live feedback في وحدة التحكم (مع Rich & Colorama)


⚙️ المتطلبات

ثبّت المتطلبات اللازمة باستخدام:

root@kitploit:~
pip install -r requirements.txt

التبعيات:

root@kitploit:~
requests
colorama
rich
validators

وتأكد من توفر:

  • ☕ Java وjavac في PATH
  • 📦 ysoserial.jar إذا كنت تستخدم حمولة من نوع ysoserial

🧪 طريقة الاستخدام

شغّل السكربت:

root@kitploit:~
python3 POC-Exploit_CVE_2025_24813.py

وأكمل الإعدادات:

🧬 اختر نوع الحمولة 💣 حدّد الأمر 🌐 أدخل عنوان URL للهدف 🔧 اضبط التجاوز وإعدادات SSL

🎯 مثال مرئي:

root@kitploit:~
🔗 [?] Ingresa la URL del objetivo: https://victima.org
💣 [?] Comando a ejecutar: whoami
🧬 [?] Tipo de payload: ysoserial
📂 [?] Ruta a ysoserial.jar: ysoserial.jar
🔧 [?] Gadget: CommonsCollections6
🔐 [?] ¿Verificar SSL? (sí/no): no

🚀 Ejecutando...
🧬 WAF detectado... cambiando estrategia
⚙️ Subida del payload en curso...
💥 Confirmación de ejecución remota
✅ Resultado: 'apache'

🌈 البنية المرئية للسكربت

root@kitploit:~
┌──────────────────────────────┐
│  Modo Interactivo            │
├──────────────────────────────┤
│  Validación de URL           │
│  Detección de sesión         │
│  Detección de WAF            │
│  Generación de payload       │
│  Subida evasiva via PUT      │
│  Verificación de ejecución   │
└──────────────────────────────┘
        ↘ LOGS POR OBJETIVO

🧬 أنواع الحمولات

  • ysoserial: يعتمد على الأداة المعروفة ysoserial، ويقوم بتسلسل أدوات (Gadgets) قابلة للاستغلال لتنفيذ الأوامر.
  • Java Custom: يجمّع ملف .java مخصصاً ينفّذ الأمر عن بُعد من الخادم.

الأدوات (Gadgets) الشائعة:

  • CommonsCollections6
  • Spring1
  • Jdk7u21

📁 هيكل المشروع

root@kitploit:~
POC-Exploit_CVE_2025_24813.py   # Script principal
ysoserial.jar               # Requerido si usas 'ysoserial'
logs/                       # Carpeta de logs individuales por objetivo
payload.ser                 # Payload generado temporalmente
Exploit.java / .class       # Archivos temporales para Java

👨‍⚖️ الاستخدام المسؤول والأخلاقي

صُنعت هذه الأداة لأغراض قانونية وتعليمية حصراً.

✅ مسموح:

  • عمليات تدقيق أمنية بتفويض
  • مختبرات شخصية وبيئات اختبار
  • بحث أكاديمي

🚫 ممنوع:

  • الاستخدام على أنظمة الآخرين دون موافقة
  • أنشطة غير قانونية أو غير مصرح بها
  • التوزيع لأغراض خبيثة

⚖️ إخلاء المسؤولية

لا يتحمل المؤلف ولا المساهمون أي مسؤولية عن سوء الاستخدام. أنت مسؤول عن سلوكك.


🧠 الاعتمادات

  • 👤 المؤلف: [ByMakaveli]
  • 🔬 البحث: مبنية على تقنيات حديثة في التجاوز واستغلال Java
  • 🧰 الأدوات المستخدمة: ysoserial, Java, Rich, Colorama, requests

🛰️ CVE المُشار إليه

📄 CVE-2025-24813: تنفيذ التعليمات البرمجية عن بُعد في Apache Tomcat 🔗 عرض التفاصيل على CVE MITRE


📜 الترخيص

root@kitploit:~
MIT License

Copyright (c) 2025

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files...

راجع ملف LICENSE لمزيد من المعلومات.


💎 الإلهام البصري

صُمم هذا README والسكربت لتقديم تجربة غامرة، بصرية وأنيقة، تنسجم مع عصر جديد من الأمن السيبراني المستقبلي الهادف.

✨ ليست مجرد استغلالات... بل سيمفونية تقنية من التجاوز والتحكم الرقمي.



🔧 التبعيات الضرورية

1. Python

  • الإصدار الموصى به: Python 3.8+

  • مكتبات Python التي يجب تثبيتها:

    root@kitploit:~
    pip install requests colorama
    

2. Java

يستخدم السكربت شكلين من الحمولات:

  1. Ysoserial → أداة Java خارجية تولّد حمولات إلغاء التسلسل (Deserialization).
  2. تجميع خاص بلغة Java → عند اختيار خيار "java" بدلاً من "ysoserial".

لذلك تحتاج إلى:

  • Java JDK (وليس JRE فقط، لأن الكود يُجمَّع). تحقق باستخدام:

    root@kitploit:~
    java -version
    javac -version
    

    إذا كان كلا الأمرين يعملان، فأنت جاهز.


3. Ysoserial

  • حمّل ملف .jar من هنا 👉 https://github.com/frohoff/ysoserial

  • احفظه في نفس دليل السكربت أو حدد المسار الكامل عندما يُطلب منك ذلك. مثال:

    root@kitploit:~
    java -jar ysoserial.jar CommonsCollections6 "calc.exe" > test.ser
    

4. نظام التشغيل

  • في Windows، ستفتح الحمولة الافتراضية (calc.exe) الآلة الحاسبة.
  • في Linux/Mac يمكنك تغيير الأمر على سبيل المثال إلى gnome-calculator أو xcalc.

⚙️ ملخص التثبيت

  1. تثبيت Python 3.8+

  2. تثبيت المكتبات:

    root@kitploit:~
    pip install requests colorama etc
    
  3. تثبيت Java JDK 8+

    root@kitploit:~
    java -version
    javac -version
    
  4. تنزيل ysoserial.jar في مجلد السكربت.


👉 بعد كل ما سبق، ستتمكن من تشغيل السكربت في وضع المختبر الآمن (فقط داخل بيئات خاضعة للتحكم، ولأغراض الاختبار).


🛡️ README — دليل تعليمي آمن خطوة بخطوة

الإصدار: 1.0 الغرض: يشرح هذا الدليل كيفية إعداد بيئة آمنة تماماً لاختبار السكربت لديك دون التأثير على أنظمة حقيقية. يتضمن خادم اختبار (Mock)، ووضعاً آمناً (DRY_RUN / SAFE_TEST)، وخطوات واضحة لتشغيل الأداة في المختبر.


⚠️ تنبيه قانوني وأخلاقي (اقرأ قبل البدء)

  • فقط قم بالتشغيل في بيئات تحت سيطرتك: آلات افتراضية محلية، حاويات، أو شبكات معزولة.
  • لا تشغّل هذا ضد أنظمة الطرف الثالث دون تفويض كتابي صريح.
  • لا يوفّر هذا الدليل أي خطوات لاستغلال خوادم حقيقية. إنه مخصص للاختبارات الدفاعية والتعليمية.

🔍 ماذا يحتوي هذا الدليل

  1. تجهيز بيئة Python بشكل معزول.
  2. إنشاء خادم اختبار (Mock) يحاكي استجابات الخدمة المستهدفة.
  3. تجهيز حمولة تجريبية (غير ضارة) للاختبارات.
  4. إضافة وضع آمن (SAFE_TEST) إلى السكربت بحيث لا ينفّذ أدوات خارجية ولا يقوم بإجراءات خطيرة.
  5. التنفيذ خطوة بخطوة والتحقق من النتائج (السجلات).
  6. اختبارات آلية وممارسات جيدة.

🧾 المتطلبات

  • Python 3.8+ مثبّت.
  • توفّر pip.
  • موصى به: virtualenv أو venv.

ثبّت التبعيات:

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate   # Linux / macOS
.\.venv\Scripts\activate  # Windows (PowerShell/Command Prompt)

pip install -U pip
pip install requests colorama flask

ملاحظة: تُستخدم flask فقط لخادم الاختبار المحلي (Mock).


🧪 1) خادم الاختبار (Mock) — كود آمن

أنشئ ملفاً باسم mock_server.py يتضمن هذا المحتوى. يحاكي الخادم نقاط النهاية (Endpoints) التي يتوقعها السكربت ويعيد حالات خاضعة للتحكم (200، 409، 500) لتتمكن من التحقق من منطق السكربت دون لمس خوادم حقيقية.

root@kitploit:~
# mock_server.py — servidor de pruebas seguro
from flask import Flask, request, make_response, jsonify

app = Flask(__name__)
uploads = {}

@app.route('/index.jsp', methods=['GET'])
def index():
    # Simula una página que puede devolver una cookie JSESSIONID o un texto con "Session ID"
    resp = make_response('Index page — Session ID: testsession')
    resp.set_cookie('JSESSIONID', 'testsession')
    return resp

@app.route('/check.txt', methods=['PUT'])
def check_put():
    # Simula un recurso escribible
    return ('OK', 200)

@app.route('/uploads/../sessions/<session_id>.session', methods=['PUT'])
def upload_session(session_id):
    # Simula que la subida fue aceptada pero retorna 409 (comportamiento que el script espera)
    uploads[session_id] = True
    return ('Conflict - uploaded', 409)

@app.route('/', methods=['GET'])
def root():
    # Si la cookie coincide y la sesión fue "subida", devolvemos 500 para simular fallo por deserialización
    session = request.cookies.get('JSESSIONID')
    if session and uploads.get(session):
        return ('Internal Server Error', 500)
    return ('Hello from mock server', 200)

if __name__ == '__main__':
    app.run(host='127.0.0.1', port=8000, debug=True)

طريقة تشغيله:

root@kitploit:~
python mock_server.py
# El mock quedará escuchando en http://127.0.0.1:8000

📁 2) تجهيز حمولة تجريبية (غير ضارة)

لأغراض الاختبار لا تحتاج إلى توليد حمولات حقيقية. أنشئ ملفاً بسيطاً يمكن للسكربت رفعه:

root@kitploit:~
echo "DUMMY_PAYLOAD" > payload.ser

لا يحتوي هذا الملف على كود قابل للتنفيذ: فهو يُستخدم فقط للتحقق من منطق الرفع وملاحظة استجابات خادم الاختبار.


⚙️ 3) إضافة وضع آمن (SAFE_TEST) إلى السكربت الأصلي

لتجنب قيام السكربت باستدعاء أدوات خارجية (Java/ysoserial) أو تنفيذ إجراءات خطيرة، أضف هذه الكتلة في بداية السكربت الرئيسي (قبل أي توليد أو استدعاء لـ subprocess):

root@kitploit:~
import os
SAFE_TEST = os.environ.get('SAFE_TEST', '0') == '1'

ثم عدّل (أو لفّ) دوال التوليد/الرفع لتتصرف بأمان عندما تكون قيمة SAFE_TEST هي True.

مثال على أدنى تعديل ممكن للدالتين generate_ysoserial_payload وgenerate_java_payload:

root@kitploit:~
def generate_ysoserial_payload(command, ysoserial_path, gadget, payload_file, target_url):
    if SAFE_TEST:
        log_info("SAFE_TEST activo — creando payload dummy (no ejecutable)", target_url)
        with open(payload_file, 'wb') as f:
            f.write(b"DUMMY_PAYLOAD")
        return payload_file
    # --- comportamiento original solo si SAFE_TEST == False ---


def generate_java_payload(command, payload_file, target_url):
    if SAFE_TEST:
        log_info("SAFE_TEST activo — creando payload java dummy (no ejecutable)", target_url)
        with open(payload_file, 'wb') as f:
            f.write(b"DUMMY_JAVA_PAYLOAD")
        return payload_file
    # --- comportamiento original solo si SAFE_TEST == False ---

وفي دالة upload_and_verify_payload، إذا كانت SAFE_TEST هي True، فاستخدم التدفق الطبيعي (سيتقبله خادم الاختبار) لكن لا تنفّذ أي أوامر خارج السكربت.

طريقة تفعيل SAFE_TEST:

  • Linux/macOS:

    root@kitploit:~
    export SAFE_TEST=1
    
  • Windows (PowerShell):

    root@kitploit:~
    $env:SAFE_TEST = "1"
    

▶️ 4) التنفيذ خطوة بخطوة (الوضع الآمن)

  1. شغّل بيئتك الافتراضية وتأكد من تثبيت التبعيات (راجع قسم المتطلبات).

  2. شغّل mock_server.py:

    root@kitploit:~
    python mock_server.py
    
  3. أنشئ الحمولة التجريبية إذا لم تستخدم SAFE_TEST أو إذا لم يقم هو بإنشاء الحمولة نيابة عنك:

    root@kitploit:~
    echo "DUMMY_PAYLOAD" > payload.ser
    
  4. فعّل الوضع الآمن في الطرفية:

    root@kitploit:~
    export SAFE_TEST=1   # Linux/macOS
    # o en PowerShell: $env:SAFE_TEST = "1"
    
  5. شغّل السكربت الرئيسي:

    root@kitploit:~
    python3 tu_script.py
    
  6. أجب على الأسئلة التفاعلية (ستستخدم قيماً مخبرية):

    • أدخل رابط الهدف (URL): http://127.0.0.1:8000
    • أدخل الأمر المطلوب تنفيذه: اتركه افتراضياً (لن يتم تنفيذه في وضع SAFE_TEST)
    • نوع الحمولة: ysoserial (مع SAFE_TEST=1، سينشئ السكربت حمولة تجريبية بدلاً من استدعاء أدوات خارجية)
    • المسار إلى ysoserial.jar: (يمكنك ترك ysoserial.jar — لن يُستخدم في الوضع الآمن)
    • التحقق من SSL؟ no (لأن خادم الاختبار يستخدم HTTP)
  7. لاحظ المخرجات في وحدة التحكم: ينبغي أن ترى رسائل Server is writable via PUT وPayload uploaded with status 409 وExploit succeeded! Server returned 500 after deserialization. — هذا يحدث فقط في خادم الاختبار ويعني أن التدفق المنطقي للسكربت يعمل.

  8. راجع السجلات في logs/ — يحفظ السكربت إدخالات بطوابع زمنية. على سبيل المثال logs/127_0_0_1_8000.log (تبعاً لاسم الهدف المنقّى).


🔎 5) ما الذي يجب التحقق منه في الاختبارات

  • أن تكتشف الدالة check_writable_servlet أمر PUT الناجح إلى نقطة النهاية /check.txt.
  • أنه عند رفع payload.ser، يعيد خادم الاختبار 409 ومن ثم يقوم السكربت بطلب GET باستخدام الكوكي JSESSIONID.
  • أن يعيد خادم الاختبار 500 ويفسّره السكربت على أنه نجاح في التحقق المنطقي.
  • أن تحتوي السجلات على جميع الإدخالات المتوقعة وأن تُحذف الملفات المؤقتة (إن وُجدت).

🧪 6) اختبارات الوحدات (توصية)

  • استخدم pytest وrequests-mock لمحاكاة استجابات HTTP.

  • أنشئ اختبارات من أجل:

    • validate_url — مدخلات صالحة/خاطئة.
    • retry_request — محاكاة الاستثناءات وإعادة المحاولات.
    • detect_waf — محاكاة ترويسات Server مع التواقيع وبدونها.
    • upload_and_verify_payload — استخدام خادم الاختبار للتحقق من صحة التدفق.

مثال بسيط باستخدام requests-mock (هيكل أساسي):

root@kitploit:~
# test_script.py
import requests
import requests_mock
from tu_script import validate_url, retry_request

def test_validate_url():
    assert validate_url('http://127.0.0.1:8000')
    assert not validate_url('notaurl')

def test_retry_request_success():
    # usa requests_mock para simular un GET y comprobar retry_request
    pass

المؤلف: ByMakavali

❌ ما الذي لا يجب فعله

  • لا تشغّل السكربت ضد أهداف خارجية غير مصرح بها.
  • لا تشارك حمولات أو أدلة إثبات مفهوم (PoCs) وظيفية علناً دون تنسيق وإفصاح مسؤول.
  • لا توزّع أدوات قد تؤتمت الهجمات دون ضوابط صارمة.

تنزيل الأداة