Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
php2shell-scanner — Escáner no destructivo para CVE-2026-109618 / CVE-2026-109619 (RCE del núcleo de PHP). Reconocimiento de subdominios mediante crt.sh + subfinder, captura robusta de banners, detección basada en versiones. | Kitploit
Herramientas/GitHubGitHub/joasasantos/php2shell-scanner
OSINT (Inteligencia de Fuentes Abiertas)ReconocimientoEscáneres de VulnerabilidadesEscáneres de Vulnerabilidades WebMapeo de RedesAnálisis de VulnerabilidadesRecopilación de InformaciónSeguridad Web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Pruebas de Penetración
Enumeración de Subdominios
GitHubjoasasantos/php2shell-scanner

php2shell-scanner

Escáner no destructivo para CVE-2026-109618 / CVE-2026-109619 (RCE del núcleo de PHP). Reconocimiento de subdominios mediante crt.sh + subfinder, captura robusta de banners, detección basada en versiones.

Ver Repositorio
692319hace 1 díaAún no revisado

php2shell-scanner

Escáner no destructivo (con sonda opcional) para CVE-2026-109618 (RCE mediante corrupción de OOM) y CVE-2026-109619 (RCE mediante estado global obsoleto) — errores del núcleo de PHP corregidos en 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12.

✅ Verificado contra los avisos oficiales de php-src (2026-10-21, Crítico). Los ID de CVE y la tabla de versiones corregidas a continuación coinciden exactamente con los de upstream.

  • CVE-2026-109618 — GHSA-w8hw-w9fx-j79w
  • CVE-2026-109619 — GHSA-6wmf-4rv5-p3rp

Versiones afectadas / corregidas

RamaAfectadasCorregidas
8.2< 8.2.358.2.35
8.3< 8.3.368.3.36
8.4< 8.4.278.4.27
8.5< 8.5.128.5.12
< 8.2EOL — sin parche upstreamconsultar backport de la distro/OSV

Estrategias

ModoQué hace
LOCALphp -r para obtener la versión exacta del runtime, SAPI, memory_limit, post_max_size
REMOTEHuella de versión mediante cabeceras X-Powered-By / Server y phpinfo() expuesto
PRESENCEDetección de PHP sin versión (PHPSESSID, referencias .php, redirecciones)
BANNERCaptura robusta de banner por socket crudo — HEAD/GET/OPTIONS + sonda malformada, http/https, divulgación en páginas de error
RECONEnumeración de subdominios mediante crt.sh (Certificate Transparency) con fallback/merge de subfinder, luego escaneo en abanico resolviendo los hosts
PROBE(opcional) Solicitudes multipart grandes para observar la inestabilidad del worker — puede causar DoS

Instalación

git clone https://github.com/JoasASantos/php2shell-scanner.git
cd php2shell-scanner
# stdlib only — no pip deps.
# Optional recon fallback: ProjectDiscovery subfinder
#   brew install subfinder   (or: go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest)

Uso

# Local runtime check
python3 php2shell_scan.py --local

# Single remote target, look for exposed phpinfo()
python3 php2shell_scan.py https://example.com --phpinfo-paths

# Subdomain recon (crt.sh + subfinder) then scan, 10 threads, JSON out
python3 php2shell_scan.py example.com --recon --threads 10 -o out.json

# Recon only, no scanning
python3 php2shell_scan.py example.com --recon-only

# Target list + forced robust banner grab
python3 php2shell_scan.py -f targets.txt --banner

# OPT-IN load probe (authorized use only — DoS risk)
python3 php2shell_scan.py https://example.com --probe --probe-count 5

Flags

