From 13185806da3c83949ef7f913ca41106f9c39cf33 Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 8 Jul 2025 16:59:40 +0000 Subject: [PATCH] Translated ['src/network-services-pentesting/554-8554-pentesting-rtsp.md --- .../554-8554-pentesting-rtsp.md | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/network-services-pentesting/554-8554-pentesting-rtsp.md b/src/network-services-pentesting/554-8554-pentesting-rtsp.md index 98426fb41..1080425a9 100644 --- a/src/network-services-pentesting/554-8554-pentesting-rtsp.md +++ b/src/network-services-pentesting/554-8554-pentesting-rtsp.md @@ -6,16 +6,16 @@ From [wikipedia](https://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol): -> **실시간 스트리밍 프로토콜** (**RTSP**)은 스트리밍 미디어 서버를 제어하기 위해 엔터테인먼트 및 통신 시스템에서 사용하도록 설계된 네트워크 제어 프로토콜입니다. 이 프로토콜은 엔드 포인트 간의 미디어 세션을 설정하고 제어하는 데 사용됩니다. 미디어 서버의 클라이언트는 서버에서 클라이언트로의 미디어 스트리밍(주문형 비디오) 또는 클라이언트에서 서버로의 미디어 스트리밍(음성 녹음)을 실시간으로 제어하기 위해 재생, 녹화 및 일시 정지와 같은 VHS 스타일의 명령을 발행합니다. +> The **Real Time Streaming Protocol** (**RTSP**)는 스트리밍 미디어 서버를 제어하기 위해 엔터테인먼트 및 통신 시스템에서 사용하도록 설계된 네트워크 제어 프로토콜입니다. 이 프로토콜은 엔드 포인트 간의 미디어 세션을 설정하고 제어하는 데 사용됩니다. 미디어 서버의 클라이언트는 서버에서 클라이언트로의 미디어 스트리밍(주문형 비디오) 또는 클라이언트에서 서버로의 미디어 스트리밍(음성 녹음)을 실시간으로 제어하기 위해 재생, 녹화 및 일시 정지와 같은 VHS 스타일의 명령을 발행합니다. > -> 스트리밍 데이터 자체의 전송은 RTSP의 작업이 아닙니다. 대부분의 RTSP 서버는 미디어 스트림 전송을 위해 실시간 전송 프로토콜(RTP)과 실시간 제어 프로토콜(RTCP)을 함께 사용합니다. 그러나 일부 공급업체는 독점 전송 프로토콜을 구현합니다. 예를 들어, RealNetworks의 RTSP 서버 소프트웨어는 RealNetworks의 독점적인 실시간 데이터 전송(RDT)도 사용합니다. +> 스트리밍 데이터 전송 자체는 RTSP의 작업이 아닙니다. 대부분의 RTSP 서버는 미디어 스트림 전송을 위해 실시간 전송 프로토콜(RTP)과 실시간 제어 프로토콜(RTCP)을 함께 사용합니다. 그러나 일부 공급업체는 독점적인 전송 프로토콜을 구현합니다. 예를 들어, RealNetworks의 RTSP 서버 소프트웨어는 RealNetworks의 독점적인 Real Data Transport(RDT)도 사용합니다. **기본 포트:** 554,8554 ``` PORT STATE SERVICE 554/tcp open rtsp ``` -## 주요 세부정보 +## Key Details **RTSP**는 HTTP와 유사하지만 미디어 스트리밍을 위해 특별히 설계되었습니다. 이는 여기에서 찾을 수 있는 간단한 사양으로 정의됩니다: @@ -25,7 +25,7 @@ PORT STATE SERVICE `DESCRIBE rtsp://: RTSP/1.0\r\nCSeq: 2` -올바른 형식은 일관된 응답을 위해 이중 "\r\n"을 포함해야 합니다. "200 OK" 응답은 **인증되지 않은 액세스**를 나타내고, "401 Unauthorized"는 인증이 필요함을 나타내며, **Basic** 또는 **Digest authentication**이 필요한지 여부를 드러냅니다. +올바른 형식은 일관된 응답을 위해 이중 "\r\n"을 포함해야 합니다. "200 OK" 응답은 **인증되지 않은 액세스**를 나타내고, "401 Unauthorized"는 인증이 필요함을 알리며, **Basic** 또는 **Digest authentication**이 필요한지를 드러냅니다. **Basic authentication**의 경우, 사용자 이름과 비밀번호를 base64로 인코딩하고 요청에 다음과 같이 포함합니다: @@ -41,26 +41,35 @@ s.sendall(req) data = s.recv(1024) print(data) ``` -**기본 인증**은 더 간단하고 선호됩니다. **다이제스트 인증**은 "401 Unauthorized" 응답에 제공된 인증 세부 정보를 신중하게 처리해야 합니다. +**기본 인증**은 더 간단하고 선호됩니다. **다이제스트 인증**은 "401 Unauthorized" 응답에 제공된 인증 세부정보를 신중하게 처리해야 합니다. 이 개요는 RTSP 스트림에 접근하는 과정을 단순화하며, 초기 시도에서의 단순성과 실용성을 위해 **기본 인증**에 중점을 둡니다. ## 열거 -유효한 방법과 지원되는 URL에 대한 정보를 얻고, 콘텐츠에 접근하기 위해 (필요한 경우) 무차별 대입 공격을 시도해 봅시다. +유효한 방법과 지원되는 URL에 대한 정보를 얻고, 필요한 경우 콘텐츠에 접근하기 위해 무차별 대입 공격을 시도해 봅시다. ```bash nmap -sV --script "rtsp-*" -p ``` +#### [ffplay](https://ffmpeg.org/ffplay.html)로 RTSP 스트림 보기 +유효한 RTSP 경로(예: `/mpeg4`, `/live.sdp`)를 발견하고 접근을 확인한 후(인증되지 않거나 자격 증명으로), `ffplay`를 사용하여 피드를 스트리밍할 수 있습니다: +```bash +ffplay -rtsp_transport tcp rtsp:///mpeg4 -x 2560 -y 1440 +``` +- `-rtsp_transport tcp`: 더 신뢰할 수 있는 스트리밍을 위해 UDP 대신 TCP 사용 +- `-x`, `-y`: 비디오 해상도를 제어하는 선택적 플래그 +- 필요에 따라 `` 및 경로를 교체 + ### [Brute Force](../generic-hacking/brute-force.md#rtsp) -### **기타 유용한 프로그램** +### **기타 유용한 프로그램들** -Bruteforce를 위해: [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) - 접근 가능한 대상에서 열린 RTSP 호스트 감지 -- 그들의 공개 정보 가져오기 (호스트 이름, 포트, 카메라 모델 등) +- 그들의 공개 정보(호스트 이름, 포트, 카메라 모델 등) 가져오기 - 스트림 경로를 얻기 위해 자동화된 사전 공격 시작 (예: /live.sdp) - 카메라의 사용자 이름과 비밀번호를 얻기 위해 자동화된 사전 공격 시작 - 스트림이 유효한지 확인하고 콘텐츠의 빠른 미리보기를 위해 썸네일 생성