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

169 lines
13 KiB
Markdown
Raw Normal View History

2022-05-24 00:07:19 +00:00
# Moodle
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
* **サイバーセキュリティ会社**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
2023-07-07 23:42:27 +00:00
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
2022-04-28 16:01:33 +00:00
</details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
2022-05-24 00:07:19 +00:00
もし **ハッキングのキャリア**に興味があり、**解読不能なものをハック**したい場合 - **採用中です!**_流暢なポーランド語の読み書きが必要です_
2022-05-24 00:07:19 +00:00
{% embed url="https://www.stmcyber.com/careers" %}
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
## 自動スキャン
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>/
2023-07-07 23:42:27 +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):
2023-07-07 23:42:27 +00:00
3.10.0-beta
[+] Possible interesting urls found:
2023-07-07 23:42:27 +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)
```
`moodlescan` is a command-line tool used for scanning and pentesting Moodle installations. It is designed to identify vulnerabilities and security weaknesses in Moodle websites. The tool performs various tests and checks, including:
- **Version Detection**: moodlescan can detect the version of Moodle being used, which is helpful in identifying known vulnerabilities associated with specific versions.
- **Plugin Enumeration**: The tool can enumerate the installed plugins in a Moodle site, providing information about their versions and potential vulnerabilities.
- **User Enumeration**: moodlescan can enumerate users in a Moodle site, helping to identify potential targets for further exploitation.
- **Weak Password Detection**: The tool can check for weak passwords among the user accounts in a Moodle installation.
- **Directory Traversal**: moodlescan can perform directory traversal attacks to identify sensitive files and directories that may be accessible to unauthorized users.
- **File Inclusion**: The tool can test for file inclusion vulnerabilities in Moodle, which can allow an attacker to execute arbitrary code on the server.
- **SQL Injection**: moodlescan can detect SQL injection vulnerabilities in Moodle, which can lead to unauthorized access to the database and sensitive information leakage.
moodlescan is a powerful tool for assessing the security of Moodle installations and can help identify potential vulnerabilities that could be exploited by attackers. It is important to use this tool responsibly and with proper authorization.
```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
2023-07-07 23:42:27 +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
CMSMapは、ウェブアプリケーションのペネトレーションテストに使用されるツールです。このツールは、MoodleなどのCMSコンテンツ管理システムの脆弱性を特定するために使用されます。
CMSMapは、ウェブサイトのバージョン、インストールされているプラグイン、テーマ、およびその他の重要な情報を特定するために使用されます。これにより、攻撃者は脆弱性を悪用するための情報を収集することができます。
2023-07-07 23:42:27 +00:00
CMSMapは、コマンドラインベースのツールであり、Pythonで書かれています。このツールは、ウェブサイトのURLを指定し、自動的に情報を収集します。また、プラグインやテーマの脆弱性をテストするためのモジュールも提供しています。
2023-07-07 23:42:27 +00:00
CMSMapは、ウェブアプリケーションのセキュリティ評価において非常に役立つツールです。ウェブサイトの脆弱性を特定し、それらを修正することで、攻撃者からの攻撃を防ぐことができます。
```bash
pip3 install git+https://github.com/dionach/CMSmap.git
cmsmap http://moodle.example.com/<moodle_path>
```
2022-05-24 00:07:19 +00:00
### CVEs
2023-07-07 23:42:27 +00:00
自動ツールは、Moodleのバージョンに影響を与える脆弱性を見つけるのにはほとんど役に立たないことがわかりました。これらの脆弱性は、[https://snyk.io/vuln/composer:moodle%2Fmoodle](https://snyk.io/vuln/composer:moodle%2Fmoodle)で確認できます。
2023-07-07 23:42:27 +00:00
## RCE
「マネージャー」の役割を持っている必要があり、「サイト管理」タブ内でプラグインをインストールできます。
![](<../../.gitbook/assets/image (447).png>)
マネージャーであっても、このオプションを有効にする必要がある場合があります。Moodle特権エスカレーションPoCで確認できます[https://github.com/HoangKien1020/CVE-2020-14321](https://github.com/HoangKien1020/CVE-2020-14321)。
次に、次のプラグインをインストールできます。このプラグインには、クラシックなpentest-monkey php逆シェルが含まれていますアップロードする前に解凍し、revshellのIPとポートを変更し、再度圧縮する必要があります
{% file src="../../.gitbook/assets/moodle-rce-plugin.zip" %}
2023-07-07 23:42:27 +00:00
または、「cmd」パラメータを使用して通常のPHPシェルを取得するために、[https://github.com/HoangKien1020/Moodle\_RCE](https://github.com/HoangKien1020/Moodle\_RCE)からプラグインを使用することもできます。
2023-07-07 23:42:27 +00:00
悪意のあるプラグインにアクセスするには、次の場所にアクセスする必要があります:
```bash
http://domain.com/<moodle_path>/blocks/rce/lang/en/block_rce.php?cmd=id
```
2022-05-24 00:07:19 +00:00
## POST
2023-07-07 23:42:27 +00:00
### データベースの資格情報を見つける
データベースの資格情報を見つけるために、以下の手順を実行します。
1. ブラウザの開発者ツールを開きます。
2. ログインフォームに適当なユーザー名とパスワードを入力します。
3. フォームを送信するときに、ネットワークタブを開きます。
4. ネットワークタブで、POSTリクエストを見つけます。
5. POSTリクエストのヘッダーとボディを確認し、データベースの資格情報を探します。
6. 資格情報が見つかった場合は、ユーザー名とパスワードをメモします。
この方法を使用すると、ログインフォームを介してデータベースの資格情報を見つけることができます。
```bash
find / -name "config.php" 2>/dev/null | grep "moodle/config.php"
```
2023-07-07 23:42:27 +00:00
### データベースから資格情報をダンプする
To dump credentials from a database, you can use various techniques depending on the type of database and the access you have. Here are some common methods:
2023-07-07 23:42:27 +00:00
1. **SQL Injection**: If the 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, passwords, and other sensitive information.
2023-07-07 23:42:27 +00:00
2. **Brute-forcing**: If you have access to the database server, you can attempt to brute-force the login credentials. This involves trying different combinations of usernames and passwords until you find the correct ones.
2023-07-07 23:42:27 +00:00
3. **Exploiting Misconfigurations**: Sometimes, databases are misconfigured and allow unauthorized access. By identifying and exploiting these misconfigurations, you can gain access to the database and extract credentials.
2023-07-07 23:42:27 +00:00
4. **Dumping Hashes**: If you have read access to the database, you can dump the password hashes stored in the database. These hashes can then be cracked using various techniques, such as rainbow tables or brute-forcing, to obtain the actual passwords.
2023-07-07 23:42:27 +00:00
Remember, it is important to have proper authorization and legal permission before attempting to dump credentials from a database. Unauthorized access is illegal and unethical. Always ensure you are conducting penetration testing or security assessments within the boundaries of the law and with proper authorization.
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).png" alt="" data-size="original">
2022-04-28 16:01:33 +00:00
もしあなたが**ハッキングのキャリア**に興味があり、**解読不能なものをハック**したいのであれば - **私たちは採用しています!** (_流暢なポーランド語の読み書きが必要です_).
2022-05-24 00:07:19 +00:00
{% embed url="https://www.stmcyber.com/careers" %}
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
* あなたは**サイバーセキュリティ企業**で働いていますか? HackTricksであなたの**会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション
* [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **ハッキングのトリックを共有するために、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
2022-04-28 16:01:33 +00:00
</details>