# 554,8554 - Testowanie penetracyjne RTSP
Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)! Inne sposoby wsparcia HackTricks: * Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLANY SUBSKRYPCYJNE**](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 hakowania, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) na githubie.
## Podstawowe informacje Z [wikipedia](https://en.wikipedia.org/wiki/Real\_Time\_Streaming\_Protocol): > **Protokół transmisji strumieniowej w czasie rzeczywistym** (**RTSP**) to protokół sterowania sieciowego zaprojektowany do użytku w systemach rozrywkowych i komunikacyjnych do sterowania serwerami strumieniowymi. Protokół jest używany do ustanawiania i kontrolowania sesji multimedialnych między punktami końcowymi. Klienci serwerów multimedialnych wydają polecenia w stylu VHS, takie jak odtwarzanie, nagrywanie i pauza, aby ułatwić kontrolę w czasie rzeczywistym nad strumieniem multimedialnym z serwera do klienta (wideo na żądanie) lub od klienta do serwera (nagrywanie głosu). > > Same przesyłanie danych strumieniowych nie jest zadaniem RTSP. Większość serwerów RTSP używa Protokołu Transportu w Czasie Rzeczywistym (RTP) w połączeniu z Protokołem Kontroli w Czasie Rzeczywistym (RTCP) do dostarczania strumieni multimedialnych. Jednak niektórzy dostawcy implementują własne protokoły transportowe. Na przykład oprogramowanie serwera RTSP od RealNetworks używało również własnego własnego protokołu transportu danych (RDT). **Domyślne porty:** 554,8554 ``` PORT STATE SERVICE 554/tcp open rtsp ``` ## Kluczowe szczegóły **RTSP** jest podobny do HTTP, ale zaprojektowany specjalnie do strumieniowania mediów. Jest zdefiniowany w prostym specyfikacji, którą można znaleźć tutaj: [RTSP – RFC2326](https://tools.ietf.org/html/rfc2326) Urządzenia mogą zezwalać na dostęp **nieuwierzytelniony** lub **uwierzytelniony**. Aby to sprawdzić, wysyłany jest żądanie "DESCRIBE". Poniżej przedstawiono podstawowy przykład: `DESCRIBE rtsp://: RTSP/1.0\r\nCSeq: 2\r` Pamiętaj, że poprawne formatowanie obejmuje podwójne "\r\n" dla spójnej odpowiedzi. Odpowiedź "200 OK" oznacza **dostęp nieuwierzytelniony**, podczas gdy "401 Unauthorized" sygnalizuje konieczność uwierzytelnienia, ujawniając, czy wymagane jest uwierzytelnienie **Basic** lub **Digest**. Dla uwierzytelnienia **Basic**, kodujesz nazwę użytkownika i hasło w base64 i dołączasz je do żądania w ten sposób: `DESCRIBE rtsp://: RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==\r` Ten przykład używa "admin" i "1234" jako poświadczeń. Oto **skrypt Pythona** do wysłania takiego żądania: ```python import socket req = "DESCRIBE rtsp://: RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==\r\n\r\n" s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(("192.168.1.1", 554)) s.sendall(req) data = s.recv(1024) print(data) ``` **Podstawowa autoryzacja** jest prostsza i preferowana. **Autoryzacja digest** wymaga ostrożnego obchodzenia się z danymi uwierzytelniającymi podanymi w odpowiedzi "401 Unauthorized". To przegląd upraszcza proces dostępu do strumieni RTSP, skupiając się na **podstawowej autoryzacji** ze względu na jej prostotę i praktyczność podczas pierwszych prób. ## Wyliczanie Pobierzmy informacje na temat obsługiwanych metod i adresów URL oraz spróbujmy siłowo uzyskać dostęp (jeśli konieczne) do treści. ```bash nmap -sV --script "rtsp-*" -p ``` ### [Atak Brute Force](../generic-methodologies-and-resources/brute-force.md#rtsp) ### **Inne przydatne programy** Do ataku brute force: [https://github.com/Tek-Security-Group/rtsp\_authgrinder](https://github.com/Tek-Security-Group/rtsp\_authgrinder) [**Cameradar**](https://github.com/Ullaakut/cameradar) * Wykrywa otwarte hosty RTSP na dowolnym dostępnym celu * Pobiera ich publiczne informacje (nazwę hosta, port, model kamery, itp.) * Uruchamia zautomatyzowane ataki słownikowe, aby uzyskać ścieżkę strumienia (na przykład /live.sdp) * Uruchamia zautomatyzowane ataki słownikowe, aby uzyskać nazwę użytkownika i hasło do kamer * Generuje miniatury, aby sprawdzić, czy strumienie są ważne i szybko podejrzeć ich zawartość * Próbuje utworzyć potok Gstreamer, aby sprawdzić, czy są poprawnie zakodowane * Wyświetla podsumowanie wszystkich informacji, które Cameradar mógł uzyskać ## Referencje * [https://en.wikipedia.org/wiki/Real\_Time\_Streaming\_Protocol](https://en.wikipedia.org/wiki/Real\_Time\_Streaming\_Protocol) * [http://badguyfu.net/rtsp-brute-forcing-for-fun-and-naked-pictures/](http://badguyfu.net/rtsp-brute-forcing-for-fun-and-naked-pictures/) * [https://github.com/Ullaakut/cameradar](https://github.com/Ullaakut/cameradar)
Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)! Inne sposoby wsparcia HackTricks: * Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLANY SUBSKRYPCYJNE**](https://github.com/sponsors/carlospolop)! * Kup [**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) github repos.