Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
POC-CVE-2025-24813-Apache-Tomcat-Remote-Code-Execution — Dieses Repository enthält einen automatisierten Exploit, der für Bildungs- und Forschungszwecke im Bereich Cybersicherheit entwickelt wurde und darauf abzielt, eine potenzielle Sicherheitslücke für Remote Code Execution (RCE) in Apache Tomcat (CVE-2025-24813) zu demonstrieren. | Kitploit
Tools/GitHubGitHub/makavellik/poc-cve-2025-24813-apache-tomcat-remote-code-execution
SchwachstellenanalyseExploitationWebanwendungs-ExploitationWAF-UmgehungPenetrationstestsLernen & BildungPayload-Entwicklung
GitHubmakavellik/poc-cve-2025-24813-apache-tomcat-remote-code-execution

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

Dieses Repository enthält einen automatisierten Exploit, der für Bildungs- und Forschungszwecke im Bereich Cybersicherheit entwickelt wurde und darauf abzielt, eine potenzielle Sicherheitslücke für Remote Code Execution (RCE) in Apache Tomcat (CVE-2025-24813) zu demonstrieren.

Repository anzeigen
27vor 1 JahrNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Python License MIT Active Stealth Mode Simbiosis


⚠️🚀 CVE-2025-24813 — Apache Tomcat RCE Exploitation Suite

root@kitploit:~

⚡ Version: 1.0 🛡️ CVE ID: CVE-2025-24813 (Apache Tomcat RCE) 🧬 Payloads: ysoserial / Java 🌐 Modus: Interaktiv + Stealth 🔬 Verwendung: Ethisch, Forschung, Bildung


🌌 Übersicht

Dieses Tool wurde als futuristische Exploit-Suite entwickelt mit Fokus auf:

  • 🔍 Bewertung von Apache Tomcat gegen die CVE-2025-24813
  • 🛠️ Automatisierung des Proof-of-Concept (PoC)-Prozesses
  • 🧠 Ausführung benutzerdefinierter Payloads mit fortschrittlicher Umgehung
  • 🧬 Anpassung an moderne Abwehrmechanismen (WAFs, Erkennung, simulierter Traffic)

🧪 Entwickelt für Cybersicherheitsprofis, Forscher, Pentester und Red Teams.


🧠 Was macht dieses Skript?

🛸 Hauptfunktionen

✅ Interaktive und intuitive Benutzeroberfläche

✅ Dynamische Payloads (ysoserial oder kompiliertes Java)

✅ Anti-WAF-Camouflage-Header

✅ Automatische Umgehung + Fragmentierung von Payloads

✅ Fingerprinting der Ausführung auf dem Backend

✅ Detailliertes Logging pro Ziel

✅ Dynamischer Cyberpunk-Banner (🔮 Glitch-Animation)

✅ Live-Feedback in der Konsole (mit Rich & Colorama)


⚙️ Voraussetzungen

Installiere die erforderlichen Abhängigkeiten mit:

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

Abhängigkeiten:

root@kitploit:~
requests
colorama
rich
validators

Stelle außerdem sicher, dass Folgendes vorhanden ist:

  • ☕ Java und javac im PATH
  • 📦 ysoserial.jar bei Verwendung des ysoserial-Payload-Typs

🧪 Verwendung

Führe das Skript aus:

root@kitploit:~
python3 POC-Exploit_CVE_2025_24813.py

Und vervollständige die Konfiguration:

🧬 Wähle den Payload-Typ 💣 Gib den Befehl an 🌐 Gib die Ziel-URL ein 🔧 Passe die Umgehung und SSL-Konfiguration an

🎯 Beispielausgabe:

root@kitploit:~
🔗 [?] Gib die Ziel-URL ein: https://opfer.org
💣 [?] Auszuführender Befehl: whoami
🧬 [?] Payload-Typ: ysoserial
📂 [?] Pfad zu ysoserial.jar: ysoserial.jar
🔧 [?] Gadget: CommonsCollections6
🔐 [?] SSL überprüfen? (ja/nein): nein

🚀 Ausführung...
🧬 WAF erkannt... Strategiewechsel
⚙️ Payload-Upload wird durchgeführt...
💥 Bestätigung der Remote-Ausführung
✅ Ergebnis: 'apache'

🌈 Visuelle Architektur des Skripts

