Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
POC-CVE-2025-24813-Apache-Tomcat-Remote-Code-Execution — Ce dépôt contient un exploit automatisé développé à des fins éducatives et de recherche en cybersécurité, visant à démontrer une potentielle vulnérabilité d’exécution de code à distance (RCE) dans Apache Tomcat (CVE-2025-24813). | Kitploit
Outils/GitHubGitHub/makavellik/poc-cve-2025-24813-apache-tomcat-remote-code-execution
Analyse des VulnérabilitésExploitationExploitation d'Applications WebContournement de WAFTests d'IntrusionApprentissage et ÉducationDéveloppement de Charges Utiles
GitHubmakavellik/poc-cve-2025-24813-apache-tomcat-remote-code-execution

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

Ce dépôt contient un exploit automatisé développé à des fins éducatives et de recherche en cybersécurité, visant à démontrer une potentielle vulnérabilité d’exécution de code à distance (RCE) dans Apache Tomcat (CVE-2025-24813).

Voir le dépôt
27il y a 1 anPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Python License MIT Active Stealth Mode Simbiosis


⚠️🚀 CVE-2025-24813 — Suite d'exploitation RCE Apache Tomcat

root@kitploit:~

⚡ Version : 1.0 🛡️ ID CVE : CVE-2025-24813 (Apache Tomcat RCE) 🧬 Payloads : ysoserial / Java 🌐 Mode : Interactif + Stealth 🔬 Utilisation : Éthique, Recherche, Éducatif


🌌 Vue d'ensemble

Cet outil a été conçu comme une suite d'exploitation futuriste axée sur :

  • 🔍 Évaluer Apache Tomcat face à la CVE-2025-24813
  • 🛠️ Automatiser le processus de preuve de concept (PoC)
  • 🧠 Exécuter des payloads personnalisés avec évasion avancée
  • 🧬 S'adapter aux défenses modernes (WAFs, détection, trafic simulé)

🧪 Conçue pour les professionnels de la cybersécurité, chercheurs, pentesters et red teams.


🧠 Que fait ce script ?

🛸 Fonctionnalités principales

✅ Interface interactive et intuitive

✅ Payloads dynamiques (ysoserial ou Java compilé)

✅ En-têtes caméléons anti-WAF

✅ Évasion automatique + fragmentation des payloads

✅ Empreinte d'exécution sur le backend (fingerprinting)

✅ Journalisation détaillée par cible

✅ Bannière style cyberpunk dynamique (🔮 animation glitch)

✅ Live feedback dans la console (avec Rich & Colorama)


⚙️ Prérequis

Installez les dépendances nécessaires avec :

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

Dépendances :

root@kitploit:~
requests
colorama
rich
validators

Et assurez-vous d'avoir :

  • ☕ Java et javac dans le PATH
  • 📦 ysoserial.jar si vous utilisez un payload de type ysoserial

🧪 Mode d'emploi

Exécutez le script :

root@kitploit:~
python3 POC-Exploit_CVE_2025_24813.py

Et complétez la configuration :

🧬 Sélectionnez le type de payload 💣 Spécifiez la commande 🌐 Entrez l'URL cible 🔧 Ajustez l'évasion et la configuration SSL

🎯 Exemple visuel :

root@kitploit:~
🔗 [?] Entrez l'URL cible : https://victime.org
💣 [?] Commande à exécuter : whoami
🧬 [?] Type de payload : ysoserial
📂 [?] Chemin vers ysoserial.jar : ysoserial.jar
🔧 [?] Gadget : CommonsCollections6
🔐 [?] Vérifier SSL ? (oui/non) : non

🚀 Exécution en cours...
🧬 WAF détecté... changement de stratégie
⚙️ Téléchargement du payload en cours...
💥 Confirmation d'exécution à distance
✅ Résultat : 'apache'

🌈 Architecture visuelle du script

root@kitploit:~
┌──────────────────────────────┐
│  Mode Interactif             │
├──────────────────────────────┤
│  Validation d'URL            │
│  Détection de session        │
│  Détection de WAF            │
│  Génération de payload       │
│  Téléchargement furtif via PUT │
│  Vérification d'exécution    │
└──────────────────────────────┘
        ↘ JOURNAUX PAR CIBLE

🧬 Types de Payload

  • ysoserial : Basé sur l'outil bien connu ysoserial, sérialise des gadgets vulnérables pour exécuter des commandes.
  • Java Custom : Compile un .java personnalisé qui exécute la commande à distance depuis le serveur.

Gadgets courants :

  • CommonsCollections6
  • Spring1
  • Jdk7u21

📁 Structure du projet

