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
wp2shell-scanner — Scanner CVE-2026-63030, CVE-2026-60137, wp2shell | Kitploit
Outils/GitHubGitHub/zephrfish/wp2shell-scanner
Scanners de VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebCollecte d'InformationsTests d'IntrusionRed TeamingDéveloppement de Charges Utiles
GitHubzephrfish/wp2shell-scanner

wp2shell-scanner

Scanner CVE-2026-63030, CVE-2026-60137, wp2shell

Voir le dépôt
511014il y a 1 moisVérifié par Kitploit
Site web

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

wp2shell-scanner

Outils de détection et de validation pour l'exposition du cœur de WordPress à wp2shell (CVE-2026-63030 / CVE-2026-60137). Les modes sont sélectionnés avec un indicateur, et la cible est positionnelle. --scan identifie la version du cœur et confirme que la route REST /batch/v1 est accessible sans envoyer de charge utile d'exploitation ; les modes --check/--read/--shell/--rce/--root-prereq sont la preuve de concept (PoC) de validation à utiliser uniquement en laboratoire autorisé.

wp2shell.py est un script unique ne dépendant que de la bibliothèque standard — aucune dépendance externe. Chaque invocation imprime une bannière ZephrSec sur stderr avant de s'exécuter (elle reste hors de stdout, donc la sortie JSON --scan -j n'est pas affectée).

Indicateurs de commande

Télécharger l’outil

