14 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 NFT
- 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 repo hacktricks et au repo hacktricks-cloud.
Si vous êtes intéressé par une carrière en piratage et souhaitez pirater l'impossible - nous recrutons ! (maîtrise du polonais écrit et parlé requise).
{% 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)
Le moodlescan
est un outil de balayage spécialement conçu pour détecter les vulnérabilités dans les installations Moodle. Il utilise des techniques de balayage automatisées pour identifier les failles de sécurité courantes telles que les injections SQL, les failles XSS et les problèmes de configuration. L'outil peut également être utilisé pour collecter des informations sur le site Moodle cible, telles que les versions des composants, les utilisateurs et les cours.
Utilisation
moodlescan [options] <url>
Options
-h, --help
: Affiche l'aide et quitte.-v, --version
: Affiche la version de l'outil.-u, --username <username>
: Spécifie le nom d'utilisateur à utiliser pour l'authentification.-p, --password <password>
: Spécifie le mot de passe à utiliser pour l'authentification.-c, --cookie <cookie>
: Spécifie le cookie à utiliser pour l'authentification.-o, --output <file>
: Spécifie le fichier de sortie pour enregistrer les résultats du balayage.-s, --scan <scan>
: Spécifie les types de vulnérabilités à rechercher. Les options disponibles sontsql
,xss
etconfig
. Par défaut, toutes les vulnérabilités sont recherchées.
Exemples
- Balayer un site Moodle sans authentification :
moodlescan https://example.com
- Balayer un site Moodle en spécifiant un nom d'utilisateur et un mot de passe pour l'authentification :
moodlescan -u admin -p password123 https://example.com
- Balayer un site Moodle en spécifiant un cookie pour l'authentification :
moodlescan -c "session=abcdef123456" https://example.com
- Balayer un site Moodle en spécifiant le type de vulnérabilités à rechercher :
moodlescan -s sql,xss https://example.com
Remarques
- Assurez-vous d'avoir l'autorisation appropriée avant de balayer un site Moodle.
- L'outil peut générer un grand nombre de requêtes, ce qui peut entraîner un blocage IP ou une détection par les systèmes de détection d'intrusion. Utilisez-le avec précaution.
#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 de cartographie de CMS qui permet aux testeurs de pénétration de découvrir les informations relatives à un système de gestion de contenu (CMS) spécifique. Cet outil est très utile pour identifier les vulnérabilités potentielles et les points faibles d'un CMS donné.
Installation
Pour installer CMSMap, vous pouvez utiliser la commande suivante :
pip install cmsmap
Utilisation
Une fois installé, vous pouvez exécuter CMSMap en utilisant la commande suivante :
cmsmap -t <cible>
Remplacez <cible>
par l'URL de la cible que vous souhaitez analyser. CMSMap effectuera une analyse approfondie du CMS utilisé par la cible et affichera les informations pertinentes.
Fonctionnalités
CMSMap offre plusieurs fonctionnalités utiles pour les testeurs de pénétration, notamment :
- La détection du CMS utilisé par la cible
- La recherche de vulnérabilités connues dans le CMS
- La récupération des noms d'utilisateur et des mots de passe par défaut
- La recherche de plugins et de thèmes installés
- L'identification des versions du CMS et des composants utilisés
- L'exploration des répertoires et des fichiers sensibles
Conclusion
CMSMap est un outil puissant pour les testeurs de pénétration qui souhaitent évaluer la sécurité d'un CMS spécifique. En utilisant CMSMap, vous pouvez identifier les vulnérabilités potentielles et les points faibles d'un CMS, ce qui vous permet de prendre des mesures pour les corriger et renforcer la sécurité de votre système.
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 de 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 le faire dans la preuve de concept d'escalade de privilèges de Moodle: https://github.com/HoangKien1020/CVE-2020-14321.
Ensuite, vous pouvez installer le plugin suivant qui contient le shell PHP classique de pentest-monkey rev (avant de le télécharger, vous devez le décompresser, changer l'adresse IP et le port du revshell, puis 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
L'une des premières étapes lors de la recherche de vulnérabilités dans une application Moodle est de trouver les identifiants de la base de données. Ces informations peuvent être utilisées pour accéder directement à la base de données et extraire des données sensibles.
Pour trouver les identifiants de la base de données, vous pouvez utiliser différentes techniques de test d'injection SQL. L'une des méthodes couramment utilisées est l'injection SQL basée sur les erreurs. Cette technique consiste à envoyer des requêtes SQL malveillantes qui provoquent des erreurs dans l'application, révélant ainsi des informations sensibles telles que les identifiants de connexion à la base de données.
Voici un exemple de requête SQL malveillante qui peut être utilisée pour extraire les identifiants de la base de données :
' UNION SELECT NULL, CONCAT(username, 0x3a, password), NULL FROM mdl_user --
Cette requête utilise l'instruction UNION SELECT pour extraire les noms d'utilisateur et les mots de passe de la table mdl_user de la base de données Moodle. Les résultats de cette requête seront affichés dans les messages d'erreur de l'application, ce qui permettra de récupérer les identifiants de la base de données.
Il est important de noter que l'utilisation de ces techniques de test d'injection SQL doit être effectuée dans un environnement contrôlé et autorisé, tel qu'un environnement de test ou un engagement de pentest. L'accès non autorisé à des systèmes ou des données peut entraîner des conséquences légales graves.
find / -name "config.php" 2>/dev/null | grep "moodle/config.php"
Extraire les identifiants de la base de données
To dump credentials from a database, you can use various techniques depending on the type of database you are targeting. Here are some common methods:
-
SQL Injection: If the web application is vulnerable to SQL injection, you can exploit it to extract credentials from the database. By injecting malicious SQL queries, you can retrieve usernames and passwords stored in the database.
-
Brute-forcing: If you have obtained a database dump file, you can use brute-forcing techniques to crack hashed passwords. By trying different combinations of passwords and comparing the hashes, you may be able to recover plaintext passwords.
-
Exploiting Misconfigurations: Sometimes, databases are misconfigured and allow unauthorized access. By exploiting these misconfigurations, you can gain direct access to the database and extract credentials.
-
Using Database Exploitation Tools: There are several tools available that can help you extract credentials from databases. For example, tools like SQLMap, DBeaver, or Metasploit can be used to automate the process of dumping credentials.
Remember, it is important to have proper authorization and legal permission before attempting to extract credentials from a database. Unauthorized access to databases is illegal and unethical. Always ensure you are conducting penetration testing within the boundaries of the law and with the appropriate permissions.
/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 hacking et que vous souhaitez pirater l'impossible - 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 souhaitez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF ? Consultez les PLANS D'ABONNEMENT !
- Découvrez La famille PEASS, notre collection exclusive de NFT
- 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 repo hacktricks et au repo hacktricks-cloud.