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
Outils/GitHubGitHub/j4ck3lsyn-gen2/cve-2026-63030-wp2r00t
Analyse des VulnérabilitésExploitationExploitation d'Applications WebPost-ExploitationCTFTests d'IntrusionApprentissage et ÉducationRed Teaming
GitHubj4ck3lsyn-gen2/cve-2026-63030-wp2r00t

CVE-2026-63030-wp2r00t

Une variante de wp2shell entièrement weaponisée pour le red team (sécurité offensive), conçue pour les tests d'intrusion autorisés et à des fins éducatives.

Voir le dépôt
6213il 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

wp2r00t - PoC SQLi de confusion de routes du batch REST WordPress

Une preuve de concept autonome pour l'injection SQL aveugle non authentifiée accessible via le point de terminaison batch REST de WordPress (/wp-json/batch/v1). Il s'agit d'une implémentation indépendante construite à partir des mécanismes de vulnérabilité publiés.

Avis officiel : WordPress Security Release | CVE-2026-63030


Auteur : J4ck3LSyN
Autorités : CFSD, NFK & C4b1NKr3W

Remarque : Je n'ai pas inclus dans cette publication l'implant de persistance weaponisé r00t.py qui lui est associé, pour des raisons juridiques évidentes. Pour l'obtenir, vous pouvez m'envoyer un message privé (DM) sur x


[!WARNING]
Ce code est fourni EN L'ÉTAT à des fins éducatives et de recherche uniquement. N'utilisez pas ce PoC sur des systèmes de production, des environnements partagés ou des cibles non autorisées.

  • Exécuter ou héberger ce code peut déclencher des détections antivirus, des alertes de surveillance de sécurité ou des conséquences juridiques en cas d'utilisation abusive.
  • Les auteurs et les mainteneurs du dépôt déclinent toute responsabilité en cas de dommage, d'utilisation abusive ou d'activité illégale résultant de ce code.
  • À utiliser exclusivement dans des environnements de laboratoire isolés avec une autorisation appropriée. Destiné uniquement à la recherche défensive, à l'analyse de vulnérabilités et aux tests blue-team.

Contenu du dépôt

  • poc.py - CLI principale de preuve de concept (modes check, read, shell)
  • val.py - Validateur passif léger de vulnérabilité (val.py <target>)
  • MITIGATIONS.md - Guide complet d'atténuation et de durcissement
  • LETHALITY.html - Matrice visuelle de létalité des capacités (heatmap + kill chain)
  • LICENSE - Licence MIT
  • r00t.py:redacted - Orchestrateur principal de l'implant (fait le lien entre tous les éléments)
  • modules/ - Modules d'implant post-exploitation

Modules :

  • exploit.py - Logique d'exploitation principale (primitive SQLi + RCE)
  • privesc.py:redacted - Vérifications d'élévation de privilèges locale (DirtyCOW, sudo, capabilities, etc.)
  • lpe_byond.py:redacted - LPE avancé utilisant les techniques BYOVD + eBPF (contrôlé par l'opérateur)
  • recon.py:redacted - Profilage et énumération de l'hôte
  • persistence.py:redacted - Mécanismes de persistance (systemd, cron, clés SSH)
  • c2.py:redacted - Beacon C2 chiffré (HTTPS + DoH)
  • exfil.py:redacted - Collecte d'identifiants et exfiltration de données
  • stealth.py:redacted - Anti-analyse, détection de sandbox et obfuscation

Versions affectées

BranchVersions affectéesCorrigé dans
6.9.x6.9.0 - 6.9.46.9.5
7.0.x7.0.0 - 7.0.17.0.2

Consultez les publications de sécurité officielles de WordPress pour plus de détails.


1. Mécanismes de la vulnérabilité

Le point de terminaison batch distribue plusieurs sous-requêtes en un seul appel, en validant et en vérifiant les permissions de chacune indépendamment. Lorsqu'un chemin de sous-requête échoue à wp_parse_url(), il est ajouté au tableau de validation mais pas au tableau des handlers correspondants. Les deux tableaux se désynchronisent, et une sous-requête ultérieure est distribuée sous le handler d'une autre sous-requête. C'est la confusion de routes.

Ce PoC imbrique la primitive deux fois :

  1. Désynchronisation externe. Une requête POST /wp/v2/posts portant un corps requests est distribuée sous le handler batch lui-même. Ayant été validée comme une requête posts, sa liste interne requests n'est jamais revérifiée par rapport au schéma batch, de sorte que les sous-requêtes internes peuvent utiliser GET (contournement de la liste blanche des méthodes).
  2. Désynchronisation interne. Dans ce batch interne, une requête GET /wp/v2/users portant author_exclude=... est distribuée sous posts get_items(). Le schéma de la collection users ne comporte pas de paramètre author_exclude, la valeur traverse donc la validation sans modification. posts get_items() mappe author_exclude vers la variable de requête author__not_in de WP_Query, que les versions vulnérables interpolent dans le SQL sous forme de chaîne brute.

Le puits (sink) final est une injection SQL aveugle booléenne / temporelle avant authentification :

root@kitploit:~
... post_author NOT IN (<value>) ...

Une valeur de 0) <sql>-- - ferme la liste IN() et ajoute du SQL arbitraire.


