
Déni de service WordPress (CVE-2014-9016)
Avertissement
Le contenu de ce script est destiné à être utilisé uniquement de manière éthique.
N'utilisez pas ce script si vous n'avez pas l'autorisation écrite du propriétaire
de l'équipement. Si vous effectuez des actions illégales, vous risquez d'être arrêté
et poursuivi dans toute la mesure de la loi. Primus27 décline toute
responsabilité en cas d'utilisation abusive de ces scripts – ils sont fournis à titre de preuve de concept uniquement.
Cette application ne doit être utilisée que dans le cadre de tests sur des environnements
avec les autorisations écrites appropriées des personnes responsables.
Exploit
- Mettre hors ligne les services WordPress en automatisant une attaque par mot de passe long
- Ce script attaque WordPress au niveau de la couche application en exploitant :
- L'absence de limitations de la longueur des mots de passe
- L'absence de mesures de sécurité supplémentaires telles que les CAPTCHA
Solution
- Mettre à jour WordPress vers une version >5.0.1
Fonctionnalités
- Automatiser la mise hors ligne d'un site WordPress
- Peut fonctionner en mode headless ou verbeux
- Optimisé de manière significative par rapport à la version 1 (non disponible sur GitHub)
Captures d'écran

Démo de l'application (Démarrage du script)

Démo de l'application (Fin du script)
Prérequis et installation
- Nécessite que la version de WordPress soit <5.0.1
- Python 3.6+
- Linux (testé)
- Installer toutes les dépendances à partir du fichier requirements.txt.
pip3 install -r requirements.txt
Arguments
Arguments obligatoires :
T || --target
- Spécifier l'adresse IP ou l'URL de la machine WordPress.
- Si une adresse IP est spécifiée, le script construit une URL (http://{IP_Address}/wp-admin)
- Si une URL est spécifiée, le script ne construit pas d'URL.
Arguments facultatifs :
-
--attempts
- Spécifier le nombre de tentatives avant la fin du script.
- Valeur par défaut : 500
- REMARQUE : Le script se termine automatiquement après 5 tentatives échouées.
-
--attempts
- Spécifier le nombre de tentatives avant la fin du script.
- Valeur par défaut : 500
- REMARQUE : Le script se termine automatiquement après 5 tentatives échouées.
-
--length
- Spécifier la longueur de base de la saisie du mot de passe.
- Valeur par défaut : 1000000
-
-nF || --noFeedback
- Cela désactive l'affichage du nom d'utilisateur et du mot de passe, affichant seulement si la tentative a réussi/échoué.
- Valeur par défaut : Désactivé
-
-V || --verbose
- Option pour que le programme ne s'exécute pas en mode headless. Cela ouvre un navigateur et montre chaque action.
- Valeur par défaut : Désactivé
-
--version
- Afficher la version du programme
Utilisation
- Exécutez 'wp_kill.py' dans le terminal avec des arguments (voir ci-dessus)
Commande(s) de démarrage
- Attaque typique
python3 wp_kill.py -T TARGET_IP
Journal des modifications
Version 1.0 - Version initiale
- La cible WordPress est mise hors ligne
- Paramètres du menu CLI
- Ajout d'une option de 'tentatives' personnalisée
- Ajout d'une option de 'longueur' personnalisée
- Ajout d'une option 'sans retour'
- Ajout d'une option 'verbeux'
- Amélioration significative de la vitesse de génération des mots de passe via une graine
- Amélioration significative des performances en utilisant la même session FireFox
Version 2.1 - Nom d'utilisateur & adresse personnalisés
- Ajout d'un argument de nom d'utilisateur personnalisé (voir argument username)
- Ajout d'une adresse personnalisée (voir argument target)
Fonctionnalités en développement
- Prise en charge du multiprocesseur