# 554,8554 - RTSPのペンテスト
ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)!
HackTricksをサポートする他の方法:
* **HackTricksで企業を宣伝したい**または**HackTricksをPDFでダウンロードしたい**場合は、[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**公式PEASS&HackTricksスワッグ**](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**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。
## 基本情報
[wikipedia](https://en.wikipedia.org/wiki/Real\_Time\_Streaming\_Protocol)から:
> **リアルタイムストリーミングプロトコル**(**RTSP**)は、エンターテイメントおよび通信システムで使用するために設計されたネットワーク制御プロトコルです。このプロトコルは、エンドポイント間のメディアセッションの確立と制御に使用されます。メディアサーバのクライアントは、VHSスタイルのコマンド(再生、録画、一時停止など)を発行して、サーバからクライアントへのメディアストリーミング(ビデオオンデマンド)またはクライアントからサーバへのメディアストリーミング(音声録音)をリアルタイムで制御します。
>
> ストリーミングデータの伝送自体はRTSPのタスクではありません。ほとんどのRTSPサーバは、メディアストリームの配信にリアルタイムトランスポートプロトコル(RTP)とリアルタイム制御プロトコル(RTCP)を併用して使用します。ただし、一部のベンダーは独自のトランスポートプロトコルを実装しています。たとえば、RealNetworksのRTSPサーバソフトウェアは、RealNetworksの独自のReal Data Transport(RDT)も使用しています。
**デフォルトポート:** 554, 8554
```
PORT STATE SERVICE
554/tcp open rtsp
```
## 主な詳細
**RTSP**はHTTPに似ていますが、メディアストリーミング用に特別に設計されています。簡単な仕様は次の場所で定義されています:
[RTSP – RFC2326](https://tools.ietf.org/html/rfc2326)
デバイスは**未認証**または**認証済み**アクセスを許可する場合があります。確認するためには、「DESCRIBE」リクエストを送信します。基本的な例を以下に示します:
`DESCRIBE rtsp://: RTSP/1.0\r\nCSeq: 2\r\n`
正しいフォーマットには、一貫した応答のために二重の"\r\n"が含まれていることを覚えておいてください。"200 OK"の応答は**未認証アクセス**を示し、一方で"401 Unauthorized"は認証が必要であり、**Basic認証**または**Digest認証**が必要かを明らかにします。
**Basic認証**の場合、ユーザー名とパスワードをbase64でエンコードし、次のようにリクエストに含めます:
`DESCRIBE rtsp://: RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==\r\n`
この例では、資格情報として「admin」と「1234」を使用しています。以下はそのようなリクエストを送信する**Pythonスクリプト**です:
```python
import socket
req = "DESCRIBE rtsp://: 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ストリームへのアクセス手順を簡略化します。
## 列挙
有効なメソッドとURLに関する情報を取得し、必要に応じてアクセスをブルートフォースしてコンテンツにアクセスします。
```bash
nmap -sV --script "rtsp-*" -p
```
### [Brute Force](../generic-methodologies-and-resources/brute-force.md#rtsp)
### **その他の便利なプログラム**
Brute Forceに使用する: [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)
ゼロからヒーローまでのAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)!
HackTricksをサポートする他の方法:
* **HackTricksで企業を宣伝したい**または**HackTricksをPDFでダウンロードしたい**場合は、[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**公式PEASS&HackTricksスウォッグ**](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**のGitHubリポジトリにPRを提出して、あなたのハッキングトリックを共有してください。