mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-21 02:23:30 +00:00
230 lines
12 KiB
Markdown
230 lines
12 KiB
Markdown
# Moodle
|
|
|
|
<details>
|
|
|
|
<summary><strong>Lernen Sie AWS-Hacking von Null auf Held mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Andere Möglichkeiten, HackTricks zu unterstützen:
|
|
|
|
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
|
|
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
|
|
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories senden.
|
|
|
|
</details>
|
|
|
|
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
|
|
|
|
Wenn Sie sich für eine **Hacking-Karriere** interessieren und das Unhackbare hacken möchten - **wir stellen ein!** (_fließendes Polnisch in Wort und Schrift erforderlich_).
|
|
|
|
{% embed url="https://www.stmcyber.com/careers" %}
|
|
|
|
## Automatische Scans
|
|
|
|
### 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
|
|
|
|
`moodlescan` is a tool used for scanning and enumerating Moodle instances. It helps in identifying vulnerabilities and misconfigurations in Moodle installations.
|
|
|
|
#### Installation
|
|
|
|
To install `moodlescan`, you can use the following command:
|
|
|
|
```bash
|
|
pip install moodlescan
|
|
```
|
|
|
|
#### Usage
|
|
|
|
To use `moodlescan`, you need to provide the target Moodle URL. You can use the following command:
|
|
|
|
```bash
|
|
moodlescan -u <target_url>
|
|
```
|
|
|
|
#### Features
|
|
|
|
`moodlescan` provides the following features:
|
|
|
|
- **Version Detection**: It can detect the version of Moodle running on the target.
|
|
- **Plugin Enumeration**: It can enumerate the installed plugins in Moodle.
|
|
- **User Enumeration**: It can enumerate the users in Moodle.
|
|
- **Course Enumeration**: It can enumerate the courses in Moodle.
|
|
- **Vulnerability Scanning**: It can scan for known vulnerabilities in Moodle.
|
|
- **Password Cracking**: It can perform password cracking against Moodle users.
|
|
|
|
#### Example
|
|
|
|
Here is an example command to scan a Moodle instance:
|
|
|
|
```bash
|
|
moodlescan -u https://example.com/moodle
|
|
```
|
|
|
|
This will perform a scan on the specified Moodle instance and provide information about the version, installed plugins, users, courses, vulnerabilities, and perform password cracking if possible.
|
|
|
|
#### Conclusion
|
|
|
|
`moodlescan` is a useful tool for scanning and enumerating Moodle instances. It can help in identifying vulnerabilities and misconfigurations, allowing for better security assessment and penetration testing of Moodle installations.
|
|
```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 ist ein Open-Source-Tool, das für die Erkennung von Content-Management-Systemen (CMS) auf einer Zielwebsite verwendet wird. Es kann helfen, Informationen über das verwendete CMS, die installierten Plugins und Themes sowie mögliche Sicherheitslücken zu sammeln.
|
|
|
|
#### Installation
|
|
|
|
Die Installation von CMSMap ist einfach. Sie können es entweder von GitHub herunterladen oder über den Python Package Manager (pip) installieren:
|
|
|
|
```bash
|
|
pip install cmsmap
|
|
```
|
|
|
|
#### Verwendung
|
|
|
|
Nach der Installation können Sie CMSMap verwenden, um eine Website auf CMS und verwandte Informationen zu scannen. Hier ist ein Beispielbefehl:
|
|
|
|
```bash
|
|
cmsmap http://example.com
|
|
```
|
|
|
|
Dieser Befehl scannt die Website "http://example.com" auf CMS und gibt die Ergebnisse aus.
|
|
|
|
#### Funktionen
|
|
|
|
CMSMap bietet verschiedene Funktionen, darunter:
|
|
|
|
- Erkennung des verwendeten CMS
|
|
- Erkennung von installierten Plugins und Themes
|
|
- Überprüfung auf bekannte Sicherheitslücken
|
|
- Bruteforce-Login für CMS-Administrationsbereiche
|
|
- Generierung von Berichten über die gescannten Informationen
|
|
|
|
#### Fazit
|
|
|
|
CMSMap ist ein nützliches Tool für Pentester und Sicherheitsforscher, um Informationen über CMS und mögliche Sicherheitslücken auf einer Zielwebsite zu sammeln. Es kann bei der Identifizierung von Schwachstellen und der Durchführung von Sicherheitsaudits helfen.
|
|
```bash
|
|
pip3 install git+https://github.com/dionach/CMSmap.git
|
|
cmsmap http://moodle.example.com/<moodle_path>
|
|
```
|
|
### CVEs
|
|
|
|
Ich habe festgestellt, dass automatische Tools ziemlich nutzlos sind, um Schwachstellen in der Moodle-Version zu finden. Du kannst sie unter [https://snyk.io/vuln/composer:moodle%2Fmoodle](https://snyk.io/vuln/composer:moodle%2Fmoodle) überprüfen.
|
|
|
|
## RCE
|
|
|
|
Du musst die Rolle des Managers haben und kannst Plugins innerhalb des Tabs "Site Administration" installieren:
|
|
|
|
![](<../../.gitbook/assets/image (447).png>)
|
|
|
|
Wenn du Manager bist, musst du diese Option möglicherweise noch aktivieren. Du kannst sehen, wie es im Moodle-Privileg-Eskalations-PoC gemacht wird: [https://github.com/HoangKien1020/CVE-2020-14321](https://github.com/HoangKien1020/CVE-2020-14321).
|
|
|
|
Dann kannst du das folgende Plugin installieren, das die klassische Pentest-Monkey PHP-Reverse-Shell enthält (bevor du es hochlädst, musst du es dekomprimieren, die IP und den Port der Reverse-Shell ändern und es wieder komprimieren):
|
|
|
|
{% file src="../../.gitbook/assets/moodle-rce-plugin.zip" %}
|
|
|
|
Oder du könntest das Plugin von [https://github.com/HoangKien1020/Moodle\_RCE](https://github.com/HoangKien1020/Moodle\_RCE) verwenden, um eine reguläre PHP-Shell mit dem Parameter "cmd" zu erhalten.
|
|
|
|
Um das bösartige Plugin zu starten, musst du auf Folgendes zugreifen:
|
|
```bash
|
|
http://domain.com/<moodle_path>/blocks/rce/lang/en/block_rce.php?cmd=id
|
|
```
|
|
### Datenbank-Anmeldeinformationen finden
|
|
|
|
Um die Datenbank-Anmeldeinformationen in Moodle zu finden, können Sie verschiedene Techniken verwenden:
|
|
|
|
1. **Manuelles Durchsuchen der Konfigurationsdateien**: Überprüfen Sie die Konfigurationsdateien von Moodle, um nach Anmeldeinformationen zu suchen. Die Datei `config.php` enthält normalerweise die Datenbankinformationen. Sie können diese Datei öffnen und nach den Parametern `dbuser` und `dbpass` suchen, um die Benutzername und das Passwort der Datenbank zu finden.
|
|
|
|
2. **Ausnutzen von Schwachstellen**: Überprüfen Sie, ob Moodle anfällig für bekannte Schwachstellen ist, die es ermöglichen, auf die Datenbank zuzugreifen. Einige Schwachstellen können es Ihnen ermöglichen, die Datenbankanmeldeinformationen direkt abzurufen.
|
|
|
|
3. **Ausnutzen von LFI (Local File Inclusion)**: Wenn Sie eine LFI-Schwachstelle in Moodle finden, können Sie versuchen, auf die Konfigurationsdateien zuzugreifen, um die Datenbankanmeldeinformationen zu finden. Durchsuchen Sie die Dateien nach den Parametern `dbuser` und `dbpass`.
|
|
|
|
4. **Ausnutzen von RFI (Remote File Inclusion)**: Wenn Sie eine RFI-Schwachstelle in Moodle finden, können Sie eine externe Datei einbinden, die die Datenbankanmeldeinformationen enthält. Überprüfen Sie, ob Sie eine Datei mit den Anmeldeinformationen finden können.
|
|
|
|
5. **Brute-Force-Angriff**: Wenn Sie keine Schwachstellen finden können, können Sie einen Brute-Force-Angriff auf die Anmeldeseite von Moodle durchführen. Verwenden Sie eine Liste häufig verwendeter Benutzernamen und Passwörter, um die Anmeldeinformationen zu erraten.
|
|
|
|
Es ist wichtig zu beachten, dass das unbefugte Zugreifen auf Datenbanken illegal ist, es sei denn, Sie haben die ausdrückliche Erlaubnis des Eigentümers. Führen Sie diese Techniken nur in einer legalen und autorisierten Umgebung durch.
|
|
```bash
|
|
find / -name "config.php" 2>/dev/null | grep "moodle/config.php"
|
|
```
|
|
### Zugangsdaten aus der Datenbank extrahieren
|
|
|
|
Um Zugangsdaten aus einer Datenbank zu extrahieren, können verschiedene Techniken verwendet werden. Hier sind einige gängige Methoden:
|
|
|
|
1. **SQL-Injection**: Durch Ausnutzen von Schwachstellen in der Webanwendung können Angreifer SQL-Befehle in die Datenbank einschleusen. Dies ermöglicht es ihnen, Zugriff auf die Datenbank zu erhalten und Zugangsdaten abzurufen.
|
|
|
|
2. **Passwort-Hashing**: Wenn die Zugangsdaten in der Datenbank gehasht sind, können Angreifer versuchen, die Hashes zu brechen und die ursprünglichen Passwörter wiederherzustellen. Dies kann durch den Einsatz von Brute-Force-Angriffen oder dem Vergleichen der Hashes mit vorab berechneten Rainbow-Tables erfolgen.
|
|
|
|
3. **Datenbank-Exploits**: Es gibt verschiedene Exploits, die speziell auf bestimmte Datenbanken abzielen. Diese Exploits können es Angreifern ermöglichen, Zugriff auf die Datenbank zu erhalten und Zugangsdaten abzurufen.
|
|
|
|
Es ist wichtig zu beachten, dass das Extrahieren von Zugangsdaten aus einer Datenbank illegal ist, es sei denn, es erfolgt im Rahmen einer autorisierten Penetrationstest. Es ist wichtig, die geltenden Gesetze und Vorschriften zu beachten und nur mit ausdrücklicher Genehmigung des Eigentümers auf Datenbanken zuzugreifen.
|
|
```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) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
|
|
|
|
Wenn Sie an einer **Hackerkarriere** interessiert sind und das Unhackbare hacken möchten - **wir stellen ein!** (_fließendes Polnisch in Wort und Schrift erforderlich_).
|
|
|
|
{% embed url="https://www.stmcyber.com/careers" %}
|
|
|
|
<details>
|
|
|
|
<summary><strong>Lernen Sie AWS-Hacking von Null auf Held mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Andere Möglichkeiten, HackTricks zu unterstützen:
|
|
|
|
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
|
|
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
|
|
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories senden.
|
|
|
|
</details>
|