Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2024-40275_Scanner — Scanner para divulgação de código-fonte do Apache HTTP Server (CVE-2024-40725); testa caminhos diretos e de subrequest, identifica versões afetadas e gera relatórios JSON para CI/CD. | Kitploit
Ferramentas/GitHubGitHub/burjoy/cve-2024-40275_scanner
Scanners de VulnerabilidadesScanners de Vulnerabilidades WebAnálise de VulnerabilidadesSegurança WebConfiguração Incorreta
GitHubburjoy/cve-2024-40275_scanner

CVE-2024-40275_Scanner

Scanner para divulgação de código-fonte do Apache HTTP Server (CVE-2024-40725); testa caminhos diretos e de subrequest, identifica versões afetadas e gera relatórios JSON para CI/CD.

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
Ver Repositório
há 2 diasAinda não revisado

Scanner CVE-2024-40725

Uma ferramenta de detecção baseada em Python para CVE-2024-40725, uma vulnerabilidade de divulgação de código-fonte do Apache HTTP Server que afeta as versões 2.4.0 e 2.4.61.

Aviso legal: Execute este scanner apenas em servidores que você possui ou para os quais tenha autorização explícita por escrito para testar. O uso não autorizado pode violar leis de fraude computacional (por exemplo, CFAA, Computer Misuse Act).


Contexto

O CVE-2024-40725 é uma regressão no pipeline interno de requisições do Apache, introduzida na versão 2.4.0 (como uma correção incompleta para o CVE-2024-39884). Quando um servidor é configurado usando diretivas legadas AddType (por exemplo, AddType application/x-httpd-php .php), a atribuição do handler interno do Apache é silenciosamente descartada durante o processamento de subrequisições (acionado por DirectoryIndex, mod_rewrite ou mod_dir).

Como resultado, o interpretador de scripts PHP nunca é invocado. Em vez disso, o default-handler integrado do Apache abre o arquivo a partir do disco e transmite seus bytes brutos, incluindo credenciais de banco de dados, chaves de API e lógica da aplicação, diretamente para o cliente.

Versões afetadas: Apache httpd 2.4.0 – 2.4.61
Corrigido em: Apache httpd 2.4.62+


Requisitos

  • Python 3.8+
  • Biblioteca requests
root@kitploit:~
pip install requests

Instalação

root@kitploit:~
# Clone or download the scanner
curl -O https://your-host/cve_2024_40725_scanner.py

# Make executable (optional)
chmod +x cve_2024_40725_scanner.py

Uso

root@kitploit:~
python3 cve_2024_40725_scanner.py --target <URL> [OPTIONS]

Opções


Exemplos

root@kitploit:~
# Quickstart: scan localhost with built-in default paths
python3 cve_2024_40725_scanner.py --target http://localhost

# Scan specific paths
python3 cve_2024_40725_scanner.py \
  --target http://192.168.1.10 \
  --paths /index.php /admin/config.php /wp-config.php

# Use a wordlist file
python3 cve_2024_40725_scanner.py \
  --target http://192.168.1.10 \
  --wordlist php_paths.txt

# Combine wordlist + extra inline paths (merged, deduplicated)
python3 cve_2024_40725_scanner.py \
  --target http://192.168.1.10 \
  --wordlist php_paths.txt \
  --paths /extra/secret.php

# HTTPS with self-signed certificate
python3 cve_2024_40725_scanner.py \
  --target https://myserver.local \
  --no-verify-ssl

# Polite scan with 1 second delay and JSON report
python3 cve_2024_40725_scanner.py \
  --target http://myserver.local \
  --wordlist php_paths.txt \
  --delay 1.0 \
  --output results.json \
  --verbose

# CI/CD usage (exit code 1 = vulnerable, 0 = clean)
python3 cve_2024_40725_scanner.py --target http://localhost || echo "VULNERABLE"

Formato da Wordlist

Um caminho por linha. Linhas que começam com # são tratadas como comentários e ignoradas. Linhas em branco são ignoradas. Barras iniciais são normalizadas automaticamente.

root@kitploit:~
# Common PHP entrypoints
/index.php
/info.php
/phpinfo.php

# Admin panels
/admin/index.php
/admin/config.php

# CMS files
/wp-config.php
/wp-login.php
/configuration.php

# API internals
/api/v1/status.php

Como Funciona

O scanner executa duas sondagens por caminho:

Sondagem A — Requisição Direta de Arquivo

root@kitploit:~
GET /index.php HTTP/1.1

Verifica se a requisição direta do arquivo PHP retorna seu código-fonte bruto. Afetada em servidores mal configurados onde o AddType está quebrado até mesmo para requisições diretas.

Sondagem B — Gatilho de Subrequisição (o caminho real do CVE)

root@kitploit:~
GET / HTTP/1.1

Solicita o diretório pai em vez do próprio arquivo. O Apache resolve internamente DirectoryIndex → index.php, gerando uma subrequisição. Este é exatamente o caminho de código onde r->handler é definido como NULL no Apache 2.4.0–2.4.61.

A Sondagem B é o teste mais importante e realista. Muitos servidores são vulneráveis apenas pelo caminho de subrequisição, não pelo caminho direto de arquivo.

Detecção de Vazamento

O scanner verifica o corpo da resposta em busca de assinaturas de código-fonte PHP:

  • <?php
  • <?PHP
  • <?=

