WEAPONIZING-CVE-2024-4367
CVE-2024-4367 est une vulnérabilité critique (CVSS 9.8) dans PDF.js, permettant l'exécution arbitraire de code JavaScript en raison de contrôles de type insuffisants sur l'objet FontMatrix dans les fichiers PDF.
Assistant d'exploitation CVE-2024-4367 : Guide de l'utilisateur
| IDENTIFIANT CVE | CVE-2024-4367 |
|---|
| GRAVITÉ | Critique (Score CVSS : 9.8) |
| VULNÉRABILITÉ | Exécution arbitraire de code JavaScript dans PDF.js en raison de contrôles de type insuffisants sur l'objet FontMatrix |
| EXPLOITATION | Des fichiers PDF malveillants peuvent exécuter du JavaScript dans le navigateur de la victime, entraînant un vol de données, une XSS ou une RCE. |
1. Configuration de l'environnement
Prérequis
-
Système d'exploitation :
- Une distribution Linux basée sur Debian/Ubuntu ou équivalente, avec des privilèges administratifs.
- Assurez-vous que Python 3.x est installé (
python3 --version).
-
Configuration du script :
- Enregistrez le script d'exploitation dans un répertoire de votre choix (par exemple,
~/cve-2024-4367/) avec le nom de fichier cve_2024_4367_exploit_wizard.py.
-
PDF modèle :
- Placez un fichier PDF bénin nommé
template.pdf dans le même répertoire. Ce fichier servira de base pour le PDF malveillant.
-
Social Engineering Toolkit (SET) :
- Installez SET (Social Engineering Toolkit) :
sudo apt-get update
sudo apt-get install set
- Vérifiez l'installation avec :
2. Exécution de l'assistant d'exploitation
Étape 1 : Rendre le script exécutable (optionnel)
Accordez les permissions d'exécution au script :
chmod +x cve_2024_4367_exploit_wizard.py
Étape 2 : Exécuter le script
Exécutez le script en utilisant l'une des méthodes suivantes :
./cve_2024_4367_exploit_wizard.py
ou
python3 cve_2024_4367_exploit_wizard.py
Étape 3 : Suivre les invites à l'écran
Le script vous guidera pas à pas tout au long du processus d'attaque.
3. Flux de travail pas à pas de l'assistant
Étape 1 : Vérifier et installer les dépendances
- Le script vérifie automatiquement :
- PyPDF2 : Requis pour manipuler les PDF.
- SET : Utilisé pour les campagnes de phishing.
- Les dépendances manquantes seront installées automatiquement (ou inviteront à une installation manuelle).
Étape 2 : Créer un PDF malveillant
- Le script injecte une charge utile JavaScript dans le champ
/FontMatrix du template.pdf.
- Le résultat,
malicious.pdf, sera enregistré dans le même répertoire.
- Le succès ou l'échec sera affiché.
Étape 3 : Gérer les cibles de la campagne
- Ajoutez les e-mails cibles (ou identifiants) de manière interactive.
- Saisissez chaque e-mail cible un par un.
- Finalisez la liste en tapant
done.
- Le script s'intègre à SET pour livrer le PDF malveillant via phishing.
- Suivez les invites de SET pour configurer la campagne :
- Configurez les modèles d'e-mails.
- Joignez
malicious.pdf.
- Quittez SET pour revenir à l'assistant.
Étape 5 : Héberger le PDF malveillant
- Le script lance un serveur HTTP à
http://localhost:8080.
malicious.pdf est accessible en téléchargement.
- Les données exfiltrées par la charge utile (par exemple,
document.cookie) seront journalisées dans la console du script.
4. Test de l'exploitation
Validation dans un environnement contrôlé
- Ouvrez
malicious.pdf dans une version vulnérable de PDF.js ou une VM sandbox.
- Surveillez les journaux du serveur pour confirmer l'exécution de la charge utile et l'exfiltration des données.
Observer les journaux d'exfiltration
- Les données (par exemple, les cookies) soumises par la charge utile seront journalisées comme suit :
[+] Données exfiltrées : session_id=abcd1234; auth_token=xyz987
Modifier la charge utile pour des tests supplémentaires
- Personnalisez la charge utile pour des actions comme l'enregistrement de frappes clavier ou la redirection.
- Testez la capacité de votre environnement à détecter ou atténuer ces menaces.
5. Nettoyage et tâches post-exécution
Arrêter le serveur local
Terminez le serveur HTTP en utilisant Ctrl+C dans le terminal.
Sécuriser les actifs malveillants
- Supprimez ou stockez en toute sécurité
malicious.pdf pour éviter toute utilisation accidentelle.
- Archivez en toute sécurité tous les journaux ou données de campagne.
Réinitialiser l'environnement de test
- Si vous utilisez une machine virtuelle, restaurez un instantané propre.
- Assurez-vous qu'aucun artefact malveillant ne reste sur le système.
6. Notes importantes et avertissement légal
Pour usage autorisé uniquement
- Ce script et ce guide sont destinés à des fins éducatives et à des tests de pénétration autorisés dans des environnements contrôlés.
- Toute utilisation non autorisée est illégale et peut entraîner de graves conséquences juridiques.
- Obtenez toujours une autorisation explicite avant d'effectuer tout test d'exploitation.
Sécuriser vos systèmes
-
Mettre à jour PDF.js :
- Assurez-vous que la dernière version de PDF.js est installée pour corriger CVE-2024-4367.
-
Restreindre JavaScript dans les PDF :
- Désactivez l'exécution de JavaScript dans les visionneuses PDF lorsque cela est possible.
-
Implémenter la protection des points de terminaison :
- Utilisez des outils robustes de détection et de réponse des points de terminaison.
-
Éduquer les utilisateurs :
- Formez les employés à reconnaître les tentatives de phishing et à éviter d'ouvrir des PDF non vérifiés.
En suivant ce guide de manière responsable, vous pouvez simuler efficacement des scénarios d'attaque réels et renforcer vos défenses en cybersécurité.