root@kitploit:~
┌──────────────────────────────┐
│  Interaktiver Modus          │
├──────────────────────────────┤
│  URL-Validierung             │
│  Sitzungserkennung           │
│  WAF-Erkennung               │
│  Payload-Generierung         │
│  Umgehender Upload via PUT   │
│  Ausführungsüberprüfung      │
└──────────────────────────────┘
        ↘ LOGS PRO ZIEL

🧬 Payload-Typen

  • ysoserial: Basierend auf dem bekannten Tool ysoserial, serialisiert verwundbare Gadgets zur Befehlsausführung.
  • Java Custom: Kompiliert ein benutzerdefiniertes .java, das den entfernten Befehl vom Server aus ausführt.

Häufige Gadgets:

  • CommonsCollections6
  • Spring1
  • Jdk7u21

📁 Projektstruktur

root@kitploit:~
POC-Exploit_CVE_2025_24813.py   # Hauptskript
ysoserial.jar               # Erforderlich bei Verwendung von 'ysoserial'
logs/                       # Ordner für individuelle Logs pro Ziel
payload.ser                 # Temporär generierter Payload
Exploit.java / .class       # Temporäre Java-Dateien

👨‍⚖️ Verantwortungsvolle und ethische Nutzung

Dieses Tool wurde ausschließlich für legale und Bildungszwecke erstellt.

✅ Erlaubt:

  • Autorisierte Sicherheitsaudits
  • Persönliche Labore und Testumgebungen
  • Akademische Forschung

🚫 Verboten:

  • Nutzung auf fremden Systemen ohne Zustimmung
  • Illegale oder nicht autorisierte Aktivitäten
  • Verteilung mit böswilliger Absicht

⚖️ Haftungsausschluss

Weder der Autor noch die Mitwirkenden haften für Missbrauch. Du bist für dein Handeln verantwortlich.


🧠 Credits

  • 👤 Autor: [ByMakaveli]
  • 🔬 Forschung: Basierend auf modernen Umgehungs- und Java-Exploit-Techniken
  • 🧰 Verwendete Werkzeuge: ysoserial, Java, Rich, Colorama, requests

🛰️ Referenzierte CVE

📄 CVE-2025-24813: Apache Tomcat Remote Code Execution 🔗 Details bei CVE MITRE


📜 Lizenz

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

Näheres in der Datei LICENSE.


💎 Visuelle Inspiration

Dieses README und Skript sind für ein immersives, optisches und elegantes Erlebnis gestaltet, im Einklang mit einer neuen Ära der futuristischen Cybersicherheit mit Sinn.

✨ Nicht nur Exploits... es ist eine technische Sinfonie der Umgehung und digitalen Kontrolle.



🔧 Erforderliche Abhängigkeiten

1. Python

  • Empfohlene Version: Python 3.8+

  • Zu installierende Python-Bibliotheken:

    root@kitploit:~
    pip install requests colorama
    

2. Java

Das Skript verwendet zwei Formen von Payloads:

  1. Ysoserial → externes Java-Tool zur Generierung von Deserialisierungs-Payloads.
  2. Eigene Java-Kompilierung → bei Auswahl der Option "java" anstelle von "ysoserial".

Daher benötigst du:

  • Java JDK (nicht nur JRE, da Code kompiliert wird). Überprüfe mit:

    root@kitploit:~
    java -version
    javac -version
    

    Wenn beide Befehle funktionieren, bist du bereit.


3. Ysoserial

  • Lade das .jar von hier herunter 👉 https://github.com/frohoff/ysoserial

  • Speichere es im selben Verzeichnis wie das Skript oder gib den vollständigen Pfad an, wenn du danach gefragt wirst. Beispiel:

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

4. Betriebssystem

  • Unter Windows öffnet der Standard-Payload (calc.exe) den Taschenrechner.
  • Unter Linux/Mac kannst du den Befehl z. B. auf gnome-calculator oder xcalc ändern.

⚙️ Installationsübersicht

  1. Python 3.8+ installieren

  2. Bibliotheken installieren:

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

    root@kitploit:~
    java -version
    javac -version
    
  4. ysoserial.jar in den Skript-Ordner herunterladen.


👉 Damit kannst du das Skript im sicheren Labormodus ausführen (nur in kontrollierten Umgebungen zum Testen).


🛡️ README — Sicheres Schritt-für-Schritt-Tutorial

