10 KiB
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 !
- Découvrez The PEASS Family, notre collection exclusive de NFTs
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au dépôt hacktricks et au dépôt 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
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
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
#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 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.
pip3 install git+https://github.com/dionach/CMSmap.git
cmsmap http://moodle.example.com/<moodle_path>
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
RCE
Vous devez avoir le rôle de manager et vous pouvez installer des plugins dans l'onglet "Administration du site"**:**
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.
Ensuite, vous pouvez installer le plugin suivant qui contient le shell php rev 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 pour obtenir un shell PHP régulier avec le paramètre "cmd".
Pour accéder au lancement du plugin malveillant, vous devez accéder à:
http://domain.com/<moodle_path>/blocks/rce/lang/en/block_rce.php?cmd=id
POST
Trouver les identifiants de la base de données
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
-
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. -
Une fois que vous avez les informations de connexion, vous pouvez utiliser des outils tels que
mysql
ouphpMyAdmin
pour accéder à la base de données. -
Recherchez la table
mdl_user
qui contient les informations d'identification des utilisateurs. -
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.
/usr/local/bin/mysql -u <username> --password=<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 !
- Découvrez The PEASS Family, notre collection exclusive de NFTs
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au dépôt hacktricks et au dépôt hacktricks-cloud.