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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2023-25690 — Prova de conceito de exploit para CVE-2023-25690, Contrabando de Requisição HTTP no mod_proxy do Apache. Inclui ambiente de laboratório com Docker, passo a passo no BurpSuite e bypass dos controles de acesso do proxy para alcançar endpoints administrativos internos. | Kitploit
Ferramentas/GitHubGitHub/thanhlam-attt/cve-2023-25690
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebTestes de PenetraçãoAprendizado e Educação
GitHubthanhlam-attt/cve-2023-25690

CVE-2023-25690

Prova de conceito de exploit para CVE-2023-25690, Contrabando de Requisição HTTP no mod_proxy do Apache. Inclui ambiente de laboratório com Docker, passo a passo no BurpSuite e bypass dos controles de acesso do proxy para alcançar endpoints administrativos internos.

Ver Repositório
416há 2 anosAinda não revisado

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

CVE-2023-25690

Descrição da CVE-2023-25690:

  • Algumas configurações do mod_proxy no Apache HTTP Server, das versões 2.4.0 a 2.4.55, permitem ataques de HTTP Request Smuggling (técnica de ataque que interfere no processo pelo qual o site lida com sequências de requisições HTTP recebidas de um ou mais usuários).
  • Essas configurações são afetadas quando o mod_proxy está habilitado em conjunto com alguns tipos de RewriteRule ou ProxyPassMatch, em que um atacante remoto pode explorar essa vulnerabilidade para contornar os controles de acesso no servidor proxy, encaminhando assim URLs indesejadas para o servidor de origem.
  • Essa vulnerabilidade permite que um atacante tenha como alvo e acesse aplicações internas ocultas pelo proxy, potencialmente levando a acesso não autorizado, vazamento de dados ou exploração mais profunda do sistema.

Experimentação da CVE-2023-25690

  • Usar uma máquina Windows como máquina atacante.
  • As partes backend-server e proxy-server são implantadas via Docker na máquina Kali Linux.

Estrutura dos arquivos do lab:

image

Modelo de experimentação

image

  • Endereço IP da máquina Windows 10: 192.168.1.177
  • Endereço IP da máquina Kali Linux: 192.168.27.139
  • Endereço IP do Backend-Server: 172.18.0.2
  • Endereço IP do Proxy-Server: 172.18.0.3
  • Quando a máquina Windows 10 acessa o Apache HTTP Server hospedado na máquina Kali na porta 80, o tráfego é encaminhado para a porta 80 no Proxy-Server e depois para o Backend-Server por meio da porta 8080.

Requisitos de sistema

  • Máquina atacante:
    • Sistema operacional Windows 10
    • Instalar as ferramentas: PyCharm, BurpSuite, VSCode
    • Usar o navegador Firefox e instalar a extensão FoxyProxy para configurar o proxy
  • Máquina vítima:
    • Instalar as ferramentas e serviços: Docker, tcpdump
    • Configurar o Dockerfile (ver a seção de apêndice)

Objetivo da exploração: aproveitar a vulnerabilidade de HTTP Request Smuggling para contornar as restrições do servidor proxy e acessar a função oculta na página admin.php

Execução do experimento:

  • Usar o BurpSuite Community configurado como proxy para interceptar e modificar as requisições.
  • No navegador, baixar a extensão FoxyProxy e adicionar as informações do proxy: image
  • Ativar o FoxyProxy na barra de ferramentas (na seção de extensões do navegador), mudando de Turn Off para BurpSuite Commu: image
  • No BurpSuite, ativar o intercept para capturar os pacotes: image
  • Na máquina Kali, usar o comando cd para entrar no diretório do lab onde está o arquivo docker-composer.yml e executar o docker compose com o comando: docker-composer up --build

Verificação de Injeção de CRLF:

  • Primeiro, enviamos uma requisição contendo caracteres de controle (CRLF) ao sistema, da seguinte forma: HTTP/1.1\r\nFoo: baarr\r\r\n\n e codificamos a URL como: %20HTTP/1.1%0d%0aFoo:%20baarr
    image => Pode-se observar que, ao inserir os caracteres CRLF (%0d%0a), o servidor processa a requisição sem retornar nenhum erro ou restrição, mostrando que podemos inserir livremente caracteres CRLF.

Verificação de HTTP Request Smuggling:

  • Em seguida, temos uma URI como a seguinte: /categories/1 HTTP/1.1\r\nHost: Localhost\r\n\r\nGET /SMUGGLED, e continuando a codificar a URL, obtemos: /categories/1%20HTTP/1.1%0d%0aHost:%20localhost%0d%0a%0d%0aGET%20/SMUGGLED/
    image
  • Após aplicar a RewriteRule, pode-se ver que a URL será analisada e a requisição enviada, depois de passar pelo proxy, será transformada no seguinte formato: image
  • Pode-se observar que, com uma única requisição enviada, o servidor recebe e retorna até 2 respostas: uma do GET /categories e outra do GET /SMUGGLED. image

Exploração de HTTP Request Smuggling:

  • Suponha que no arquivo httpd.conf configuramos o Proxy-Server para bloquear o acesso à página /admin/. image
  • Podemos aproveitar o HTTP Request Smuggling para contornar o mecanismo de verificação do apache-proxy com a requisição: image
    • Verificando o log, percebemos que conseguimos contornar o apache-proxy, enviar a requisição para /admin com sucesso, e o backend também retornou o status code 200 para o GET /admin. image
    • Suponha que no arquivo admin.php exista uma função que executa o comando de sistema nslookup para consultar um domínio qualquer, como a seguir. Nosso objetivo é contornar o mecanismo do proxy e acessar essa função oculta enviando uma consulta DNS para um domínio qualquer; aqui, consultamos a própria máquina Kali. image
    • Temos o código de exploração (arquivo CVE-2023-25690.py) e o arquivo pre.txt (contendo a requisição contrabandeada que queremos fazer passar pelo Proxy-Server para enviar a requisição ao sistema, aqui /admin.php). Esse código criará uma requisição smuggling com a requisição desejada contida no pre.txt e a enviará ao servidor. Ao mesmo tempo, grava o resultado da requisição e da resposta em dois arquivos correspondentes, req.txt e res.txt. image
    • Ao mesmo tempo, na máquina Kali, usar o tcpdump para capturar pacotes DNS na porta 53. image
  • Pode-se observar que a requisição enviada conseguiu passar pelo proxy; o proxy a considera uma requisição válida. Porém, no backend-server, a requisição é analisada incluindo os caracteres de controle; assim, a partir de uma única requisição, o backend-server a dividiu em 3 requisições: a primeira é GET /categories.php?id=1, a segunda é GET /admin.php?secret=192.168.1.194 e a última é GET /abc. image
  • Assim, enviamos com sucesso uma requisição para /admin.php, um local para o qual o proxy não nos permitia enviar requisições. image => Verificando o tcpdump, vemos que ele capturou os pacotes DNS enviados -> execução bem-sucedida da função oculta em /admin.php.
Baixar ferramenta