Version: 1.0 Zweck: Diese Anleitung erklärt, wie du eine vollständig sichere Umgebung zum Testen des Skripts vorbereitest, ohne reale Systeme zu beeinträchtigen. Sie enthält einen Testserver (Mock), einen sicheren Modus (DRY_RUN / SAFE_TEST) und klare Schritte zur Ausführung des Tools im Labor.


⚠️ Rechtlicher und ethischer Hinweis (VOR BEGINN LESEN)

  • Nur in Umgebungen ausführen, die du kontrollierst: lokale virtuelle Maschinen, Container oder isolierte Netzwerke.
  • Führe dies nicht gegen Systeme Dritter ohne ausdrückliche schriftliche Genehmigung aus.
  • Diese Anleitung bietet keine Schritte zur Exploitation realer Server. Sie ist für defensive Tests und Bildungszwecke gedacht.

🔍 Was dieses Tutorial enthält

  1. Vorbereiten der Python-Umgebung isoliert.
  2. Erstellen eines Testservers (Mock), der die Antworten des Zieldienstes simuliert.
  3. Vorbereiten eines Dummy-Payloads (harmlos) für Tests.
  4. Hinzufügen eines sicheren Modus (SAFE_TEST) zum Skript, damit es keine externen Tools ausführt oder gefährliche Aktionen durchführt.
  5. Schrittweise Ausführung und Überprüfung der Ergebnisse (Logs).
  6. Automatisierte Tests und Best Practices.

🧾 Voraussetzungen

  • Python 3.8+ installiert.
  • pip verfügbar.
  • Empfohlen: virtualenv oder venv.

Installiere die Abhängigkeiten:

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

Hinweis: flask wird nur für den lokalen Testserver (Mock) verwendet.


🧪 1) Testserver (Mock) — sicherer Code

Erstelle eine Datei mock_server.py mit diesem Inhalt. Der Server simuliert die Endpunkte, die das Skript erwartet, und liefert kontrollierte Statuscodes (200, 409, 500), damit du die Logik des Skripts validieren kannst, ohne reale Server zu berühren.

root@kitploit:~
# mock_server.py — sicherer Testserver
from flask import Flask, request, make_response, jsonify

app = Flask(__name__)
uploads = {}

@app.route('/index.jsp', methods=['GET'])
def index():
    # Simuliert eine Seite, die ein JSESSIONID-Cookie oder einen Text mit "Session ID" zurückgeben kann
    resp = make_response('Index page — Session ID: testsession')
    resp.set_cookie('JSESSIONID', 'testsession')
    return resp

@app.route('/check.txt', methods=['PUT'])
def check_put():
    # Simuliert eine beschreibbare Ressource
    return ('OK', 200)

@app.route('/uploads/../sessions/<session_id>.session', methods=['PUT'])
def upload_session(session_id):
    # Simuliert, dass der Upload akzeptiert wurde, gibt aber 409 zurück (vom Skript erwartetes Verhalten)
    uploads[session_id] = True
    return ('Conflict - uploaded', 409)

@app.route('/', methods=['GET'])
def root():
    # Wenn das Cookie übereinstimmt und die Sitzung "hochgeladen" wurde, geben wir 500 zurück, um einen Deserialisierungsfehler zu simulieren
    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)

So wird es ausgeführt:

root@kitploit:~
python mock_server.py
# Der Mock lauscht unter http://127.0.0.1:8000

📁 2) Vorbereiten eines Dummy-Payloads (harmlos)

Für Tests musst du keine echten Payloads generieren. Erstelle eine einfache Datei, die das Skript hochladen kann:

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

Diese Datei enthält keinen ausführbaren Code: Sie dient nur zur Validierung der Upload-Logik und der Antworten des Mock-Servers.


⚙️ 3) Hinzufügen eines sicheren Modus (SAFE_TEST) zum Originalskript

Damit das Skript keine externen Tools (Java/ysoserial) aufruft oder gefährliche Aktionen ausführt, füge diesen Block am Anfang des Hauptskripts ein (vor jeder Generierung/Subprocess-Aufruf):

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

Ändere dann die Funktionen zur Generierung/Upload so, dass sie sich im sicheren Modus harmlos verhalten.

Beispiel für minimale Änderung von generate_ysoserial_payload und generate_java_payload:

root@kitploit:~
def generate_ysoserial_payload(command, ysoserial_path, gadget, payload_file, target_url):
    if SAFE_TEST:
        log_info("SAFE_TEST aktiv — erstelle Dummy-Payload (nicht ausführbar)", target_url)
        with open(payload_file, 'wb') as f:
            f.write(b"DUMMY_PAYLOAD")
        return payload_file
    # --- ursprüngliches Verhalten nur, wenn SAFE_TEST == False ---