root@kitploit:~
POC-Exploit_CVE_2025_24813.py   # Script principal
ysoserial.jar               # Requis si vous utilisez 'ysoserial'
logs/                       # Dossier de journaux individuels par cible
payload.ser                 # Payload généré temporairement
Exploit.java / .class       # Fichiers temporaires pour Java

👨‍⚖️ Utilisation responsable et éthique

Cet outil a été créé à des fins exclusivement légales et éducatives.

✅ Autorisé :

  • Audits de sécurité avec autorisation
  • Laboratoires personnels et environnements de test
  • Recherche académique

🚫 Interdit :

  • Utilisation sur des systèmes tiers sans consentement
  • Activités illégales ou non autorisées
  • Distribution à des fins malveillantes

⚖️ Clause de non-responsabilité

Ni l'auteur ni les contributeurs ne sont responsables d'une mauvaise utilisation. Vous êtes responsable de votre conduite.


🧠 Crédits

  • 👤 Auteur : [ByMakaveli]
  • 🔬 Recherche : Basée sur des techniques modernes d'évasion et d'exploitation Java
  • 🧰 Outils utilisés : ysoserial, Java, Rich, Colorama, requests

🛰️ CVE Référencé

📄 CVE-2025-24813 : Apache Tomcat Remote Code Execution 🔗 Voir les détails sur CVE MITRE


📜 Licence

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...

Consultez le fichier LICENSE pour plus d'informations.


💎 Inspiration visuelle

Ce README et ce script sont conçus pour une expérience immersive, visuelle et élégante, en phase avec une nouvelle ère de cybersécurité futuriste et avec un but.

✨ Pas seulement des exploits... c'est une symphonie technique d'évasion et de contrôle numérique.



🔧 Dépendances nécessaires

1. Python

  • Version recommandée : Python 3.8+

  • Bibliothèques Python à installer :

    root@kitploit:~
    pip install requests colorama
    

2. Java

Le script utilise deux formes de payloads :

  1. Ysoserial → outil Java externe qui génère des payloads de désérialisation.
  2. Compilation Java personnalisée → lorsque vous sélectionnez l'option "java" au lieu de "ysoserial".

Pour cela, vous avez besoin de :

  • Java JDK (pas seulement JRE, car du code est compilé). Vérifiez avec :

    root@kitploit:~
    java -version
    javac -version
    

    Si les deux commandes fonctionnent, vous êtes prêt.


3. Ysoserial

  • Téléchargez le .jar depuis ici 👉 https://github.com/frohoff/ysoserial

  • Placez-le dans le même répertoire que le script ou indiquez le chemin complet lorsqu'on vous le demande. Exemple :

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

4. Système d'exploitation

  • Sur Windows, le payload par défaut (calc.exe) ouvrira la calculatrice.
  • Sous Linux/Mac, vous pouvez changer la commande par exemple en gnome-calculator ou xcalc.

⚙️ Résumé de l'installation

  1. Installer Python 3.8+

  2. Installer les bibliothèques :

    root@kitploit:~
    pip install requests colorama etc
    
  3. Installer Java JDK 8+

    root@kitploit:~
    java -version
    javac -version
    
  4. Télécharger ysoserial.jar dans le dossier du script.


👉 Avec tout cela, vous pourrez exécuter le script en mode laboratoire sécurisé (uniquement dans des environnements contrôlés, pour les tests).


🛡️ README — Tutoriel sécurisé pas à pas

Version : 1.0 Objectif : Ce guide explique comment préparer un environnement totalement sécurisé pour tester le script que vous avez, sans affecter les systèmes réels. Il comprend un serveur de test (mock), un mode sécurisé (DRY_RUN / SAFE_TEST), et des étapes claires pour exécuter l'outil en laboratoire.


⚠️ Avis légal et éthique (À LIRE AVANT DE COMMENCER)

  • Uniquement exécuter dans des environnements sous votre contrôle : machines virtuelles locales, conteneurs ou réseaux isolés.
  • N'exécutez pas cela contre des systèmes tiers sans autorisation écrite expresse.
  • Ce guide ne fournit pas de pas pour exploiter des serveurs réels. Il est conçu pour des tests défensifs et éducatifs.

🔍 Ce que contient ce tutoriel

  1. Préparer l'environnement Python de manière isolée.
  2. Créer un serveur de test (mock) qui simule les réponses du service cible.
  3. Préparer un payload factice (inoffensif) pour les tests.
  4. Ajouter un mode sécurisé (SAFE_TEST) au script afin qu'il n'exécute pas d'outils externes ni d'actions dangereuses.
  5. Exécution pas à pas et vérification des résultats (journaux).
  6. Tests automatisés et bonnes pratiques.

🧾 Prérequis

  • Python 3.8+ installé.
  • pip disponible.
  • Recommandé : virtualenv ou venv.

