## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-WEBSAFETY-2TINA-CVE-2025-49132
# CVE-2025-49132 - Strumento di scansione delle configurazioni del Pterodactyl Panel
Questo strumento scansiona le istanze del pannello Pterodactyl per tentare di ottenere le informazioni di configurazione del database. Sfruttando una specifica vulnerabilità di path traversal, è possibile recuperare i dati di configurazione sensibili del pannello.
## Panoramica del progetto
Questo progetto è uno strumento HTTP ad alte prestazioni progettato per rilevare e raccogliere informazioni di configurazione dalle istanze del pannello Pterodactyl esposte su Internet. Invia richieste specifiche al server di destinazione, verifica se la risposta contiene informazioni di configurazione del database e salva i risultati classificati.
## Caratteristiche
### FunzionalitĂ principali
* **Esecuzione multi-modalitĂ ** : Supporta tre modalitĂ : single-thread, multi-thread e asincrona.
* **Classificazione intelligente** : Classifica automaticamente i risultati in "corretti" (contengono i dati target) ed "errore" (non contengono i dati target o richiesta fallita).
* **Salvataggio automatico** : Salva automaticamente in directory diverse in base al tipo di risultato.
* **Monitoraggio delle prestazioni** : Mostra in tempo reale l'avanzamento e le statistiche.
* **Supporto proxy** : Supporta l'invio di richieste tramite proxy.
* **Re-try sugli errori** : Ritenta automaticamente le richieste fallite.
* **Analisi dei risultati** : Analizza automaticamente le informazioni di configurazione del database nei dati di risposta.
### Caratteristiche tecniche
* Utilizza la libreria `requests` per le richieste HTTP.
* Utilizza `aiohttp` per il supporto alle richieste asincrone.
* Utilizza `ThreadPoolExecutor` per l'elaborazione multi-thread.
* Supporta l'analisi e la decodifica di dati JSON.
* Dispone di un meccanismo completo di gestione degli errori.
## Struttura delle directory
root@kitploit:~
.
├── main.py # File principale del programma
├── url.txt # File con l'elenco degli host di destinazione
├── json/ # Directory di output
│ ├── ✔️ćŁçˇ®/ # Directory in cui vengono salvati i risultati contenenti i dati target
│ └── ❌错误/ # Directory per risultati errati o non validi
└── README.md # Documentazione del progetto
## Installazione delle dipendenze
Prima di eseguire il programma, installare le librerie Python necessarie:
root@kitploit:~
pip install requests aiohttp urllib3
## Utilizzo
### Utilizzo base
root@kitploit:~
python main.py
Di default legge l'elenco degli host dal file `url.txt` e utilizza la modalitĂ multi-thread.
### Parametri da riga di comando
root@kitploit:~
python main.py [--file FILE] [--mode MODE] [--workers WORKERS]
Spiegazione dei parametri:
* `-f, --file`: Specifica il percorso del file con l'elenco degli host (predefinito: url.txt)
* `-m, --mode`: ModalitĂ di esecuzione, valori: threading (multi-thread), async (asincrona), single (single-thread) (predefinito: threading)
* `-w, --workers`: Numero di thread di lavoro (predefinito: 5)
### Esempi
root@kitploit:~
# Utilizzo con impostazioni predefinite
python main.py
# Specifica un file host personalizzato
python main.py --file hosts.txt
# Elaborazione in modalitĂ asincrona
python main.py --mode async
# ModalitĂ single-thread
python main.py --mode single
# Imposta il numero di thread di lavoro a 10
python main.py --workers 10
## Configurazione
Nella classe `Config` all'interno del file `main.py` è possibile modificare le seguenti impostazioni:
* `PROXY`: Indirizzo del server proxy (predefinito: http://127.0.0.1:7899)
* `TIMEOUT`: Timeout della richiesta (predefinito: 30 secondi)
* `MAX_RETRIES`: Numero massimo di tentativi (predefinito: 3)
* `MAX_WORKERS`: Numero massimo di thread di lavoro (predefinito: 5)
* `USER_AGENT`: User-Agent della richiesta (predefinito: Mozilla/5.0 Windows AppleWebKit/537.36)
## Principio di funzionamento
1. Il programma legge l'elenco degli host dal file specificato.
2. Invia una richiesta HTTP GET a ciascun host al percorso `/locales/locale.json`.
3. I parametri della richiesta sono impostati su:
* `locale`: `../../../pterodactyl`
* `namespace`: `config/database`
4. Analizza i dati della risposta per verificare se contengono informazioni di configurazione del database.
5. Salva i dati nella directory appropriata in base al tipo di risultato:
* Contiene dati target: `json/✔️ćŁçˇ®/`
* Non contiene dati target o richiesta fallita: `json/❌错误/`
6. Mostra in tempo reale l'avanzamento e le statistiche.
## Formato dell'output
I risultati vengono salvati in formato JSON e contengono le seguenti informazioni:
* `success`: Indica se la richiesta ha avuto successo
* `status_code`: Codice di stato HTTP
* `response_time`: Tempo di risposta
* `url`: URL della richiesta effettiva
* `headers`: Intestazioni della risposta
* `data`: Dati della risposta
* `size`: Dimensione della risposta
* `contains_target_data`: Indica se contiene i dati target
* `database_info`: Informazioni del database estratte
## Avvertenze
1. Assicurarsi di rispettare le leggi e le normative vigenti; utilizzare questo strumento solo in ambienti autorizzati.
2. Prima dell'uso, modificare la configurazione del proxy per adattarla al proprio ambiente di rete.
3. Un numero elevato di richieste potrebbe mettere sotto pressione il server di destinazione; impostare un numero ragionevole di thread.
4. I risultati salvati potrebbero contenere informazioni sensibili; conservarli con cura.
## Statistiche
Al termine dell'esecuzione, il programma mostra statistiche dettagliate:
* Numero totale di richieste
* Richieste riuscite
* Richieste fallite
* Numero di dati target trovati
* Tasso di successo
* Tasso di rilevamento dei dati target
* Tempo totale di esecuzione
* Richieste al secondo