FlagSignificado
--localEscaneo local mediante el binario php
--reconExpande cada dominio en subdominios (crt.sh + subfinder) y luego escanea los hosts que resuelven
--recon-onlySolo enumera subdominios, sin escanear
--bannerFuerza la captura robusta de banner mediante socket crudo en cada objetivo
--phpinfo-pathsSondea rutas comunes de phpinfo() expuestas
--deep-versionTécnicas adicionales de versión: easter eggs de PHP + archivos con fuga de versión (composer.json, .env, …)
--origin-scanAlcanza el origen PHP detrás de Cloudflare/WAF — petición directa a la IP con el encabezado Host real
--shodan-keyClave de API de Shodan para inteligencia del origen (o env SHODAN_API_KEY); implica --origin-scan
--censys-id / --censys-secretCredenciales de API de Censys (o env CENSYS_API_ID / CENSYS_API_SECRET); implican --origin-scan
--probeSonda de carga multipart — riesgo de DoS, solo con autorización
--probe-count NNúmero de peticiones de sonda (por defecto 5)
--threads N / --timeout NConcurrencia / tiempo de espera por petición
--insecureNo valida TLS
-o FILE / --csv FILEGuarda el informe en JSON / CSV

Enriquecimiento pasivo

Más allá de la comprobación de versión, cada objetivo se enriquece con señales pasivas (a partir de respuestas normales) que refinan el veredicto y reducen los falsos positivos:

  • SAPI / modelo de worker — los workers persistentes (fpm, mod_php) reutilizan el estado de la petición → expuestos a CVE-2026-109619; cgi simple mucho menos.
  • CDN / WAF / proxy (Cloudflare, Akamai, Fastly, Sucuri…) — el banner puede ser el del edge, no el del origen → confianza reducida.
  • Compilación de distro (ubuntu, +deb, .el8…) — un backport puede corregirlo sin cambiar la versión → confianza reducida, nota de "verificar el changelog".
  • phpinfo profundo (cuando está expuesto) — Server API, post_max_size / max_input_vars (superficie de OOM para CVE-2026-109618), disable_functions.

Más técnicas de versión (--deep-version)

Cuando no hay versión en el banner: easter eggs de PHP (?=PHPE9568F34-... → GIF/credits con expose_php=On) y archivos con fuga de versión (composer.json, .env, …; PHP_VERSION en .env = exacta, una restricción "php": ">=8.2" solo acota la rama).

Origen / evasión de WAF (--origin-scan)

Las CDN ocultan el origen, por lo que una lectura de encabezados solo muestra el edge. --origin-scan:

  1. resuelve el apex, www, prefijos no proxificados (origin.*, cpanel.*, mail.*…) y subdominios del reconocimiento;
  2. descarta IPs en los rangos de edge de Cloudflare / Imperva / Sucuri (IPv4 + IPv6);
  3. solicita cada IP de origen restante directamente con el Host + SNI reales, leyendo Server / X-Powered-By / páginas de error directamente desde el origen.

Una petición directa a una IP ya expuesta. Solo objetivos autorizados.

La inteligencia con credenciales añade IPs que el DNS nunca expone, además de una versión de PHP a partir del banner indexado (inteligencia marcada — puede estar desactualizada):

  • --shodan-key / env SHODAN_API_KEY — hosts por hostname:<domain>.
  • --censys-id + --censys-secret / env CENSYS_API_ID + CENSYS_API_SECRET — hosts por certificado TLS / nombre DNS.
  • Cualquier credencial habilita automáticamente --origin-scan.
export SHODAN_API_KEY=xxx CENSYS_API_ID=xxx CENSYS_API_SECRET=xxx
python3 php2shell_scan.py hackersec.com --origin-scan

Grado de confianza

ConfianzaSignificado
HIGHversión obtenida de un phpinfo() expuesto o de una página de error de PHP
MEDIUMversión obtenida de un banner HTTP (expose_php=On)
LOWsolo inferencia, o detrás de un proxy, o puede aplicar un backport de la distro

La salida consolidada agrupa los objetivos por severidad, ordena los VULNERABLE por confianza (HIGH primero) y marca los resultados LOW/MEDIUM para re-verificar antes de reportar.

Lógica de detección

Comparación de versiones por rama contra la tabla FIXED:

  • < fixed en una rama soportada → VULNERABLE
  • >= fixed → PATCHED
  • < 8.2 (EOL) → VULNERABLE_EOL (sin parche upstream; verificar backport de distro/OSV)
  • rama por encima del rango del aviso o sin versión → UNKNOWN / SUSPECTED

Autorización

Ejecutar solo contra activos que poseas o para los que tengas permiso explícito de probar. El modo --probe puede interrumpir workers frágiles. Eres responsable de tu uso.

Licencia

MIT

Descargar herramienta