Installez les dépendances :

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

Remarque : flask est utilisé uniquement pour le serveur de test local (mock).


🧪 1) Serveur de test (mock) — code sécurisé

Créez un fichier mock_server.py avec ce contenu. Le serveur simule les endpoints attendus par le script et renvoie des états contrôlés (200, 409, 500) afin que vous puissiez valider la logique du script sans toucher à des serveurs réels.

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)

Comment l'exécuter :

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

📁 2) Préparer un payload factice (inoffensif)

Pour les tests, vous n'avez pas besoin de générer de vrais payloads. Créez un fichier simple que le script peut télécharger :

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

Ce fichier ne contient pas de code exécutable : il sert uniquement à valider la logique de téléchargement et à voir les réponses du serveur mock.


⚙️ 3) Ajouter un mode sécurisé (SAFE_TEST) au script original

Pour éviter que le script n'invoque des utilitaires externes (Java/ysoserial) ou n'exécute des actions dangereuses, ajoutez ce bloc au début du script principal (avant toute génération/appel à subprocess) :

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

Ensuite, modifiez (ou enveloppez) les fonctions de génération/téléchargement pour qu'elles se comportent de manière sécurisée lorsque SAFE_TEST est True.

Exemple de modification minimale pour generate_ysoserial_payload et 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 ---

Et dans upload_and_verify_payload, si SAFE_TEST est True, utilisez le flux normal (le mock l'acceptera) mais n'exécutez pas de commandes en dehors du script.

Comment activer SAFE_TEST :

  • Linux/macOS :

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

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

▶️ 4) Exécution pas à pas (mode sécurisé)

  1. Lancez votre environnement virtuel et assurez-vous d'avoir les dépendances installées (voir section Prérequis).

  2. Lancez le mock_server.py :

    root@kitploit:~
    python mock_server.py
    
  3. Créez le payload factice si vous n'utilisez pas SAFE_TEST ou s'il ne crée pas le payload pour vous :

    root@kitploit:~
    echo "DUMMY_PAYLOAD" > payload.ser
    
  4. Activez le mode sécurisé dans le terminal :

    root@kitploit:~
    export SAFE_TEST=1   # Linux/macOS
    # o en PowerShell: $env:SAFE_TEST = "1"
    
  5. Exécutez le script principal :

    root@kitploit:~
    python3 tu_script.py
    
  6. Répondez aux invites (vous utiliserez des valeurs de laboratoire) :

    • Enter target URL : http://127.0.0.1:8000
    • Enter command to execute : laissez par défaut (ne sera pas exécuté en SAFE_TEST)
    • Payload type : ysoserial (le script, avec SAFE_TEST=1, créera un payload factice au lieu d'invoquer des outils externes)
    • Path to ysoserial.jar : (vous pouvez laisser ysoserial.jar — ne sera pas utilisé en mode sécurisé)
    • Verify SSL ? no (votre mock utilise HTTP)
  7. Observez la sortie console : vous devriez voir les messages Server is writable via PUT, Payload uploaded with status 409 et Exploit succeeded! Server returned 500 after deserialization. — c'est uniquement sur le mock et signifie que le flux logique du script fonctionne.

  8. Vérifiez les journaux dans logs/ — le script enregistre des entrées avec des horodatages. Par exemple logs/127_0_0_1_8000.log (selon le nom de cible assaini).


🔎 5) Que vérifier lors des tests

  • Que la fonction check_writable_servlet détecte le PUT réussi sur l'endpoint /check.txt.
  • Que, lors du téléchargement de payload.ser, le mock renvoie 409 et que le script fasse ensuite un GET avec le cookie JSESSIONID.
  • Que le mock renvoie 500 et que le script l'interprète comme un succès de vérification logique.
  • Que les journaux contiennent toutes les entrées attendues et que les fichiers temporaires (le cas échéant) soient supprimés.

🧪 6) Tests unitaires (recommandation)

  • Utilisez pytest et requests-mock pour simuler des réponses HTTP.

  • Créez des tests pour :

    • validate_url — entrées valides/erronées.
    • retry_request — simuler des exceptions et des tentatives.
    • detect_waf — simuler des en-têtes Server avec et sans signatures.
    • upload_and_verify_payload — utiliser le mock du serveur pour valider le flux.

Exemple simple avec requests-mock (squelette) :

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

Auteur : ByMakaveli

❌ Ce qu'il NE FAUT PAS faire

  • N'exécutez pas le script contre des cibles externes non autorisées.
  • Ne partagez pas de payloads ou de PoCs fonctionnels publiquement sans coordination et divulgation responsable.
  • Ne distribuez pas d'outils pouvant automatiser des attaques sans contrôles stricts.

Télécharger l’outil