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

100 lines
6.8 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 - RTSP Pentesting
<details>
<summary><strong>Sıfırdan kahraman olmaya kadar AWS hackleme öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na(https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
</details>
## Temel Bilgiler
[wikipedia](https://en.wikipedia.org/wiki/Real\_Time\_Streaming\_Protocol)'dan:
> **Gerçek Zamanlı Akış Protokolü** (**RTSP**), eğlence ve iletişim sistemlerinde kullanılmak üzere tasarlanmış bir ağ kontrol protokolüdür. Protokol, uç noktalar arasında medya oturumlarını kurmak ve kontrol etmek için kullanılır. Medya sunucularının istemcileri, gerçek zamanlı olarak sunucudan istemciye (Video On Demand) veya istemciden sunucuya (Ses Kaydı) medya akışını kontrol etmek için oynat, kaydet ve duraklat gibi VHS tarzı komutlar verir.
>
> Akış verilerinin iletimi RTSP'nin bir görevidir. Çoğu RTSP sunucusu, medya akışı teslimatı için Gerçek Zamanlı Taşıma Protokolü (RTP) ile Gerçek Zamanlı Kontrol Protokolü (RTCP) kullanır. Bununla birlikte, bazı satıcılar özel taşıma protokolleri uygular. Örneğin, RealNetworks'in RTSP sunucu yazılımı ayrıca RealNetworks'in özel Real Data Transport (RDT) protokolünü de kullanır.
**Varsayılan portlar:** 554,8554
```
PORT STATE SERVICE
554/tcp open rtsp
```
## Ana Detaylar
**RTSP**, medya akışı için özel olarak tasarlanmış olan HTTP'ye benzer bir protokoldür. Basit bir spesifikasyonda tanımlanmıştır ve şurada bulunabilir:
[RTSP RFC2326](https://tools.ietf.org/html/rfc2326)
Cihazlar **kimlik doğrulamasız** veya **kimlik doğrulamalı** erişime izin verebilir. Kontrol etmek için bir "DESCRIBE" isteği gönderilir. Temel bir örnek aşağıda gösterilmiştir:
`DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r`
Doğru biçimlendirme, tutarlı bir yanıt için çift "\r\n" içermelidir. "200 OK" yanıtı **kimlik doğrulamasız erişimi** gösterirken, "401 Unauthorized" kimlik doğrulaması gerektiğini belirtir ve **Temel** veya **Digest kimlik doğrulamasının** gerekip gerekmediğini ortaya çıkarır.
**Temel kimlik doğrulaması** için, kullanıcı adını ve şifreyi base64'e kodlarsınız ve isteğe şunları dahil edersiniz:
`DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==\r`
Bu örnek, kimlik bilgileri için "admin" ve "1234" kullanmaktadır. İşte böyle bir istek göndermek için bir **Python betiği**:
```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)
```
**Temel kimlik doğrulama** daha basit ve tercih edilir. **Özet kimlik doğrulama** ise "401 Yetkisiz" yanıtında sağlanan kimlik doğrulama ayrıntılarının dikkatli bir şekilde ele alınmasını gerektirir.
Bu genel bakış, RTSP akışlarına erişim sürecini basitleştirir ve başlangıç denemelerindeki basitlik ve pratiklik nedeniyle **Temel kimlik doğrulamasına** odaklanır.
## Numaralandırma
Geçerli yöntemler ve URL'ler hakkında bilgi edinelim ve içeriğe erişmek için gerekirse erişimi zorlamak için erişim (gerekiyorsa) hakkında bilgi edinelim.
```bash
nmap -sV --script "rtsp-*" -p <PORT> <IP>
```
### [Kaba Kuvvet](../generic-methodologies-and-resources/brute-force.md#rtsp)
### **Diğer faydalı programlar**
Kaba kuvvet saldırısı için: [https://github.com/Tek-Security-Group/rtsp\_authgrinder](https://github.com/Tek-Security-Group/rtsp\_authgrinder)
[**Cameradar**](https://github.com/Ullaakut/cameradar)
* Erişilebilir hedeflerde açık RTSP ana bilgisayarlarını tespit et
* Genel bilgilerini al (ana bilgisayar adı, port, kamera modeli, vb.)
* Akış rotasını almak için otomatik sözlük saldırıları başlat (örneğin /live.sdp)
* Kameraların kullanıcı adı ve şifresini almak için otomatik sözlük saldırıları başlat
* Akışların geçerli olup olmadığını kontrol etmek ve içeriklerinin hızlı bir önizlemesini almak için onlardan küçük resimler oluştur
* Doğru bir şekilde kodlandığını kontrol etmek için bir Gstreamer boru hattı oluştur
* Cameradar'ın alabileceği tüm bilgilerin özetini yazdır
## Referanslar
* [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)
<details>
<summary><strong>Sıfırdan kahraman olmak için AWS hackleme öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
</details>