Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
php2shell-scanner — Scanner não destrutivo para CVE-2026-109618 / CVE-2026-109619 (RCE no núcleo do PHP). Reconhecimento de subdomínios via crt.sh + subfinder, banner grabbing robusto, detecção baseada em versão. | Kitploit
Ferramentas/GitHubGitHub/joasasantos/php2shell-scanner
OSINT (Inteligência de Fontes Abertas)ReconhecimentoScanners de VulnerabilidadesScanners de Vulnerabilidades WebMapeamento de RedeAnálise de VulnerabilidadesColeta de InformaçõesSegurança Web

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Testes de Penetração
Enumeração de Subdomínios
GitHubjoasasantos/php2shell-scanner

php2shell-scanner

Scanner não destrutivo para CVE-2026-109618 / CVE-2026-109619 (RCE no núcleo do PHP). Reconhecimento de subdomínios via crt.sh + subfinder, banner grabbing robusto, detecção baseada em versão.

Ver Repositório
692319há 1 diaAinda não revisado

php2shell-scanner

Scanner não destrutivo (com sonda opt-in) para CVE-2026-109618 (RCE via corrupção de OOM) e CVE-2026-109619 (RCE via estado global obsoleto) — bugs do núcleo do PHP corrigidos em 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12.

✅ Verificado contra os avisos oficiais do php-src (2026-10-21, Crítico). Os IDs CVE e a tabela de versões corrigidas abaixo correspondem exatamente ao upstream.

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

Versões afetadas / corrigidas

RamoAfetadasCorrigidas
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 — sem patch upstreamverificar backport da distro/OSV

Estratégias

ModoO que faz
LOCALphp -r para versão exata do runtime, SAPI, memory_limit, post_max_size
REMOTEFingerprint de versão via cabeçalhos X-Powered-By / Server e phpinfo() exposto
PRESENCEDetecção de PHP sem versão (PHPSESSID, referências .php, redirecionamentos)
BANNERCaptura robusta de banner via raw-socket — HEAD/GET/OPTIONS + sonda malformada, http/https, divulgação em página de erro
RECONEnumeração de subdomínios via crt.sh (Certificate Transparency) com fallback/mesclagem em subfinder, depois varredura em fan-out resolvendo hosts
PROBE(opt-in) Requisições multipart grandes para observar instabilidade do worker — pode causar DoS

Instalação

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
--localVarredura local via o binário php
--reconExpande cada domínio em subdomínios (crt.sh + subfinder), depois varre os hosts que resolvem
--recon-onlyApenas enumera subdomínios, sem varredura
--bannerForça a captura robusta de banner via raw-socket em cada alvo
--phpinfo-pathsSonda caminhos comuns de phpinfo() expostos
--deep-versionTécnicas extras de versão: easter eggs do PHP + arquivos que vazam versão (composer.json, .env, …)
--origin-scanAlcança a origem PHP por trás do Cloudflare/WAF — requisição direta ao IP com o cabeçalho Host real
--shodan-keyChave de API do Shodan para inteligência de origem (ou env SHODAN_API_KEY); implica --origin-scan
--censys-id / --censys-secretCredenciais de API do Censys (ou env CENSYS_API_ID / CENSYS_API_SECRET); implicam --origin-scan
--probeSonda de carga multipart — risco de DoS, apenas autorizado
--probe-count NNúmero de requisições de sonda (padrão 5)
--threads N / --timeout NConcorrência / timeout por requisição
--insecureNão valida TLS
-o FILE / --csv FILESalva relatório JSON / CSV

Enriquecimento passivo

Além da verificação de versão, cada alvo é enriquecido com sinais passivos (de respostas normais) que refinam o veredito e reduzem falsos positivos:

  • SAPI / modelo de worker — workers persistentes (fpm, mod_php) reutilizam estado da requisição → expostos a CVE-2026-109619; cgi simples muito menos.
  • CDN / WAF / proxy (Cloudflare, Akamai, Fastly, Sucuri…) — o banner pode ser da borda, não da origem → confiança reduzida.
  • Build da distro (ubuntu, +deb, .el8…) — backport pode corrigir sem aumento de versão → confiança reduzida, nota "verifique o changelog".
  • phpinfo profundo (quando exposto) — Server API, post_max_size / max_input_vars (superfície de OOM para CVE-2026-109618), disable_functions.

Mais técnicas de versão (--deep-version)

Quando não há versão no banner: easter eggs do PHP (?=PHPE9568F34-... → GIF/credits com expose_php=On) e arquivos que vazam versão (composer.json, .env, …; .env PHP_VERSION = exata, uma restrição "php": ">=8.2" apenas estreita o branch).

Bypass de origem / WAF (--origin-scan)

CDNs ocultam a origem, então a leitura de cabeçalhos mostra apenas a borda. --origin-scan:

  1. resolve o apex, www, prefixos não-proxied (origin.*, cpanel.*, mail.*…) e subdomínios do recon;
  2. descarta IPs nas faixas de borda do Cloudflare / Imperva / Sucuri (IPv4 + IPv6);
  3. requisita cada IP de origem restante diretamente com o Host + SNI reais, lendo Server / X-Powered-By / páginas de erro direto da origem.

Uma requisição direta a um IP já exposto. Apenas alvos autorizados.

Inteligência com credenciais adiciona IPs que o DNS nunca expõe, além de uma versão do PHP a partir do banner indexado (inteligência sinalizada — pode estar desatualizada):

  • --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 / nome DNS.
  • Qualquer credencial habilita automaticamente --origin-scan.
export SHODAN_API_KEY=xxx CENSYS_API_ID=xxx CENSYS_API_SECRET=xxx
python3 php2shell_scan.py hackersec.com --origin-scan

Nível de confiança

ConfiançaSignificado
HIGHversão obtida de um phpinfo() exposto ou de uma página de erro do PHP
MEDIUMversão obtida de um banner HTTP (expose_php=On)
LOWapenas inferência, ou atrás de um proxy, ou um backport da distro pode se aplicar

A saída consolidada agrupa os alvos por severidade, ordena os VULNERABLE por confiança (HIGH primeiro) e sinaliza resultados LOW/MEDIUM para nova verificação antes de reportar.

Lógica de detecção

Comparação de versão por branch em relação à tabela FIXED:

  • < fixed em um branch suportado → VULNERABLE
  • >= fixed → PATCHED
  • < 8.2 (EOL) → VULNERABLE_EOL (sem patch upstream; verifique backport da distro/OSV)
  • branch acima do intervalo do advisory ou sem versão → UNKNOWN / SUSPECTED

Autorização

Execute apenas contra ativos que você possui ou para os quais tem permissão explícita de testar. O modo --probe pode desestabilizar workers frágeis. Você é responsável pelo seu uso.

Licença

MIT

Baixar ferramenta