mirror of
https://github.com/carlospolop/hacktricks
synced 2025-02-16 22:18:27 +00:00
122 lines
6.9 KiB
Markdown
122 lines
6.9 KiB
Markdown
<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>
|
|
|
|
Altri modi per supportare HackTricks:
|
|
|
|
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
|
|
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT**](https://opensea.io/collection/the-peass-family) esclusivi
|
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Condividi i tuoi trucchi di hacking inviando PR ai repository github di** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|
|
|
|
|
|
# Informazioni di base
|
|
|
|
**Subversion** è un **sistema di controllo versione** centralizzato che svolge un ruolo cruciale nella gestione dei dati presenti e storici dei progetti. Essendo uno strumento **open source**, opera sotto la **licenza Apache**. Questo sistema è ampiamente riconosciuto per le sue capacità di **versionamento del software e controllo delle revisioni**, garantendo che gli utenti possano tenere traccia delle modifiche nel tempo in modo efficiente.
|
|
|
|
**Porta predefinita:** 3690
|
|
```
|
|
PORT STATE SERVICE
|
|
3690/tcp open svnserve Subversion
|
|
```
|
|
## Banner Grabbing
|
|
|
|
Il Banner Grabbing è una tecnica utilizzata per ottenere informazioni sul servizio in esecuzione su un determinato host. Questa tecnica coinvolge l'invio di una richiesta al servizio e l'analisi della risposta ricevuta. Il banner del servizio può contenere informazioni utili come la versione del software, il sistema operativo utilizzato e altre informazioni di configurazione.
|
|
|
|
Il Banner Grabbing può essere eseguito utilizzando strumenti come Telnet o Netcat, che consentono di connettersi al servizio e visualizzare la risposta del banner. Queste informazioni possono essere utilizzate per identificare le vulnerabilità note del servizio e pianificare ulteriori attacchi.
|
|
|
|
È importante notare che il Banner Grabbing può essere considerato una tecnica invasiva e può essere considerato un tentativo di accesso non autorizzato. Pertanto, è fondamentale ottenere l'autorizzazione del proprietario del sistema prima di eseguire questa tecnica durante un test di penetrazione.
|
|
```
|
|
nc -vn 10.10.10.10 3690
|
|
```
|
|
## Enumerazione
|
|
|
|
### Scansione delle porte
|
|
|
|
Per iniziare l'enumerazione di un server Subversion (SVN), è possibile eseguire una scansione delle porte per identificare le porte aperte. È possibile utilizzare strumenti come Nmap per eseguire una scansione delle porte TCP e UDP. Ecco un esempio di comando per eseguire una scansione delle porte TCP:
|
|
|
|
```bash
|
|
nmap -p- <indirizzo_IP>
|
|
```
|
|
|
|
### Rilevamento del server SVN
|
|
|
|
Una volta identificate le porte aperte, è possibile utilizzare il comando `svn info` per rilevare la presenza di un server SVN su una determinata porta. Ecco un esempio di comando:
|
|
|
|
```bash
|
|
svn info svn://<indirizzo_IP>:<porta>
|
|
```
|
|
|
|
### Enumerazione dei repository SVN
|
|
|
|
Dopo aver rilevato il server SVN, è possibile enumerare i repository SVN disponibili utilizzando il comando `svn list`. Ecco un esempio di comando:
|
|
|
|
```bash
|
|
svn list svn://<indirizzo_IP>:<porta>/<repository>
|
|
```
|
|
|
|
### Enumerazione dei file e delle directory
|
|
|
|
Una volta identificato un repository SVN, è possibile enumerare i file e le directory al suo interno utilizzando il comando `svn ls`. Ecco un esempio di comando:
|
|
|
|
```bash
|
|
svn ls svn://<indirizzo_IP>:<porta>/<repository>/<directory>
|
|
```
|
|
|
|
### Enumerazione delle revisioni
|
|
|
|
È possibile enumerare le revisioni di un repository SVN utilizzando il comando `svn log`. Ecco un esempio di comando:
|
|
|
|
```bash
|
|
svn log svn://<indirizzo_IP>:<porta>/<repository>
|
|
```
|
|
|
|
### Enumerazione delle proprietà
|
|
|
|
Infine, è possibile enumerare le proprietà di un file o di una directory utilizzando il comando `svn proplist`. Ecco un esempio di comando:
|
|
|
|
```bash
|
|
svn proplist svn://<indirizzo_IP>:<porta>/<repository>/<file_o_directory>
|
|
```
|
|
|
|
## Fingerprinting del server SVN
|
|
|
|
Durante l'enumerazione, è possibile raccogliere informazioni sul server SVN utilizzando il comando `svn info`. Questo comando restituirà informazioni come la versione del server SVN, il sistema operativo in uso e altre informazioni utili per il fingerprinting del server. Ecco un esempio di comando:
|
|
|
|
```bash
|
|
svn info svn://<indirizzo_IP>:<porta>
|
|
```
|
|
|
|
## Ricerca di vulnerabilità
|
|
|
|
Una volta completata l'enumerazione, è possibile cercare vulnerabilità note nel server SVN utilizzando strumenti come Metasploit o manualmente. Alcune vulnerabilità comuni includono:
|
|
|
|
- CVE-2017-9800: Vulnerabilità di Apache Struts 2 che consente l'esecuzione remota di codice.
|
|
- CVE-2015-5347: Vulnerabilità di Apache Subversion che consente l'esecuzione remota di codice.
|
|
- CVE-2014-0032: Vulnerabilità di Apache Subversion che consente l'esecuzione remota di codice.
|
|
|
|
## Conclusioni
|
|
|
|
L'enumerazione è una fase critica nel processo di pentesting di un server SVN. Attraverso la scansione delle porte, il rilevamento del server SVN, l'enumerazione dei repository, dei file e delle directory, delle revisioni e delle proprietà, è possibile ottenere informazioni preziose per identificare vulnerabilità e punti deboli nel server SVN.
|
|
```bash
|
|
svn ls svn://10.10.10.203 #list
|
|
svn log svn://10.10.10.203 #Commit history
|
|
svn checkout svn://10.10.10.203 #Download the repository
|
|
svn up -r 2 #Go to revision 2 inside the checkout folder
|
|
```
|
|
<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>
|
|
|
|
Altri modi per supportare HackTricks:
|
|
|
|
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
|
|
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
|
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Condividi i tuoi trucchi di hacking inviando PR ai repository github di** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|