mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/network-services-pentesting/554-8554-pentesting-rtsp.md
This commit is contained in:
parent
beaeadb442
commit
343a3c0a33
@ -6,9 +6,9 @@
|
|||||||
|
|
||||||
Da [wikipedia](https://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol):
|
Da [wikipedia](https://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol):
|
||||||
|
|
||||||
> Il **Real Time Streaming Protocol** (**RTSP**) è un protocollo di controllo di rete progettato per l'uso in sistemi di intrattenimento e comunicazione per controllare i server di streaming multimediale. Il protocollo è utilizzato per stabilire e controllare sessioni multimediali tra punti finali. I client dei server multimediali emettono comandi in stile VHS, come riproduci, registra e metti in pausa, per facilitare il controllo in tempo reale dello streaming multimediale dal server a un client (Video On Demand) o da un client al server (Registrazione vocale).
|
> Il **Real Time Streaming Protocol** (**RTSP**) è un protocollo di controllo di rete progettato per l'uso in sistemi di intrattenimento e comunicazione per controllare i server di streaming multimediale. Il protocollo viene utilizzato per stabilire e controllare sessioni multimediali tra i punti finali. I client dei server multimediali emettono comandi in stile VHS, come riproduci, registra e pausa, per facilitare il controllo in tempo reale dello streaming multimediale dal server a un client (Video On Demand) o da un client al server (Voice Recording).
|
||||||
>
|
>
|
||||||
> La trasmissione dei dati in streaming non è un compito di RTSP. La maggior parte dei server RTSP utilizza il Real-time Transport Protocol (RTP) insieme al Real-time Control Protocol (RTCP) per la consegna del flusso multimediale. Tuttavia, alcuni fornitori implementano protocolli di trasporto proprietari. Il software del server RTSP di RealNetworks, ad esempio, utilizza anche il Real Data Transport (RDT) proprietario di RealNetworks.
|
> La trasmissione dei dati in streaming stessa non è un compito di RTSP. La maggior parte dei server RTSP utilizza il Real-time Transport Protocol (RTP) insieme al Real-time Control Protocol (RTCP) per la consegna del flusso multimediale. Tuttavia, alcuni fornitori implementano protocolli di trasporto proprietari. Il software del server RTSP di RealNetworks, ad esempio, utilizza anche il Real Data Transport (RDT) proprietario di RealNetworks.
|
||||||
|
|
||||||
**Porte predefinite:** 554,8554
|
**Porte predefinite:** 554,8554
|
||||||
```
|
```
|
||||||
@ -31,7 +31,7 @@ Per l'**autenticazione Basic**, codifichi il nome utente e la password in base64
|
|||||||
|
|
||||||
`DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==`
|
`DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==`
|
||||||
|
|
||||||
Questo esempio utilizza "admin" e "1234" per le credenziali. Ecco uno **script Python** per inviare una richiesta del genere:
|
Questo esempio utilizza "admin" e "1234" per le credenziali. Ecco uno **script Python** per inviare una tale richiesta:
|
||||||
```python
|
```python
|
||||||
import socket
|
import socket
|
||||||
req = "DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==\r\n\r\n"
|
req = "DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==\r\n\r\n"
|
||||||
@ -43,7 +43,7 @@ print(data)
|
|||||||
```
|
```
|
||||||
**L'autenticazione di base** è più semplice e preferita. **L'autenticazione Digest** richiede una gestione attenta dei dettagli di autenticazione forniti nella risposta "401 Non autorizzato".
|
**L'autenticazione di base** è più semplice e preferita. **L'autenticazione Digest** richiede una gestione attenta dei dettagli di autenticazione forniti nella risposta "401 Non autorizzato".
|
||||||
|
|
||||||
Questa panoramica semplifica il processo di accesso ai flussi RTSP, concentrandosi sull'**autenticazione di base** per la sua semplicità e praticità nei tentativi iniziali.
|
Questa panoramica semplifica il processo di accesso ai flussi RTSP, concentrandosi su **L'autenticazione di base** per la sua semplicità e praticità nei tentativi iniziali.
|
||||||
|
|
||||||
## Enumerazione
|
## Enumerazione
|
||||||
|
|
||||||
@ -51,6 +51,15 @@ Otteniamo informazioni sui metodi validi e sugli URL supportati e proviamo a for
|
|||||||
```bash
|
```bash
|
||||||
nmap -sV --script "rtsp-*" -p <PORT> <IP>
|
nmap -sV --script "rtsp-*" -p <PORT> <IP>
|
||||||
```
|
```
|
||||||
|
#### Visualizzazione dello Stream RTSP con [ffplay](https://ffmpeg.org/ffplay.html)
|
||||||
|
Una volta scoperto un percorso RTSP valido (ad esempio, `/mpeg4`, `/live.sdp`) e confermato l'accesso (non autenticato o con credenziali), puoi utilizzare `ffplay` per trasmettere il feed:
|
||||||
|
```bash
|
||||||
|
ffplay -rtsp_transport tcp rtsp://<IP>/mpeg4 -x 2560 -y 1440
|
||||||
|
```
|
||||||
|
- `-rtsp_transport tcp`: Usa TCP invece di UDP per uno streaming più affidabile
|
||||||
|
- `-x`, `-y`: Flag opzionali per controllare la risoluzione video
|
||||||
|
- Sostituisci `<IP>` e il percorso come necessario
|
||||||
|
|
||||||
### [Brute Force](../generic-hacking/brute-force.md#rtsp)
|
### [Brute Force](../generic-hacking/brute-force.md#rtsp)
|
||||||
|
|
||||||
### **Altri programmi utili**
|
### **Altri programmi utili**
|
||||||
@ -61,9 +70,9 @@ Per bruteforce: [https://github.com/Tek-Security-Group/rtsp_authgrinder](https:/
|
|||||||
|
|
||||||
- Rileva host RTSP aperti su qualsiasi obiettivo accessibile
|
- Rileva host RTSP aperti su qualsiasi obiettivo accessibile
|
||||||
- Ottieni le loro informazioni pubbliche (hostname, porta, modello della telecamera, ecc.)
|
- Ottieni le loro informazioni pubbliche (hostname, porta, modello della telecamera, ecc.)
|
||||||
- Avvia attacchi automatici a dizionario per ottenere il loro percorso di streaming (ad esempio /live.sdp)
|
- Avvia attacchi di dizionario automatizzati per ottenere il loro percorso di streaming (ad esempio /live.sdp)
|
||||||
- Avvia attacchi automatici a dizionario per ottenere il nome utente e la password delle telecamere
|
- Avvia attacchi di dizionario automatizzati per ottenere il nome utente e la password delle telecamere
|
||||||
- Genera miniature da essi per controllare se gli stream sono validi e avere un'anteprima rapida del loro contenuto
|
- Genera miniature da essi per controllare se gli streaming sono validi e avere un'anteprima rapida del loro contenuto
|
||||||
- Prova a creare una pipeline Gstreamer per controllare se sono correttamente codificati
|
- Prova a creare una pipeline Gstreamer per controllare se sono correttamente codificati
|
||||||
- Stampa un riepilogo di tutte le informazioni che Cameradar potrebbe ottenere
|
- Stampa un riepilogo di tutte le informazioni che Cameradar potrebbe ottenere
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user