hacktricks/network-services-pentesting/pentesting-web/moodle.md

210 lines
10 KiB
Markdown
Raw Normal View History

2022-05-24 00:07:19 +00:00
# Moodle
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 02:07:06 +00:00
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2023-12-31 01:24:39 +00:00
2024-02-11 02:07:06 +00:00
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
2022-04-28 16:01:33 +00:00
</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">
2022-05-24 00:07:19 +00:00
2024-02-11 02:07:06 +00:00
As jy belangstel in 'n **hacking-loopbaan** en die onhackbare wil hack - **ons is aan die werf!** (_vloeiende skriftelike en mondelinge Pools vereis_).
2022-05-24 00:07:19 +00:00
{% embed url="https://www.stmcyber.com/careers" %}
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
## Outomatiese Skanderings
2021-04-05 22:03:17 +00:00
2022-05-24 00:07:19 +00:00
### droopescan
```bash
pip3 install droopescan
droopescan scan moodle -u http://moodle.example.com/<moodle_path>/
2024-02-11 02:07:06 +00:00
[+] 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):
2024-02-11 02:07:06 +00:00
3.10.0-beta
[+] Possible interesting urls found:
2024-02-11 02:07:06 +00:00
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)
```
2022-05-24 00:07:19 +00:00
### moodlescan
2024-02-11 02:07:06 +00:00
`moodlescan` is a tool used for scanning and enumerating Moodle instances. It helps in identifying vulnerabilities and misconfigurations in Moodle installations.
#### Usage
```
moodlescan [OPTIONS] URL
```
#### Options
- `-u, --username`: Specify a username for authentication.
- `-p, --password`: Specify a password for authentication.
- `-t, --threads`: Specify the number of threads to use for scanning.
- `-o, --output`: Specify the output file to save the scan results.
- `-v, --verbose`: Enable verbose mode for detailed output.
#### Examples
1. Perform a basic scan on a Moodle instance:
```
moodlescan https://example.com/moodle
```
2. Perform a scan with authentication:
```
moodlescan -u admin -p password123 https://example.com/moodle
```
3. Perform a scan with custom options:
```
moodlescan -t 10 -o scan_results.txt https://example.com/moodle
```
#### Notes
- `moodlescan` uses various techniques to identify vulnerabilities, such as directory traversal, SQL injection, and cross-site scripting (XSS).
- It is important to obtain proper authorization before scanning any Moodle instance.
- The tool provides valuable information for penetration testers and security researchers to assess the security 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
2024-02-11 02:07:06 +00:00
.............................................................................................................
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.
```
2022-05-24 00:07:19 +00:00
### CMSMap
2024-02-11 02:07:06 +00:00
CMSMap is 'n gereedskap wat gebruik kan word vir die identifisering van die inhoudsbestuurstelsel (CMS) wat deur 'n webwerf gebruik word. Dit kan ook gebruik word om kwesbaarhede in die CMS te identifiseer en te ondersoek. Hier is 'n paar van die kenmerke van CMSMap:
- **Identifisering van CMS**: CMSMap kan gebruik word om die CMS wat deur 'n webwerf gebruik word, te identifiseer. Dit kan help om die spesifieke kenmerke en funksies van die CMS te bepaal.
- **Kwesbaarheidstoetsing**: Die gereedskap kan gebruik word om potensiële kwesbaarhede in die CMS te identifiseer. Dit kan help om die veiligheid van die webwerf te verbeter deur die identifisering van moontlike aanvalsvektore.
- **Plugin-identifikasie**: CMSMap kan ook gebruik word om die spesifieke plugins en uitbreidings wat deur die CMS gebruik word, te identifiseer. Dit kan nuttige inligting bied oor die funksionaliteit en moontlike kwesbaarhede van die webwerf.
- **Versameling van inligting**: Die gereedskap kan gebruik word om verskillende tipes inligting oor die webwerf te versamel, soos die versie van die CMS, die tema wat gebruik word, en die geïnstalleerde plugins. Hierdie inligting kan nuttig wees vir verdere ondersoek en pentesting.
CMSMap is 'n kragtige gereedskap wat deur pentesters en beveiligingskonsultante gebruik kan word om die veiligheid van webwerwe te ondersoek en te verbeter. Dit bied 'n nuttige manier om die CMS en die verwante kwesbaarhede te identifiseer, wat kan help om die risiko van aanvalle en datalekke te verminder.
```bash
pip3 install git+https://github.com/dionach/CMSmap.git
cmsmap http://moodle.example.com/<moodle_path>
```
2024-02-11 02:07:06 +00:00
### CVE's
2024-02-11 02:07:06 +00:00
Ek het gevind dat die outomatiese gereedskap baie nutteloos is om kwesbaarhede wat die moodle weergawe affekteer te vind. Jy kan dit nagaan by [https://snyk.io/vuln/composer:moodle%2Fmoodle](https://snyk.io/vuln/composer:moodle%2Fmoodle)
2024-02-11 02:07:06 +00:00
## RCE
2024-02-11 02:07:06 +00:00
Jy moet 'n bestuurderrol hê en jy kan plugins installeer binne die "Site administration" tabblad:
![](<../../.gitbook/assets/image (447).png>)
2024-02-11 02:07:06 +00:00
As jy 'n bestuurder is, mag jy dalk steeds hierdie opsie moet aktiveer. Jy kan sien hoe in die moodle privilege escalatie PoC: [https://github.com/HoangKien1020/CVE-2020-14321](https://github.com/HoangKien1020/CVE-2020-14321).
2024-02-11 02:07:06 +00:00
Dan kan jy die volgende plugin installeer wat die klassieke pentest-monkey php r**ev shell bevat (voordat jy dit oplaai, moet jy dit dekomprimeer, die IP en poort van die revshell verander en dit weer saamdruk)
{% file src="../../.gitbook/assets/moodle-rce-plugin.zip" %}
2024-02-11 02:07:06 +00:00
Of jy kan die plugin van [https://github.com/HoangKien1020/Moodle\_RCE](https://github.com/HoangKien1020/Moodle\_RCE) gebruik om 'n gewone PHP shell met die "cmd" parameter te kry.
2024-02-11 02:07:06 +00:00
Om toegang te verkry tot die kwaadwillige plugin, moet jy toegang verkry tot:
```bash
http://domain.com/<moodle_path>/blocks/rce/lang/en/block_rce.php?cmd=id
```
2022-05-24 00:07:19 +00:00
## POST
2024-02-11 02:07:06 +00:00
### Vind databasisgeloofsbriewe
Om databasisgeloofsbriewe in Moodle te vind, kan jy die volgende stappe volg:
1. Identifiseer die POST-aanvrae wat deur die Moodle-toepassing gestuur word.
2. Analiseer die POST-aanvrae om te kyk of enige databasisgeloofsbriewe ingesluit is.
3. As jy databasisgeloofsbriewe in die POST-aanvrae vind, ontleed die inligting om die databasisbediener, gebruikersnaam en wagwoord te identifiseer.
2024-02-11 02:07:06 +00:00
Dit kan gedoen word deur die volgende metodes te gebruik:
- Inspekteer die netwerkverkeer met behulp van 'Burp Suite' of 'Wireshark' om die POST-aanvrae te onderskep.
- Analiseer die inhoud van die POST-aanvrae om enige databasisgeloofsbriewe te identifiseer.
- As die databasisgeloofsbriewe in die aanvrae versleutel is, probeer om die versleuteling te ontsyfer om die oorspronklike inligting te verkry.
Dit is belangrik om te onthou dat die soek na databasisgeloofsbriewe sonder toestemming en wettige regte onwettig is. Slegs voer hierdie stappe uit as jy die nodige toestemming het om die Moodle-toepassing te toets.
```bash
find / -name "config.php" 2>/dev/null | grep "moodle/config.php"
```
2024-02-11 02:07:06 +00:00
### Stort Geldeenhede uit databasis
2024-02-11 02:07:06 +00:00
Om geldeenhede uit 'n databasis te stort, kan jy die volgende stappe volg:
2021-04-05 22:03:17 +00:00
2024-02-11 02:07:06 +00:00
1. Identifiseer die databasis wat gebruik word deur die toepassing.
2. Verkry toegang tot die databasis deur gebruik te maak van SQL-injeksie, 'n onveilige konfigurasie of 'n ander aanvalstegniek.
3. Identifiseer die tabel wat die geldeenhede bevat.
4. Voer 'n SQL-aanvraag uit om die geldeenhede uit die tabel te stort.
5. Stoor die gestorte geldeenhede in 'n lêer of 'n ander vorm van datastoorplek.
Dit is belangrik om te onthou dat die stort van geldeenhede uit 'n databasis onwettig is sonder die toestemming van die eienaar van die databasis. Hierdie tegniek word slegs beskryf vir doeleindes van pentesting en om bewus te wees van moontlike beveiligingslekke.
2021-04-05 22:03:17 +00:00
```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">
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
As jy belangstel in 'n **hacker loopbaan** en die onhackbare wil hack - **ons is aan die werf!** (_vlot Pools skriftelik en mondeling vereis_).
2022-05-24 00:07:19 +00:00
{% embed url="https://www.stmcyber.com/careers" %}
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 02:07:06 +00:00
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2023-12-31 01:24:39 +00:00
2024-02-11 02:07:06 +00:00
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-repos.
2022-04-28 16:01:33 +00:00
</details>