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
1f2a3be14d
commit
f7e16b78f3
@ -6,9 +6,9 @@
|
|||||||
|
|
||||||
З [wikipedia](https://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol):
|
З [wikipedia](https://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol):
|
||||||
|
|
||||||
> **Протокол реального часу потокового відео** (**RTSP**) - це протокол управління мережею, розроблений для використання в системах розваг і зв'язку для управління серверами потокового медіа. Протокол використовується для встановлення та контролю медіа-сесій між кінцевими точками. Клієнти медіа-серверів видають команди у стилі VHS, такі як відтворення, запис і пауза, щоб полегшити реальний контроль над медіа-потоком від сервера до клієнта (Video On Demand) або від клієнта до сервера (Voice Recording).
|
> **Протокол потокового відео в реальному часі** (**RTSP**) - це протокол управління мережею, розроблений для використання в системах розваг і зв'язку для контролю серверів потокового медіа. Протокол використовується для встановлення та контролю медіа-сесій між кінцевими точками. Клієнти медіа-серверів видають команди у стилі VHS, такі як відтворення, запис і пауза, щоб полегшити реальний контроль над медіа-потоком від сервера до клієнта (Video On Demand) або від клієнта до сервера (Voice Recording).
|
||||||
>
|
>
|
||||||
> Передача потокових даних сама по собі не є завданням RTSP. Більшість RTSP серверів використовують Протокол реального часу передачі (RTP) у поєднанні з Протоколом контролю реального часу (RTCP) для доставки медіа-потоку. Однак деякі постачальники реалізують власні транспортні протоколи. Програмне забезпечення RTSP сервера від RealNetworks, наприклад, також використовувало власний протокол RealNetworks Real Data Transport (RDT).
|
> Передача потокових даних сама по собі не є завданням RTSP. Більшість RTSP серверів використовують Протокол передачі в реальному часі (RTP) у поєднанні з Протоколом контролю в реальному часі (RTCP) для доставки медіа-потоку. Однак деякі постачальники реалізують власні транспортні протоколи. Програмне забезпечення RTSP сервера від RealNetworks, наприклад, також використовує власний протокол Real Data Transport (RDT) від RealNetworks.
|
||||||
|
|
||||||
**Порт за замовчуванням:** 554,8554
|
**Порт за замовчуванням:** 554,8554
|
||||||
```
|
```
|
||||||
@ -31,7 +31,7 @@ PORT STATE SERVICE
|
|||||||
|
|
||||||
`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==`
|
||||||
|
|
||||||
Цей приклад використовує "admin" і "1234" для облікових даних. Ось **Python скрипт** для надсилання такого запиту:
|
Цей приклад використовує "admin" і "1234" для облікових даних. Ось **Python script** для надсилання такого запиту:
|
||||||
```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)
|
|||||||
```
|
```
|
||||||
**Базова аутентифікація** є простішою і переважною. **Дайджест-аутентифікація** вимагає обережного поводження з деталями аутентифікації, наданими у відповіді "401 Unauthorized".
|
**Базова аутентифікація** є простішою і переважною. **Дайджест-аутентифікація** вимагає обережного поводження з деталями аутентифікації, наданими у відповіді "401 Unauthorized".
|
||||||
|
|
||||||
Цей огляд спрощує процес доступу до RTSP потоків, зосереджуючись на **базовій аутентифікації** через її простоту та практичність у початкових спробах.
|
Цей огляд спрощує процес доступу до RTSP потоків, зосереджуючись на **Базовій аутентифікації** через її простоту та практичність у початкових спробах.
|
||||||
|
|
||||||
## Перерахування
|
## Перерахування
|
||||||
|
|
||||||
@ -51,21 +51,30 @@ print(data)
|
|||||||
```bash
|
```bash
|
||||||
nmap -sV --script "rtsp-*" -p <PORT> <IP>
|
nmap -sV --script "rtsp-*" -p <PORT> <IP>
|
||||||
```
|
```
|
||||||
|
#### Перегляд RTSP потоку за допомогою [ffplay](https://ffmpeg.org/ffplay.html)
|
||||||
|
Якщо ви виявили дійсний RTSP шлях (наприклад, `/mpeg4`, `/live.sdp`) і підтвердили доступ (без аутентифікації або з обліковими даними), ви можете використовувати `ffplay` для потокового відео:
|
||||||
|
```bash
|
||||||
|
ffplay -rtsp_transport tcp rtsp://<IP>/mpeg4 -x 2560 -y 1440
|
||||||
|
```
|
||||||
|
- `-rtsp_transport tcp`: Використовуйте TCP замість UDP для більш надійного потокового відео
|
||||||
|
- `-x`, `-y`: Додаткові параметри для контролю роздільної здатності відео
|
||||||
|
- Замініть `<IP>` та шлях за потребою
|
||||||
|
|
||||||
### [Brute Force](../generic-hacking/brute-force.md#rtsp)
|
### [Brute Force](../generic-hacking/brute-force.md#rtsp)
|
||||||
|
|
||||||
### **Інші корисні програми**
|
### **Інші корисні програми**
|
||||||
|
|
||||||
Для брутфорсу: [https://github.com/Tek-Security-Group/rtsp_authgrinder](https://github.com/Tek-Security-Group/rtsp_authgrinder)
|
Щоб здійснити брутфорс: [https://github.com/Tek-Security-Group/rtsp_authgrinder](https://github.com/Tek-Security-Group/rtsp_authgrinder)
|
||||||
|
|
||||||
[**Cameradar**](https://github.com/Ullaakut/cameradar)
|
[**Cameradar**](https://github.com/Ullaakut/cameradar)
|
||||||
|
|
||||||
- Виявлення відкритих RTSP хостів на будь-якій доступній цілі
|
- Виявляйте відкриті RTSP хости на будь-якій доступній цілі
|
||||||
- Отримання їхньої публічної інформації (ім'я хоста, порт, модель камери тощо)
|
- Отримуйте їхню публічну інформацію (ім'я хоста, порт, модель камери тощо)
|
||||||
- Запуск автоматизованих атак словникового типу для отримання їхнього маршруту потоку (наприклад, /live.sdp)
|
- Запускайте автоматизовані атаки словником, щоб отримати їхній маршрут потоку (наприклад, /live.sdp)
|
||||||
- Запуск автоматизованих атак словникового типу для отримання імені користувача та пароля камер
|
- Запускайте автоматизовані атаки словником, щоб отримати ім'я користувача та пароль камер
|
||||||
- Генерація ескізів з них, щоб перевірити, чи є потоки дійсними, і мати швидкий перегляд їхнього вмісту
|
- Генеруйте ескізи з них, щоб перевірити, чи є потоки дійсними, і щоб швидко переглянути їхній вміст
|
||||||
- Спроба створити конвеєр Gstreamer, щоб перевірити, чи правильно вони закодовані
|
- Спробуйте створити конвеєр Gstreamer, щоб перевірити, чи правильно вони закодовані
|
||||||
- Виведення підсумку всієї інформації, яку міг отримати Cameradar
|
- Друкуйте підсумок усієї інформації, яку може отримати Cameradar
|
||||||
|
|
||||||
## References
|
## References
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user