2. Modèle de sécurité

Le PoC est verrouillé par défaut (fail-closed). Trois garde-fous d'exécution empêchent toute exécution accidentelle ou hors périmètre. Ils sont tous appliqués dans modules/exploit.py ; la CLI de poc.py se contente de les transmettre.

FlagScopeEffet en cas d'absence
--authorizedToutes les I/O réseauAuthorizationError avant tout envoi
--noopToutes les sous-commandesConstruit/affiche les payloads ; aucun contact réseau
--max-requestsBatchClientBudget de requêtes strict
--r00tSous-commande shellCapacités RCE post-authentification non fournies
  • AuthorizationError est levée dans BatchClient._ensure_authorized(), AdminSession._ensure_authorized() et AdminSession._ensure_r00t().
  • BatchClient._count() applique --max-requests avant l'ouverture de la socket.
  • --r00t est le séparateur de capacités : une version distribuée sans lui ne peut ni déployer ni exécuter de webshell.

Gestion des identifiants pour shell : le nom d'utilisateur et le mot de passe admin proviennent de --user / --password, ou de variables d'environnement / d'un fichier sécurisé.


3. Installation

root@kitploit:~
git clone https://github.com/J4ck3LSyN-Gen2/CVE-2026-63030-wp2r00t.git
cd CVE-2026-63030-wp2r00t
python3 -m py_compile modules/exploit.py poc.py   # basic sanity check

Prérequis : Python 3.11+, bibliothèque standard uniquement (aucune dépendance pip).


4. CLI

root@kitploit:~
python3 poc.py <command> <url> [flags]

Drapeaux courants (toutes les sous-commandes) :

root@kitploit:~
--authorized            Assert you own / are authorized to test <url>. Required to send.
--noop                  Build/validate payloads without sending (no network contact).
--max-requests N        Hard cap on requests to the target.
--rest-route            Use /?rest_route=/batch/v1 instead of /wp-json/batch/v1.
--timeout FLOAT         Request timeout (default 30).
--proxy URL             HTTP(S) proxy.
--insecure              Disable TLS certificate verification.

Commandes disponibles

  • check - Confirmer la vulnérabilité (non destructif)
  • read - Extraction SQL aveugle
  • shell - Aide au webshell post-authentification (nécessite --r00t)
  • validate - Identifiant passif

Référence rapide

GoalCommande
Aperçu des payloads de sondepython3 poc.py check <url> --noop
Confirmer la vulnérabilitépython3 poc.py check <url> --authorized
Preuve de timing active... check <url> --authorized --confirm-sqli
Aperçu des payloads SQLipython3 poc.py read <url> --noop --query "SELECT @@version"
Extraire des donnéespython3 poc.py read <url> --authorized --query "SELECT @@version"
Aperçu de l'artefact webshellpython3 poc.py shell <url> --noop --r00t --cmd "id"
Déployer + exécuter (autorisé)python3 poc.py shell <url> --authorized --r00t --user admin --cmd "id"
Scan passifpython3 poc.py validate <url> --authorized

La documentation complète des commandes est disponible dans les sections détaillées d'origine (ou exécutez python3 poc.py --help).


5. Architecture et OPSEC

  • Délai aléatoire entre les requêtes (jitter) et valeurs SLEEP variées par échantillon déjouent les analyses comportementales WAF/NDR à cadence / delta fixes.
  • La concurrence par défaut est de 1 (strictement séquentiel).
  • Les commandes voyagent dans le corps de la requête POST, pas dans l'URL.
  • Slug de webshell, jeton et marqueur de sortie aléatoires par session.

Les modules post-exploitation (recon, privesc, exfil, persistence, stealth, c2, lpe_byond) et r00t.py forment une chaîne d'implant distincte qui ne fait pas partie du PoC exposé au réseau et qui est volontairement exclue des versions partagées. Ils sortent du cadre de ce document.

6. Licence

Ce projet est distribué sous la licence MIT. Voir LICENSE pour plus de détails.

Avertissement : Utilisez uniquement sur des systèmes que vous possédez ou que vous êtes explicitement autorisé à tester. Les auteurs déclinent toute responsabilité en cas d'utilisation abusive.

Télécharger l’outil