# 554,8554 - Pentesting RTSP
Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)! Autres façons de soutenir HackTricks: * Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)! * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family) * **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
## Informations de base D'après [wikipedia](https://en.wikipedia.org/wiki/Real\_Time\_Streaming\_Protocol): > Le **Protocole de streaming en temps réel** (**RTSP**) est un protocole de contrôle réseau conçu pour une utilisation dans les systèmes de divertissement et de communication pour contrôler les serveurs de médias en streaming. Le protocole est utilisé pour établir et contrôler des sessions multimédias entre les points finaux. Les clients des serveurs de médias émettent des commandes de style VHS, telles que lecture, enregistrement et pause, pour faciliter le contrôle en temps réel du streaming multimédia du serveur vers un client (Vidéo à la demande) ou d'un client vers le serveur (Enregistrement vocal). > > La transmission des données en streaming n'est pas une tâche du RTSP. La plupart des serveurs RTSP utilisent le Protocole de transport en temps réel (RTP) en conjonction avec le Protocole de contrôle en temps réel (RTCP) pour la diffusion de flux multimédias. Cependant, certains fournisseurs implémentent des protocoles de transport propriétaires. Par exemple, le logiciel serveur RTSP de RealNetworks utilisait également le Transport de données RealNetworks (RDT) propriétaire. **Ports par défaut :** 554,8554 ``` PORT STATE SERVICE 554/tcp open rtsp ``` ## Détails clés **RTSP** est similaire à HTTP mais conçu spécifiquement pour le streaming multimédia. Il est défini dans une spécification simple que l'on peut trouver ici : [RTSP – RFC2326](https://tools.ietf.org/html/rfc2326) Les appareils peuvent autoriser l'accès **non authentifié** ou **authentifié**. Pour vérifier, une requête "DESCRIBE" est envoyée. Un exemple de base est montré ci-dessous : `DESCRIBE rtsp://: RTSP/1.0\r\nCSeq: 2\r` N'oubliez pas, le format correct inclut un double "\r\n" pour une réponse cohérente. Une réponse "200 OK" indique un accès **non authentifié**, tandis que "401 Unauthorized" signale le besoin d'authentification, révélant si une **authentification de base** ou **digest** est requise. Pour l'**authentification de base**, vous encodez le nom d'utilisateur et le mot de passe en base64 et les incluez dans la requête comme ceci : `DESCRIBE rtsp://: RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==\r` Cet exemple utilise "admin" et "1234" pour les identifiants. Voici un **script Python** pour envoyer une telle requête : ```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) ``` **L'authentification de base** est plus simple et préférée. L'**authentification Digest** nécessite une manipulation soigneuse des détails d'authentification fournis dans la réponse "401 Unauthorized". Cette vue d'ensemble simplifie le processus d'accès aux flux RTSP, en se concentrant sur l'**authentification de base** pour sa simplicité et sa praticité dans les tentatives initiales. ## Énumération Obtenons des informations sur les méthodes valides et les URL prises en charge et essayons de forcer l'accès (si nécessaire) pour accéder au contenu. ```bash nmap -sV --script "rtsp-*" -p ``` ### [Brute Force](../generic-methodologies-and-resources/brute-force.md#rtsp) ### **Autres programmes utiles** Pour effectuer une attaque par force brute : [https://github.com/Tek-Security-Group/rtsp\_authgrinder](https://github.com/Tek-Security-Group/rtsp\_authgrinder) [**Cameradar**](https://github.com/Ullaakut/cameradar) * Détecter les hôtes RTSP ouverts sur n'importe quelle cible accessible * Obtenir leurs informations publiques (nom d'hôte, port, modèle de caméra, etc.) * Lancer des attaques automatisées par dictionnaire pour obtenir leur chemin de flux (par exemple /live.sdp) * Lancer des attaques automatisées par dictionnaire pour obtenir le nom d'utilisateur et le mot de passe des caméras * Générer des miniatures pour vérifier si les flux sont valides et pour avoir un aperçu rapide de leur contenu * Essayer de créer un pipeline Gstreamer pour vérifier s'ils sont correctement encodés * Afficher un résumé de toutes les informations que Cameradar a pu obtenir ## Références * [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)
Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)! Autres moyens de soutenir HackTricks : * Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) ! * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family) * **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.