hacktricks/network-services-pentesting/554-8554-pentesting-rtsp.md

102 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 554,8554 - Pentesting RTSP
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** ЁЯТм [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** ЁЯРж [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## Basic Information
From [wikipedia](https://en.wikipedia.org/wiki/Real\_Time\_Streaming\_Protocol):
> **рд░рд┐рдпрд▓ рдЯрд╛рдЗрдо рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓** (**RTSP**) рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ рдЬрд┐рд╕реЗ рдордиреЛрд░рдВрдЬрди рдФрд░ рд╕рдВрдЪрд╛рд░ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЕрдВрдд рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмреАрдЪ рдореАрдбрд┐рдпрд╛ рд╕рддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдЧреНрд░рд╛рд╣рдХ VHS-рд╢реИрд▓реА рдХреЗ рдЖрджреЗрд╢ рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдкреНрд▓реЗ, рд░рд┐рдХреЙрд░реНрдб рдФрд░ рдкреЙрдЬрд╝, рддрд╛рдХрд┐ рд╕рд░реНрд╡рд░ рд╕реЗ рдЧреНрд░рд╛рд╣рдХ (рд╡реАрдбрд┐рдпреЛ рдСрди рдбрд┐рдорд╛рдВрдб) рдпрд╛ рдЧреНрд░рд╛рд╣рдХ рд╕реЗ рд╕рд░реНрд╡рд░ (рд╡реЙрдпрд╕ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ) рддрдХ рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред
>
> рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рд╕рд╛рд░рдг рдХрд╛ рдХрд╛рд░реНрдп RTSP рдХрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ RTSP рд╕рд░реНрд╡рд░ рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдо рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рд░рд┐рдпрд▓-рдЯрд╛рдЗрдо рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (RTP) рдХреЗ рд╕рд╛рде рд░рд┐рдпрд▓-рдЯрд╛рдЗрдо рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (RTCP) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреБрдЫ рд╡рд┐рдХреНрд░реЗрддрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд╣рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, RealNetworks рдХрд╛ RTSP рд╕рд░реНрд╡рд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рднреА RealNetworks рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ рд░рд┐рдпрд▓ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ (RDT) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
**рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреЛрд░реНрдЯ:** 554,8554
```
PORT STATE SERVICE
554/tcp open rtsp
```
## Key Details
**RTSP** HTTP рдХреЗ рд╕рдорд╛рди рд╣реИ рд▓реЗрдХрд┐рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕реЗ рдПрдХ рд╕рд░рд▓ рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдпрд╣рд╛рдБ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
[RTSP тАУ RFC2326](https://tools.ietf.org/html/rfc2326)
рдбрд┐рд╡рд╛рдЗрд╕ **рдЕрдирдзрд┐рдХреГрдд** рдпрд╛ **рдЕрдзрд┐рдХреГрдд** рдкрд╣реБрдБрдЪ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ "DESCRIBE" рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдЙрджрд╛рд╣рд░рдг рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
`DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r`
рдпрд╛рдж рд░рдЦреЗрдВ, рд╕рд╣реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рд╕реБрд╕рдВрдЧрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдбрдмрд▓ "\r\n" рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред "200 OK" рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ **рдЕрдирдзрд┐рдХреГрдд рдкрд╣реБрдБрдЪ** рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ, рдЬрдмрдХрд┐ "401 Unauthorized" рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреА рд╣реИ, рдпрд╣ рдкреНрд░рдХрдЯ рдХрд░рддреА рд╣реИ рдХрд┐ **Basic** рдпрд╛ **Digest authentication** рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
**Basic authentication** рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ base64 рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЗрд╕ рддрд░рд╣ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ:
`DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==\r`
рдпрд╣ рдЙрджрд╛рд╣рд░рдг "admin" рдФрд░ "1234" рдХреЛ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ **Python script** рд╣реИ рдЬреЛ рдРрд╕рд╛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ:
```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)
```
**рдмреБрдирд┐рдпрд╛рджреА рдкреНрд░рдорд╛рдгреАрдХрд░рдг** рд╕рд░рд▓ рд╣реИ рдФрд░ рдЗрд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рддреА рд╣реИред **рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдг** рдореЗрдВ "401 Unauthorized" рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рд╡рд░рдгреЛрдВ рдХрд╛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдкреНрд░рдмрдВрдзрди рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдпрд╣ рдЕрд╡рд▓реЛрдХрди RTSP рд╕реНрдЯреНрд░реАрдо рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд╕рд░рд▓рддрд╛ рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рдпрд╛рд╕реЛрдВ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХрддрд╛ рдХреЗ рд▓рд┐рдП **рдмреБрдирд┐рдпрд╛рджреА рдкреНрд░рдорд╛рдгреАрдХрд░рдг** рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
## рдЧрдгрдирд╛
рдЪрд▓реЛ рдорд╛рдиреНрдп рддрд░реАрдХреЛрдВ рдФрд░ URLs рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдЬреЛ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ рдФрд░ рд╕рд╛рдордЧреНрд░реА рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ) рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
```bash
nmap -sV --script "rtsp-*" -p <PORT> <IP>
```
### [Brute Force](../generic-methodologies-and-resources/brute-force.md#rtsp)
### **рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдпрдХреНрд░рдо**
Bruteforce рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: [https://github.com/Tek-Security-Group/rtsp\_authgrinder](https://github.com/Tek-Security-Group/rtsp\_authgrinder)
[**Cameradar**](https://github.com/Ullaakut/cameradar)
* рдХрд┐рд╕реА рднреА рд╕реБрд▓рдн рд▓рдХреНрд╖реНрдп рдкрд░ рдЦреБрд▓реЗ RTSP рд╣реЛрд╕реНрдЯ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ
* рдЙрдирдХреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рд╣реЛрд╕реНрдЯрдиреЗрдо, рдкреЛрд░реНрдЯ, рдХреИрдорд░рд╛ рдореЙрдбрд▓, рдЖрджрд┐)
* рдЙрдирдХреЗ рд╕реНрдЯреНрд░реАрдо рд░реВрдЯ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП /live.sdp) рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╢рдмреНрджрдХреЛрд╢ рд╣рдорд▓реЗ рд╢реБрд░реВ рдХрд░реЗрдВ
* рдХреИрдорд░реЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╢рдмреНрджрдХреЛрд╢ рд╣рдорд▓реЗ рд╢реБрд░реВ рдХрд░реЗрдВ
* рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╕реНрдЯреНрд░реАрдо рдорд╛рдиреНрдп рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рддреНрд╡рд░рд┐рдд рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирд╕реЗ рдердВрдмрдиреЗрд▓ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ
* рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП Gstreamer рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╡реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдПрдиреНрдХреЛрдбреЗрдб рд╣реИрдВ
* Cameradar рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рд╕рднреА рд╕реВрдЪрдирд╛рдУрдВ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ
## рд╕рдВрджрд░реНрдн
* [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)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** ЁЯТм [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** ЁЯРж [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}