Un seul indicateur de mode est requis ; la cible est positionnelle (une URL pour chaque mode, ou une liste d'hôtes pour --scan).

Synopsis

root@kitploit:~
wp2shell.py (--scan | --check | --read | --shell | --rce | --root-prereq)
            [targets ...] [-f FILE] [-j] [-t THREADS] [--prefix PREFIX]
            [--delay DELAY] [--repeats REPEATS] [--preset PRESET] [--expr EXPR]
            [--max-len MAX_LEN] [--user USER] [--password PASSWORD] [--cmd CMD]
            [-i] [--no-cleanup] [-y] [--sleep SLEEP] [--rounds ROUNDS]
            [--route {auto,rest-route,wp-json}] [--proxy PROXY] [--authorized]
            [--timeout TIMEOUT]

Indicateurs de mode (choisissez-en un)

IndicateurCe qu'il fait
--scanVérification d'exposition non destructive : identification de version + confirmation que la route REST /batch/v1 est accessible. Aucune charge utile d'exploitation envoyée.
--checkConfirme une injection SQL temporelle aveugle avec une sonde différentielle inoffensive.
--readExtrait des données via une injection SQL aveugle (un préréglage ou une expression SQL scalaire brute).
--shellChaîne d'exécution de code à distance (RCE) authentifiée utilisant un mot de passe administrateur récupéré/cassé.
--rceRCE pré-authentification sans justificatif : crée son propre administrateur via l'injection SQL, puis déploie une webshell auto-nettoyante.
--root-prereqVérification bénigne des prérequis pour l'élévation vers root ; exécute uniquement des diagnostics, jamais une élévation de privilèges locale.

Indicateurs d'option

IndicateurS'applique àCe qu'il fait
-f, --file--scanLire les hôtes depuis un fichier (un par ligne ; les commentaires # sont ignorés).
-j, --json--scanÉmettre les résultats au format JSON sur stdout.
-t, --threads--scanConcurrence d'analyse (par défaut 10).
--prefix--check/--readPréfixe de table de base de données (par défaut wp_).
--delay--check/--readSecondes de SLEEP injectées pour l'oracle temporel (par défaut 0.15).
--repeats--check/--readMédiane sur N sondes par bit ; augmenter sur les liaisons bruyantes (par défaut 1).
--preset--readCible intégrée : version, database, db_user, users, siteurl (par défaut users).
--expr--readExpression SQL scalaire brute à extraire (remplace --preset).
--max-len--readLongueur maximale de la chaîne extraite (par défaut 128).
--user--shell/--root-prereqNom d'utilisateur administrateur pour la connexion (par défaut admin).
--password--shell/--root-prereqMot de passe administrateur en texte clair (casser le hash obtenu via ; requis pour ces modes).

Article de blog approfondi : https://blog.zsec.uk/wp2shell-code-trace-deep-dive/

Modèle Nuclei

root@kitploit:~
nuclei -t wp2shell-exposure.yaml -u https://target

Analyse (non destructive)

Hôte unique, plusieurs hôtes ou un fichier.

root@kitploit:~
python3 wp2shell.py --scan https://target
python3 wp2shell.py --scan host1 host2 host3
python3 wp2shell.py --scan -f hosts.txt

Options : -f/--file fichier d'hôtes (un par ligne), -j/--json sortie JSON, -t/--threads concurrence (par défaut 10).

PoC de validation

Les modes --check/--read/--shell/--rce/--root-prereq envoient des charges utiles d'exploitation réelles. Exécutez-les uniquement contre le laboratoire local fourni, ou contre d'autres systèmes dont vous êtes propriétaire et que vous êtes explicitement autorisé à tester. --shell et --rce effectuent une exécution de code à distance et sont destinés au laboratoire/aux cibles autorisées ; --rce sur un hôte non en boucle locale nécessite --authorized. --root-prereq utilise le même plugin de diagnostic à jeton pour vérifier les prérequis d'élévation vers root, mais n'exécute pas d'élévation de privilèges locale.

--shell nécessite un mot de passe administrateur récupéré/cassé. --rce est la chaîne pré-authentification sans justificatif : il crée son propre administrateur via l'injection SQL (oEmbed → changeset → parse_request ré-entrant), puis déploie la webshell — aucun mot de passe requis.

--shell, --rce et --root-prereq demandent une autorisation interactive y/N avant que toute charge utile d'exécution de code ne soit envoyée (ils abandonnent sur une entrée standard non interactive/EOF). Passez -y/--yes pour ignorer l'invite lors de l'automatisation contre le laboratoire ou une cible autorisée.

root@kitploit:~
docker compose -f poc/lab/docker-compose.yml up -d
python3 wp2shell.py --check http://127.0.0.1:8080
python3 wp2shell.py --read  http://127.0.0.1:8080 --expr @@version
python3 wp2shell.py --shell http://127.0.0.1:8080 --user admin --password 'Summer2026!' --cmd id
python3 wp2shell.py --shell http://127.0.0.1:8080 --user admin --password 'Summer2026!' -i
python3 wp2shell.py --rce   http://127.0.0.1:8080 --cmd id
python3 wp2shell.py --rce   http://127.0.0.1:8080 -i
python3 wp2shell.py --root-prereq http://127.0.0.1:8080 --user admin --password 'Summer2026!'

Les diffs de correctifs utilisés pour fonder la preuve de concept sont sauvegardés dans poc/diffs/, avec des notes de recherche dans poc/RESEARCH.md. L'injection SQL est entièrement reconstructible à partir du correctif author__not_in. La chaîne --rce sans justificatif (oEmbed → changeset → ré-entrée → création d'administrateur) reproduit la RCE par défaut sur le laboratoire fourni ; --shell est le chemin alternatif via un justificatif administrateur récupéré/cassé pour le téléchargement de plugin authentifié et l'exécution de commandes.

--read
--cmd--shell/--rceCommande à exécuter sur la cible (par défaut id).
-i, --interactive--shell/--rceBoucle de commandes web interactive au lieu d'une commande unique.
--no-cleanup--shell/--rceLaisser le plugin/webshell déposé en place (laboratoire uniquement).
-y, --yes--shell/--rce/--root-prereqIgnorer l'invite d'autorisation interactive (pour l'automatisation).
--sleep--rceSecondes de SLEEP injectées pour la détection de l'injection SQL pré-authentification (par défaut 4).
--rounds--rceMédiane sur N sondes pour la détection --rce (par défaut 3).
--route--rceFormat de la route batch : auto, rest-route ou wp-json (par défaut auto).
--proxy--rceAcheminer les requêtes via un proxy HTTP, par ex. Burp à http://127.0.0.1:8080.
--authorized--rceAffirmer l'autorisation pour une cible --rce non en boucle locale (requis pour les hôtes distants).
--timeouttousDélai d'attente par requête en secondes (par défaut 15).