(CVE-2023-4220) Chamilo LMS Execução Remota de Código via Upload de Arquivo Grande não Autenticado
Visão Geral
Este repositório contém um exploit de prova de conceito (PoC) para a vulnerabilidade identificada como CVE-2023-4220 no Chamilo LMS. Este exploit aproveita uma vulnerabilidade de upload de arquivo não autenticado, permitindo que atacantes remotos executem código arbitrário no sistema afetado.
Aviso: Este código é apenas para fins educacionais e de pesquisa. O autor não é responsável por qualquer uso indevido deste código.
Detalhes
CVE ID: CVE-2023-4220
Software Afetado: Chamilo LMS
Tipo de Vulnerabilidade: Execução Remota de Código não Autenticada (RCE)
Gravidade: Crítica
Autor: Mohamed Kamel BOUZEKRIA
Testado em: Chamilo 1.11.24 (Codename: Beersel, Data de Lançamento: 31/08/2023)
As versões do Chamilo LMS anteriores a este lançamento são vulneráveis a este problema. A vulnerabilidade decorre da validação e manipulação inadequadas de uploads de arquivos, permitindo que atacantes façam upload e executem arquivos maliciosos no servidor.
Explicação:
Manipulação da URL de Destino: O script agora lida corretamente com a URL base de destino e constrói o caminho completo para o endpoint de upload e o arquivo shell.
Design Modular: O script é dividido em duas funções principais, upload_shell() e execute_command(), facilitando o acompanhamento e a manutenção.
Entrada do Usuário: Os usuários podem especificar o nome do arquivo shell a ser enviado com o argumento --shell. O padrão é rce.php.
Descrição do Exploit
Este exploit tem como alvo a funcionalidade de upload de arquivos no Chamilo LMS. Ao criar um arquivo malicioso contendo código PHP e enviá-lo através de um endpoint não autenticado, um atacante pode executar comandos arbitrários no servidor.
Fluxo de Trabalho do Exploit:
Passo 1: Enviar um web shell PHP através do mecanismo vulnerável de upload de arquivos.
Passo 2: Acessar o arquivo enviado através da web e executar comandos arbitrários passando-os como parâmetros.
Pré-requisitos
Python 3.x instalado no seu sistema.
Biblioteca Requests: Instale via pip install requests.
Uso
Passo 1: Clone o Repositório
root@kitploit:~
git clone https://github.com/0x00-null/Chamilo-CVE-2023-4220-RCE-Exploit.git
cd Chamilo-CVE-2023-4220-RCE-Exploit
Passo 2: Execute o Exploit
Execute o exploit passando a URL de destino e o comando que deseja executar como argumentos:
root@kitploit:~
python exploit.py <target_url> <command>
Exemplo:
root@kitploit:~
python3 exploit.py http://lms.target-site/ id --shell=my_shell.php
Este comando irá:
Enviar um web shell PHP para a target_url especificada.
Executar o comando id no servidor remoto através do shell enviado.
Para quaisquer dúvidas ou problemas, por favor abra uma issue neste repositório ou entre em contato comigo em [medkamelbouzekria - at - gmail -dot - com].