554,8554 - Pentesting RTSP

Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Βασικές Πληροφορίες

Από τη wikipedia:

Το Real Time Streaming Protocol (RTSP) είναι ένα πρωτόκολλο ελέγχου δικτύου σχεδιασμένο για χρήση σε συστήματα ψυχαγωγίας και επικοινωνίας για τον έλεγχο διακομιστών μέσων ροής. Το πρωτόκολλο χρησιμοποιείται για την καθιέρωση και έλεγχο των συνεδριών μέσων μεταξύ σημείων άκρων. Οι πελάτες των διακομιστών μέσων εκδίδουν εντολές στυλ VHS, όπως αναπαραγωγή, εγγραφή και παύση, για τη διευκόλυνση του πραγματικού χρόνου ελέγχου της ροής μέσων από τον διακομιστή σε έναν πελάτη (Βίντεο Κατά Ζήτησης) ή από έναν πελάτη στον διακομιστή (Εγγραφή Φωνής).

Η μετάδοση των δεδομένων ροής καθεαυτή δεν είναι καθήκον του RTSP. Οι περισσότεροι διακομιστές RTSP χρησιμοποιούν το Πρωτόκολλο Μεταφοράς Πραγματικού Χρόνου (RTP) σε συνδυασμό με το Πρωτόκολλο Ελέγχου Πραγματικού Χρόνου (RTCP) για την παράδοση ροής μέσων. Ωστόσο, μερικοί προμηθευτές υλοποιούν προτοπρόνια μεταφοράς. Το λογισμικό διακομιστή RTSP από τη RealNetworks, για παράδειγμα, χρησιμοποιούσε επίσης το προτοπρόνιο Real Data Transport (RDT).

Προεπιλεγμένες θύρες: 554,8554

PORT    STATE SERVICE
554/tcp open  rtsp

Βασικές Λεπτομέρειες

Το RTSP είναι παρόμοιο με το HTTP αλλά σχεδιασμένο ειδικά για τη ροή πολυμέσων. Ορίζεται σε μια απλή προδιαγραφή η οποία μπορεί να βρεθεί εδώ:

RTSP – RFC2326

Οι συσκευές μπορεί να επιτρέπουν μη εξουσιοδοτημένη ή εξουσιοδοτημένη πρόσβαση. Για να ελέγξετε αυτό, στέλνετε ένα αίτημα "DESCRIBE". Ένα βασικό παράδειγμα φαίνεται παρακάτω:

DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2

Να θυμάστε, η σωστή μορφοποίηση περιλαμβάνει ένα διπλό "\r\n" για μια συνεπή απάντηση. Μια απάντηση "200 OK" υποδηλώνει μη εξουσιοδοτημένη πρόσβαση, ενώ το "401 Unauthorized" σημαίνει την ανάγκη για εξουσιοδότηση, αποκαλύπτοντας αν απαιτείται βασική ή διαπίστευση Digest.

Για βασική εξουσιοδότηση, κωδικοποιείτε το όνομα χρήστη και τον κωδικό σε base64 και το συμπεριλαμβάνετε στο αίτημα ως εξής:

DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==

Αυτό το παράδειγμα χρησιμοποιεί "admin" και "1234" για τα διαπιστευτήρια. Εδώ υπάρχει ένα σενάριο Python για να στείλετε ένα τέτοιο αίτημα:

import socket
req = "DESCRIBE rtsp://<ip>:<port> 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)

Η βασική πιστοποίηση είναι απλούστερη και προτιμάται. Η πιστοποίηση μέσω Digest απαιτεί προσεκτική χειρισμό των λεπτομερειών πιστοποίησης που παρέχονται στην απάντηση "401 Unauthorized".

Αυτή η επισκόπηση απλοποιεί τη διαδικασία πρόσβασης σε ροές RTSP, εστιάζοντας στη βασική πιστοποίηση για την απλότητά της και την πρακτικότητά της στις αρχικές προσπάθειες.

Απαρίθμηση

Ας λάβουμε πληροφορίες σχετικά με τις έγκυρες μεθόδους και τις διευθύνσεις URL που υποστηρίζονται και ας προσπαθήσουμε να εκτελέσουμε βίαιη είσοδο (εάν απαιτείται) για να αποκτήσουμε πρόσβαση στο περιεχόμενο.

nmap -sV --script "rtsp-*" -p <PORT> <IP>

Άλλα χρήσιμα προγράμματα

Για επίθεση με βίαιη δύναμη: https://github.com/Tek-Security-Group/rtsp_authgrinder

Cameradar

  • Ανίχνευση ανοιχτών κόμβων RTSP σε οποιοδήποτε προσβάσιμο στόχο

  • Λήψη δημόσιων πληροφοριών τους (όνομα κεντρικού υπολογιστή, θύρα, μοντέλο κάμερας, κλπ.)

  • Έναρξη αυτοματοποιημένων επιθέσεων λεξικού για τη λήψη της διαδρομής ροής τους (π.χ. /live.sdp)

  • Έναρξη αυτοματοποιημένων επιθέσεων λεξικού για τη λήψη του ονόματος χρήστη και του κωδικού πρόσβασης των καμερών

  • Δημιουργία μικρογραφιών από αυτές για έλεγχο εάν οι ροές είναι έγκυρες και για γρήγορη προεπισκόπηση του περιεχομένου τους

  • Προσπάθεια δημιουργίας ενός αγωγού Gstreamer για έλεγχο εάν είναι σωστά κωδικοποιημένες

  • Εκτύπωση ενός συνόψισης όλων των πληροφοριών που μπορεί να λάβει το Cameradar

Αναφορές

Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Last updated