Quando uma correspondência é encontrada, ele extrai um trecho de 150 caracteres ao redor do local do vazamento para triagem, sem imprimir o corpo inteiro da resposta.

Fingerprinting do Servidor

Lê o cabeçalho de resposta Server: para detectar a versão do Apache. Sinaliza servidores que relatam a versão 2.4.0 ou 2.4.61 mesmo antes de um vazamento confirmado.

Nota: Servidores reforçados podem suprimir o cabeçalho Server: (ServerTokens Prod). O scanner ainda executa todas as sondagens independentemente disso.


Saída

Exemplo de saída no terminal

root@kitploit:~
============================================================
  CVE-2024-40725 -- Apache Source Code Disclosure Scanner
============================================================
  Target : http://localhost
  Paths  : 6
  Time   : 2024-08-01T12:00:00

  [*] Fingerprinting server: http://localhost
      Server Header : Apache/2.4.61 (Debian)
      Apache Version: 2.4.61
      [!] Version is in vulnerable range (2.4.0 - 2.4.61)

  [*] Testing 6 path(s)...

  --- /index.php
      Direct  (HTTP 200): OK
      Subreq  (HTTP 200): LEAKED
      [!] VULNERABLE via: subrequest (directory index)
         Leaked snippet: '<?php\n$db_pass = "supersecretpassword";'

  --- /info.php
      Direct  (HTTP 404): OK
      Subreq  (HTTP 404): OK
      [+] Safe

============================================================
  SCAN SUMMARY
============================================================
  Target            : http://localhost
  Apache Version    : 2.4.61
  Paths Tested      : 6
  Vulnerable Paths  : 1
  Safe Paths        : 5

  [!] RESULT: VULNERABLE
      Vulnerable paths:
        * /index.php  (trigger: subrequest (directory index))

  Remediation:
    1. Upgrade to Apache httpd >= 2.4.62
    2. Replace 'AddType' with 'SetHandler' in <FilesMatch> blocks
============================================================

Estrutura do relatório JSON (--output results.json)

root@kitploit:~
{
  "target": "http://localhost",
  "scan_time": "2024-08-01T12:00:00",
  "apache_version": "2.4.61",
  "apache_in_range": true,
  "paths_tested": 6,
  "vulnerable_paths": [
    {
      "path": "/index.php",
      "direct_url": "http://localhost/index.php",
      "directory_url": "http://localhost/",
      "direct_status": 200,
      "direct_leaked": false,
      "direct_snippet": null,
      "directory_status": 200,
      "directory_leaked": true,
      "directory_snippet": "<?php\n$db_pass = \"supersecretpassword\";",
      "server_header": "Apache/2.4.61 (Debian)",
      "vulnerable": true,
      "trigger": "subrequest (directory index)"
    }
  ],
  "safe_paths": [...]
}

Códigos de Saída

CódigoSignificado
0Nenhum caminho vulnerável detectado
1Um ou mais caminhos vulneráveis encontrados

Os códigos de saída tornam o scanner adequado para uso em pipelines de CI/CD e auditorias automatizadas de infraestrutura.


Remediação

Opção 1: Atualizar o Apache (Recomendado)

root@kitploit:~
# Debian / Ubuntu
sudo apt update && sudo apt install apache2

# RHEL / CentOS / AlmaLinux
sudo dnf update httpd

# Verify version (must be >= 2.4.62)
apache2 -v

Opção 2: Substituir AddType por SetHandler

Substitua quaisquer diretivas AddType usadas para execução de PHP:

root@kitploit:~
# ❌ Vulnerable Configs
AddType application/x-httpd-php .php

# ✅ Safe Configs
<FilesMatch "\.php$">
    SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost"
</FilesMatch>

Referência de Configuração Vulnerável vs. Segura

root@kitploit:~
# VULNERABLE
<VirtualHost *:80>
    DocumentRoot /var/www/html
    AddType application/x-httpd-php .php     # ← triggers CVE
    DirectoryIndex index.php
</VirtualHost>

# SAFE
<VirtualHost *:80>
    DocumentRoot /var/www/html
    <FilesMatch "\.php$">
        SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost"
    </FilesMatch>
    DirectoryIndex index.php
</VirtualHost>

CVEs Relacionados

CVEVersãoDescrição
Baixar ferramenta
FlagTipoPadrãoDescrição
--targetURL(obrigatório)URL base do servidor Apache a ser testado
--pathsPATH [PATH ...]lista integradaUm ou mais caminhos PHP para sondar diretamente
--wordlistFILE—Caminho para um arquivo de wordlist (um caminho por linha)
--no-directory-checkflagdesativadoIgnorar a sondagem de subrequisição/índice de diretório (Sondagem B)
--timeoutint (segundos)10Tempo limite por requisição
--delayfloat (segundos)0.0Atraso entre requisições (limite de taxa)
--no-verify-sslflagdesativadoDesabilitar a verificação do certificado SSL
--outputFILE—Gravar o relatório JSON completo neste arquivo
--verboseflagdesativadoHabilitar a saída de depuração
CVE-2024-398842.4.0Regressão original de divulgação de código-fonte
CVE-2024-407252.4.61Correção incompleta — mesma classe de bug
CVE-2024-408982.4.61SSRF separado em mod_rewrite (somente Windows)