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

101 lines
7.5 KiB
Markdown
Raw Normal View History

# 554,8554 - Pentesting RTSP
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>ゼロからヒーローまでのAWSハッキングを学ぶ</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
2022-04-28 16:01:33 +00:00
HackTricksをサポートする他の方法:
* **HackTricksで企業を宣伝したい**または**HackTricksをPDFでダウンロードしたい**場合は、[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**公式PEASSHackTricksスワッグ**](https://peass.creator-spring.com)を入手する
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見し、独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)コレクションを見つける
* **💬 [Discordグループ](https://discord.gg/hRep4RUj7f)**に参加するか、[telegramグループ](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)をフォローする
* **HackTricks**と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のgithubリポジトリにPRを提出して、あなたのハッキングテクニックを共有する
2022-04-28 16:01:33 +00:00
</details>
2023-07-07 23:42:27 +00:00
## 基本情報
[wikipedia](https://en.wikipedia.org/wiki/Real\_Time\_Streaming\_Protocol)から:
> **リアルタイムストリーミングプロトコル****RTSP**は、エンターテイメントおよび通信システムで使用するために設計されたネットワーク制御プロトコルです。このプロトコルは、エンドポイント間のメディアセッションを確立および制御するために使用されます。メディアサーバのクライアントは、VHSスタイルのコマンド再生、録画、一時停止などを発行して、サーバからクライアントへのメディアストリーミングビデオオンデマンドまたはクライアントからサーバへのメディアストリーミング音声録音をリアルタイムで制御します。
>
> ストリーミングデータの伝送自体は、RTSPのタスクではありません。ほとんどのRTSPサーバは、メディアストリームの配信にリアルタイムトランスポートプロトコルRTPとリアルタイムコントロールプロトコルRTCPを併用します。ただし、一部のベンダーは独自のトランスポートプロトコルを実装しています。たとえば、RealNetworksのRTSPサーバソフトウェアは、RealNetworksの独自のReal Data TransportRDTも使用しています。
**デフォルトポート:** 554,8554
```
PORT STATE SERVICE
554/tcp open rtsp
```
## 主な詳細
**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認証**が必要かを明らかにします。
**Basic認証**の場合、ユーザー名とパスワードをbase64でエンコードし、次のようにリクエストに含めます
`DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==\r`
この例では、資格情報として「admin」と「1234」を使用しています。以下はそのようなリクエストを送信する**Pythonスクリプト**です:
```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)
2022-02-10 12:30:58 +00:00
data = s.recv(1024)
2022-02-09 20:30:05 +00:00
print(data)
```
**基本認証**はよりシンプルで好まれます。**ダイジェスト認証**は、「401 Unauthorized」レスポンスで提供される認証詳細の注意深い取り扱いが必要です。
この概要では、初期の試みにおいてシンプルさと実用性から**基本認証**に焦点を当て、RTSPストリームへのアクセスプロセスを簡略化します。
2023-07-07 23:42:27 +00:00
## 列挙
有効なメソッドとURLに関する情報を取得し、必要に応じてアクセスをブルートフォースしてコンテンツにアクセスしよう。
```bash
2022-01-13 18:45:25 +00:00
nmap -sV --script "rtsp-*" -p <PORT> <IP>
```
### [Brute Force](../generic-methodologies-and-resources/brute-force.md#rtsp)
2023-07-07 23:42:27 +00:00
### **その他の便利なプログラム**
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
2023-07-07 23:42:27 +00:00
* カメラのユーザー名とパスワードを取得するための自動辞書攻撃を実行する
* ストリームが有効かどうかを確認し、内容のクイックプレビューを取得するためにサムネイルを生成する
* 適切にエンコードされているかどうかを確認するためにGstreamerパイプラインを作成しようとする
2023-07-07 23:42:27 +00:00
* 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/)
2022-05-08 23:13:03 +00:00
* [https://github.com/Ullaakut/cameradar](https://github.com/Ullaakut/cameradar)
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>ゼロからヒーローまでのAWSハッキングを学ぶ</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
HackTricksをサポートする他の方法:
2022-04-28 16:01:33 +00:00
* **HackTricksで企業を宣伝したい**または**HackTricksをPDFでダウンロードしたい場合**は、[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**公式PEASSHackTricksスウォッグ**](https://peass.creator-spring.com)を入手する
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見し、独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)のコレクションを見つける
* 💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)に参加するか、[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)をフォローする。
* **HackTricks**と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks)のGitHubリポジトリにPRを提出して、あなたのハッキングトリックを共有してください。
2022-04-28 16:01:33 +00:00
</details>