hacktricks/network-services-pentesting/3690-pentesting-subversion-svn-server.md
2024-02-11 01:46:25 +00:00

7.9 KiB

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Podstawowe informacje

Subversion to scentralizowany system kontroli wersji, który odgrywa kluczową rolę w zarządzaniu zarówno bieżącymi, jak i historycznymi danymi projektów. Jako narzędzie open source, działa na licencji Apache. Ten system jest szeroko uznawany za zdolny do wersjonowania oprogramowania i kontroli rewizji, zapewniając skuteczne śledzenie zmian w czasie.

Domyślny port: 3690

PORT     STATE SERVICE
3690/tcp open  svnserve Subversion

Pobieranie baneru

Banner grabbing to technika, która polega na pobieraniu informacji o serwerze Subversion (SVN) poprzez analizę baneru, który jest zwracany przez serwer w odpowiedzi na żądanie połączenia. Baner to zazwyczaj tekstowy komunikat, który zawiera informacje o wersji oprogramowania, numerze wersji, nazwie hosta itp.

Narzędzia do pobierania baneru

Istnieje wiele narzędzi, które można użyć do pobierania baneru serwera Subversion. Oto kilka z nich:

  • Telnet: Można użyć polecenia telnet w celu nawiązania połączenia z serwerem Subversion i pobrania baneru.
  • Netcat: Narzędzie netcat również umożliwia pobieranie baneru serwera Subversion.
  • Nmap: Nmap to popularne narzędzie do skanowania sieci, które może być używane do pobierania baneru serwera Subversion.

Przykład użycia narzędzia Telnet

Aby pobrać baner serwera Subversion za pomocą narzędzia Telnet, wykonaj następujące kroki:

  1. Otwórz terminal i wpisz polecenie telnet <adres_IP_serwera> <port>, gdzie <adres_IP_serwera> to adres IP serwera Subversion, a <port> to numer portu, na którym działa serwer (domyślnie 3690).
  2. Po nawiązaniu połączenia, serwer Subversion zwróci baner, który można odczytać.

Przykład użycia narzędzia Netcat

Aby pobrać baner serwera Subversion za pomocą narzędzia Netcat, wykonaj następujące kroki:

  1. Otwórz terminal i wpisz polecenie nc <adres_IP_serwera> <port>, gdzie <adres_IP_serwera> to adres IP serwera Subversion, a <port> to numer portu, na którym działa serwer (domyślnie 3690).
  2. Po nawiązaniu połączenia, serwer Subversion zwróci baner, który można odczytać.

Przykład użycia narzędzia Nmap

Aby pobrać baner serwera Subversion za pomocą narzędzia Nmap, wykonaj następujące kroki:

  1. Otwórz terminal i wpisz polecenie nmap -p <port> --script svn-info <adres_IP_serwera>, gdzie <adres_IP_serwera> to adres IP serwera Subversion, a <port> to numer portu, na którym działa serwer (domyślnie 3690).
  2. Nmap automatycznie wykona skrypt svn-info, który pobierze baner serwera Subversion i wyświetli go w wynikach skanowania.
nc -vn 10.10.10.10 3690

Wyliczanie

Wykrywanie serwera SVN

Aby rozpocząć test penetracyjny serwera SVN, musimy najpierw zidentyfikować, czy dany serwer jest hostem SVN. Możemy to zrobić za pomocą narzędzi takich jak Nmap lub Nikto.

Nmap

Możemy użyć Nmap do skanowania portów i sprawdzenia, czy serwer SVN jest dostępny na danym hoście. Możemy użyć następującego polecenia:

nmap -p 3690 <adres_IP_serwera>

Jeśli port 3690 jest otwarty, oznacza to, że serwer SVN jest dostępny na tym hoście.

Nikto

Nikto to narzędzie do skanowania stron internetowych, które może również pomóc w wykrywaniu serwera SVN. Możemy użyć następującego polecenia:

nikto -h <adres_IP_serwera> -p 3690

Jeśli Nikto znajdzie informacje o serwerze SVN, oznacza to, że serwer SVN jest dostępny na tym hoście.

Wykrywanie repozytoriów SVN

Po zidentyfikowaniu serwera SVN, możemy przejść do wykrywania repozytoriów SVN dostępnych na tym serwerze. Możemy to zrobić za pomocą narzędzi takich jak SVNenum.

SVNenum

SVNenum to narzędzie, które pozwala na wykrywanie repozytoriów SVN na serwerze. Możemy użyć następującego polecenia:

svnenum <adres_IP_serwera>

Narzędzie to przeszuka serwer SVN w poszukiwaniu dostępnych repozytoriów i wyświetli ich listę.

Wykrywanie informacji o repozytoriach SVN

Po zidentyfikowaniu repozytoriów SVN, możemy kontynuować wykrywanie informacji o tych repozytoriach. Możemy to zrobić za pomocą narzędzi takich jak SVNInfo.

SVNInfo

SVNInfo to narzędzie, które pozwala na wykrywanie informacji o repozytoriach SVN. Możemy użyć następującego polecenia:

svninfo <adres_IP_serwera>/<nazwa_repozytorium>

Narzędzie to zwróci informacje takie jak wersja SVN, autor ostatniej zmiany, data ostatniej zmiany i wiele innych.

Ataki

Atak na repozytorium SVN

Po zidentyfikowaniu repozytorium SVN, możemy przeprowadzić atak na to repozytorium. Istnieje wiele różnych ataków, które możemy wykorzystać, takich jak:

  • Atak wstrzyknięcia kodu
  • Atak na uwierzytelnianie
  • Atak na uprawnienia
  • Atak na przechowywanie haseł

Każdy z tych ataków ma na celu wykorzystanie podatności w repozytorium SVN w celu uzyskania nieautoryzowanego dostępu lub wykonania innych złośliwych działań.

Atak na klienta SVN

Oprócz ataków na repozytorium SVN, możemy również przeprowadzić atak na klienta SVN. Istnieje wiele różnych ataków, które możemy wykorzystać, takich jak:

  • Atak na uwierzytelnianie
  • Atak na przechowywanie haseł
  • Atak na przechwytywanie sesji

Każdy z tych ataków ma na celu wykorzystanie podatności w klientach SVN w celu uzyskania nieautoryzowanego dostępu lub wykonania innych złośliwych działań.

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
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks: