10 KiB
554,8554 - Ελεγχος Ασφάλειας RTSP
Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι υποστήριξης του HackTricks:
- Αν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα τηλεγραφήματος ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια στο GitHub.
Βασικές Πληροφορίες
Από τη 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 αλλά σχεδιασμένο ειδικά για τη ροή πολυμέσων. Ορίζεται σε μια απλή προδιαγραφή η οποία μπορεί να βρεθεί εδώ:
Οι συσκευές μπορεί να επιτρέπουν μη εξουσιοδοτημένη ή εξουσιοδοτημένη πρόσβαση. Για να ελέγξετε αυτό, στέλνετε ένα αίτημα "DESCRIBE". Ένα βασικό παράδειγμα φαίνεται παρακάτω:
DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r
Να θυμάστε, η σωστή μορφοποίηση περιλαμβάνει ένα διπλό "\r\n" για μια συνεπή απάντηση. Μια απάντηση "200 OK" υποδηλώνει μη εξουσιοδοτημένη πρόσβαση, ενώ το "401 Unauthorized" σημαίνει την ανάγκη για εξουσιοδότηση, αποκαλύπτοντας αν απαιτείται βασική ή διαπίστευση Digest.
Για βασική εξουσιοδότηση, κωδικοποιείτε το όνομα χρήστη και τον κωδικό σε base64 και το συμπεριλαμβάνετε στο αίτημα ως εξής:
DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==\r
Αυτό το παράδειγμα χρησιμοποιεί "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
- Ανίχνευση ανοιχτών κόμβων RTSP σε οποιοδήποτε προσβάσιμο στόχο
- Λήψη δημόσιων πληροφοριών τους (όνομα κεντρικού υπολογιστή, θύρα, μοντέλο κάμερας, κλπ.)
- Έναρξη αυτοματοποιημένων επιθέσεων λεξικού για τη λήψη της διαδρομής ροής τους (π.χ. /live.sdp)
- Έναρξη αυτοματοποιημένων επιθέσεων λεξικού για τη λήψη του ονόματος χρήστη και του κωδικού πρόσβασης των καμερών
- Δημιουργία μικρογραφιών από αυτές για έλεγχο εάν οι ροές είναι έγκυρες και για γρήγορη προεπισκόπηση του περιεχομένου τους
- Προσπάθεια δημιουργίας ενός αγωγού Gstreamer για έλεγχο εάν είναι σωστά κωδικοποιημένες
- Εκτύπωση ενός συνόψισης όλων των πληροφοριών που μπορεί να λάβει το Cameradar
Αναφορές
- https://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol
- http://badguyfu.net/rtsp-brute-forcing-for-fun-and-naked-pictures/
- https://github.com/Ullaakut/cameradar
Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι υποστήριξης του HackTricks:
- Αν θέλετε να δείτε την εταιρεία σας διαφημισμένη στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα τηλεγραφήματος ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.