def generate_java_payload(command, payload_file, target_url):
    if SAFE_TEST:
        log_info("SAFE_TEST aktiv — erstelle Dummy-Java-Payload (nicht ausführbar)", target_url)
        with open(payload_file, 'wb') as f:
            f.write(b"DUMMY_JAVA_PAYLOAD")
        return payload_file
    # --- ursprüngliches Verhalten nur, wenn SAFE_TEST == False ---

Und in upload_and_verify_payload, wenn SAFE_TEST True ist, verwende den normalen Ablauf (der Mock akzeptiert ihn) aber führe keine externen Befehle aus.

So aktivierst du SAFE_TEST:

  • Linux/macOS:

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

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

▶️ 4) Schrittweise Ausführung (sicherer Modus)

  1. Starte deine virtuelle Umgebung und stelle sicher, dass die Abhängigkeiten installiert sind (siehe Abschnitt Voraussetzungen).

  2. Starte den mock_server.py:

    root@kitploit:~
    python mock_server.py
    
  3. Erstelle den Dummy-Payload, falls SAFE_TEST ihn nicht selbst erstellt:

    root@kitploit:~
    echo "DUMMY_PAYLOAD" > payload.ser
    
  4. Aktiviere den sicheren Modus im Terminal:

    root@kitploit:~
    export SAFE_TEST=1   # Linux/macOS
    # oder in PowerShell: $env:SAFE_TEST = "1"
    
  5. Führe das Hauptskript aus:

    root@kitploit:~
    python3 dein_skript.py
    
  6. Beantworte die Eingabeaufforderungen (verwende Laborwerte):

    • Enter target URL: http://127.0.0.1:8000
    • Enter command to execute: Standard lassen (wird in SAFE_TEST nicht ausgeführt)
    • Payload type: ysoserial (das Skript erstellt bei SAFE_TEST=1 einen Dummy-Payload, statt externe Tools aufzurufen)
    • Path to ysoserial.jar: (kann ysoserial.jar bleiben — wird im sicheren Modus nicht verwendet)
    • Verify SSL? nein (dein Mock verwendet HTTP)
  7. Beobachte die Konsolenausgabe: Du solltest Meldungen wie Server is writable via PUT, Payload uploaded with status 409 und Exploit succeeded! Server returned 500 after deserialization. sehen – dies geschieht nur im Mock und bedeutet, dass die logische Abfolge des Skripts funktioniert.

  8. Überprüfe die Logs in logs/ – das Skript speichert Einträge mit Zeitstempeln. Z. B. logs/127_0_0_1_8000.log (je nach bereinigtem Zielnamen).


🔎 5) Was in Tests überprüft werden soll

  • Dass die Funktion check_writable_servlet den erfolgreichen PUT auf den Endpunkt /check.txt erkennt.
  • Dass nach dem Hochladen von payload.ser der Mock 409 zurückgibt und das Skript dann einen GET mit dem Cookie JSESSIONID durchführt.
  • Dass der Mock 500 zurückgibt und das Skript dies als Erfolg der logischen Überprüfung interpretiert.
  • Dass die Logs alle erwarteten Einträge enthalten und temporäre Dateien (falls vorhanden) gelöscht werden.

🧪 6) Unit-Tests (Empfehlung)

  • Verwende pytest und requests-mock zur Simulation von HTTP-Antworten.

  • Erstelle Tests für:

    • validate_url — gültige/ungültige Eingaben.
    • retry_request — Ausnahmen und Wiederholungen simulieren.
    • detect_waf — Server-Header mit und ohne Signaturen simulieren.
    • upload_and_verify_payload — den Mock-Server zur Validierung des Ablaufs nutzen.

Einfaches Beispiel mit requests-mock (Grundgerüst):

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

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

def test_retry_request_success():
    # verwende requests_mock, um einen GET zu simulieren und retry_request zu testen
    pass

Autor:ByMakavali

❌ Was NICHT getan werden sollte

  • Führe das Skript nicht gegen nicht autorisierte externe Ziele aus.
  • Teile keine funktionalen Payloads oder PoCs öffentlich ohne Koordination und verantwortungsvolle Offenlegung.
  • Vertreibe keine Werkzeuge, die Angriffe automatisieren können, ohne strenge Kontrollen.

Tool herunterladen