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

154 lines
7.9 KiB
Markdown

<details>
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Inne sposoby wsparcia HackTricks:
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
</details>
# 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:
```bash
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:
```bash
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:
```bash
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:
```bash
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ń.
```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>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Inne sposoby wsparcia HackTricks:
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
</details>