3690 - Pentesting Subversion (svn server)

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

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

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:

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:

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:

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:

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:

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:

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:

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.

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
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated