.. | ||
README.md | ||
sip-session-initiation-protocol.md |
기본 VoIP 프로토콜
{% hint style="success" %}
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 팁을 공유하세요.
신호 프로토콜
SIP (세션 시작 프로토콜)
이것은 산업 표준입니다. 자세한 내용은 다음을 확인하세요:
{% content-ref url="sip-session-initiation-protocol.md" %} sip-session-initiation-protocol.md {% endcontent-ref %}
MGCP (미디어 게이트웨이 제어 프로토콜)
MGCP (미디어 게이트웨이 제어 프로토콜)는 RFC 3435에 설명된 신호 및 통화 제어 프로토콜입니다. 중앙 집중식 아키텍처에서 작동하며, 세 가지 주요 구성 요소로 구성됩니다:
- 콜 에이전트 또는 미디어 게이트웨이 컨트롤러 (MGC): MGCP 아키텍처의 마스터 게이트웨이는 미디어 게이트웨이를 관리하고 제어하는 책임이 있습니다. 통화 설정, 수정 및 종료 프로세스를 처리합니다. MGC는 MGCP 프로토콜을 사용하여 미디어 게이트웨이와 통신합니다.
- 미디어 게이트웨이 (MG) 또는 슬레이브 게이트웨이: 이러한 장치는 전통적인 회로 교환 전화와 패킷 교환 IP 네트워크와 같은 서로 다른 네트워크 간에 디지털 미디어 스트림을 변환합니다. MGC에 의해 관리되며, MGC로부터 받은 명령을 실행합니다. 미디어 게이트웨이는 트랜스코딩, 패킷화 및 에코 취소와 같은 기능을 포함할 수 있습니다.
- 신호 게이트웨이 (SG): 이러한 게이트웨이는 서로 다른 네트워크 간의 신호 메시지를 변환하는 책임이 있으며, 전통적인 전화 시스템(예: SS7)과 IP 기반 네트워크(예: SIP 또는 H.323) 간의 원활한 통신을 가능하게 합니다. 신호 게이트웨이는 상호 운용성에 중요하며, 서로 다른 네트워크 간에 통화 제어 정보가 적절하게 전달되도록 보장합니다.
요약하자면, MGCP는 통화 제어 논리를 콜 에이전트에 중앙 집중화하여 미디어 및 신호 게이트웨이의 관리를 단순화하고, 통신 네트워크에서 더 나은 확장성, 신뢰성 및 효율성을 제공합니다.
SCCP (스키니 클라이언트 제어 프로토콜)
스키니 클라이언트 제어 프로토콜 (SCCP)은 Cisco Systems가 소유한 독점 신호 및 통화 제어 프로토콜입니다. 주로 Cisco Unified Communications Manager (이전의 CallManager)와 Cisco IP 전화 또는 기타 Cisco 음성 및 비디오 엔드포인트 간의 통신에 사용됩니다.
SCCP는 통화 제어 서버와 엔드포인트 장치 간의 통신을 단순화하는 경량 프로토콜입니다. 다른 VoIP 프로토콜인 H.323 또는 SIP에 비해 최소한의 설계와 대역폭 요구 사항으로 인해 "스키니"라고 불립니다.
SCCP 기반 시스템의 주요 구성 요소는 다음과 같습니다:
- 콜 제어 서버: 일반적으로 Cisco Unified Communications Manager인 이 서버는 통화 설정, 수정 및 종료 프로세스와 통화 포워딩, 통화 전환 및 통화 보류와 같은 기타 전화 기능을 관리합니다.
- SCCP 엔드포인트: IP 전화, 비디오 회의 장치 또는 SCCP를 사용하여 콜 제어 서버와 통신하는 기타 Cisco 음성 및 비디오 엔드포인트와 같은 장치입니다. 이들은 서버에 등록하고, 신호 메시지를 보내고 받고, 통화 처리를 위한 콜 제어 서버의 지침을 따릅니다.
- 게이트웨이: 이러한 장치, 예를 들어 음성 게이트웨이 또는 미디어 게이트웨이는 전통적인 회로 교환 전화와 패킷 교환 IP 네트워크 간에 미디어 스트림을 변환하는 책임이 있습니다. 추가 기능으로 트랜스코딩 또는 에코 취소를 포함할 수 있습니다.
SCCP는 Cisco 통화 제어 서버와 엔드포인트 장치 간의 간단하고 효율적인 통신 방법을 제공합니다. 그러나 SCCP는 독점 프로토콜이므로 비-Cisco 시스템과의 상호 운용성을 제한할 수 있습니다. 이러한 경우 SIP와 같은 다른 표준 VoIP 프로토콜이 더 적합할 수 있습니다.
H.323
H.323은 패킷 교환 네트워크, 예를 들어 IP 기반 네트워크를 통해 음성, 비디오 및 데이터 회의를 포함한 멀티미디어 통신을 위한 프로토콜 모음입니다. 국제 전기 통신 연합 (ITU-T)에 의해 개발되었으며, 멀티미디어 통신 세션을 관리하기 위한 포괄적인 프레임워크를 제공합니다.
H.323 모음의 주요 구성 요소는 다음과 같습니다:
- 단말: H.323을 지원하고 멀티미디어 통신 세션에 참여할 수 있는 IP 전화, 비디오 회의 시스템 또는 소프트웨어 애플리케이션과 같은 엔드포인트 장치입니다.
- 게이트웨이: 이러한 장치는 전통적인 회로 교환 전화와 패킷 교환 IP 네트워크 간에 미디어 스트림을 변환하여 H.323과 다른 통신 시스템 간의 상호 운용성을 가능하게 합니다. 추가 기능으로 트랜스코딩 또는 에코 취소를 포함할 수 있습니다.
- 게이트키퍼: H.323 네트워크에서 통화 제어 및 관리 서비스를 제공하는 선택적 구성 요소입니다. 주소 변환, 대역폭 관리 및 수용 제어와 같은 기능을 수행하여 네트워크 자원을 관리하고 최적화하는 데 도움을 줍니다.
- 다중 제어 장치 (MCU): 이러한 장치는 여러 엔드포인트의 미디어 스트림을 관리하고 혼합하여 다중 회의를 촉진합니다. MCU는 비디오 레이아웃 제어, 음성 활성화 전환 및 지속적인 존재와 같은 기능을 가능하게 하여 여러 참가자가 있는 대규모 회의를 개최할 수 있게 합니다.
H.323은 다양한 오디오 및 비디오 코덱과 통화 포워딩, 통화 전환, 통화 보류 및 통화 대기와 같은 기타 보조 서비스를 지원합니다. VoIP 초기 단계에서 널리 채택되었지만, H.323은 점차 **세션 시작 프로토콜 (SIP)**과 같은 더 현대적이고 유연한 프로토콜로 대체되고 있습니다. 그러나 H.323은 많은 레거시 시스템에서 여전히 사용되고 있으며 다양한 장비 공급업체에 의해 지원되고 있습니다.
IAX (인터 아스틱스 교환)
IAX (인터-아스틱스 교환)는 주로 Asterisk PBX (사설 교환) 서버와 기타 VoIP 장치 간의 통신에 사용되는 신호 및 통화 제어 프로토콜입니다. Asterisk 오픈 소스 PBX 소프트웨어의 제작자인 Mark Spencer에 의해 SIP 및 H.323과 같은 다른 VoIP 프로토콜의 대안으로 개발되었습니다.
IAX는 단순성, 효율성 및 구현 용이성으로 알려져 있습니다. IAX의 주요 기능은 다음과 같습니다:
- 단일 UDP 포트: IAX는 신호 및 미디어 트래픽 모두에 대해 단일 UDP 포트(4569)를 사용하여 방화벽 및 NAT 통과를 단순화하고 다양한 네트워크 환경에서 배포를 용이하게 합니다.
- 이진 프로토콜: SIP와 같은 텍스트 기반 프로토콜과 달리 IAX는 이진 프로토콜로, 대역폭 소비를 줄이고 신호 및 미디어 데이터를 전송하는 데 더 효율적입니다.
- 트렁킹: IAX는 여러 통화를 단일 네트워크 연결로 결합할 수 있는 트렁킹을 지원하여 오버헤드를 줄이고 대역폭 활용을 개선합니다.
- 네이티브 암호화: IAX는 RSA와 같은 방법을 사용하여 키 교환을 수행하고 AES를 사용하여 미디어 암호화를 제공하는 암호화에 대한 기본 지원을 제공합니다.
- 피어 투 피어 통신: IAX는 중앙 서버 없이 엔드포인트 간의 직접 통신에 사용할 수 있어 더 간단하고 효율적인 통화 라우팅을 가능하게 합니다.
이점에도 불구하고 IAX는 Asterisk 생태계에 주로 초점을 맞추고 있으며 SIP와 같은 더 확립된 프로토콜에 비해 널리 채택되지 않았습니다. 따라서 IAX는 비-Asterisk 시스템이나 장치와의 상호 운용성에 최선의 선택이 아닐 수 있습니다. 그러나 Asterisk 환경 내에서 작업하는 경우 IAX는 VoIP 통신을 위한 강력하고 효율적인 솔루션을 제공합니다.
전송 및 전송 프로토콜
SDP (세션 설명 프로토콜)
SDP (세션 설명 프로토콜)는 IP 네트워크를 통한 음성, 비디오 또는 데이터 회의와 같은 멀티미디어 세션의 특성을 설명하는 데 사용되는 텍스트 기반 형식입니다. **인터넷 엔지니어링 태스크 포스 (IETF)**에 의해 개발되었으며 RFC 4566에 정의되어 있습니다. SDP는 실제 미디어 전송이나 세션 설정을 처리하지 않지만, **SIP (세션 시작 프로토콜)**과 같은 다른 신호 프로토콜과 함께 사용되어 미디어 스트림 및 그 속성에 대한 정보를 협상하고 교환하는 데 사용됩니다.
SDP의 주요 요소는 다음과 같습니다:
- 세션 정보: SDP는 세션 이름, 세션 설명, 시작 시간 및 종료 시간을 포함하여 멀티미디어 세션의 세부 정보를 설명합니다.
- 미디어 스트림: SDP는 미디어 유형(오디오, 비디오 또는 텍스트), 전송 프로토콜(예: RTP 또는 SRTP) 및 미디어 형식(예: 코덱 정보)과 같은 미디어 스트림의 특성을 정의합니다.
- 연결 정보: SDP는 미디어가 전송되거나 수신되어야 하는 네트워크 주소(IP 주소) 및 포트 번호에 대한 정보를 제공합니다.
- 속성: SDP는 세션 또는 미디어 스트림에 대한 추가적인 선택적 정보를 제공하기 위해 속성 사용을 지원합니다. 속성은 암호화 키, 대역폭 요구 사항 또는 미디어 제어 메커니즘과 같은 다양한 기능을 지정하는 데 사용될 수 있습니다.
SDP는 일반적으로 다음 프로세스에서 사용됩니다:
- 시작 당사자가 미디어 스트림 및 그 속성의 세부 정보를 포함하여 제안된 멀티미디어 세션의 SDP 설명을 생성합니다.
- SDP 설명은 일반적으로 SIP 또는 RTSP와 같은 신호 프로토콜 메시지 내에 포함되어 수신 당사자에게 전송됩니다.
- 수신 당사자는 SDP 설명을 처리하고, 자신의 기능에 따라 제안된 세션을 수락, 거부 또는 수정할 수 있습니다.
- 최종 SDP 설명은 신호 프로토콜 메시지의 일부로 시작 당사자에게 다시 전송되어 협상 프로세스를 완료합니다.
SDP의 단순성과 유연성 덕분에 다양한 통신 시스템에서 멀티미디어 세션을 설명하는 데 널리 채택된 표준이 되었으며, IP 네트워크를 통한 실시간 멀티미디어 세션을 설정하고 관리하는 데 중요한 역할을 합니다.
RTP / RTCP / SRTP / ZRTP
- RTP (실시간 전송 프로토콜): RTP는 IP 네트워크를 통해 오디오 및 비디오 데이터 또는 기타 실시간 미디어를 전달하기 위해 설계된 네트워크 프로토콜입니다. IETF에 의해 개발되었으며 RFC 3550에 정의되어 있습니다. RTP는 SIP 및 H.323과 같은 신호 프로토콜과 함께 사용되어 멀티미디어 통신을 가능하게 합니다. RTP는 미디어 스트림의 동기화, 순서 지정 및 타임스탬프 메커니즘을 제공하여 매끄럽고 적시의 미디어 재생을 보장합니다.
- RTCP (실시간 전송 제어 프로토콜): RTCP는 RTP의 동반 프로토콜로, 서비스 품질(QoS)을 모니터링하고 미디어 스트림 전송에 대한 피드백을 제공합니다. RTP와 동일한 RFC 3550에 정의되어 있으며, RTCP는 RTP 세션의 참가자 간에 주기적으로 제어 패킷을 교환합니다. 패킷 손실, 지터 및 왕복 시간과 같은 정보를 공유하여 네트워크 조건을 진단하고 적응하는 데 도움을 주어 전체 미디어 품질을 개선합니다.
- SRTP (보안 실시간 전송 프로토콜): SRTP는 미디어 스트림에 대한 암호화, 메시지 인증 및 재전송 방지를 제공하는 RTP의 확장입니다. RFC 3711에 정의되어 있으며, SRTP는 AES와 같은 암호화 알고리즘과 HMAC-SHA1을 메시지 인증에 사용합니다. SRTP는 종종 TLS를 통한 SIP와 같은 보안 신호 프로토콜과 결합되어 멀티미디어 통신에서 종단 간 보안을 제공합니다.
- ZRTP (짐머만 실시간 전송 프로토콜): ZRTP는 RTP 미디어 스트림에 대한 종단 간 암호화를 제공하는 암호화 키 합의 프로토콜입니다. PGP의 제작자인 Phil Zimmermann에 의해 개발되었으며 RFC 6189에 설명되어 있습니다. ZRTP는 키 교환을 위해 신호 프로토콜에 의존하는 SRTP와 달리 신호 프로토콜과 독립적으로 작동하도록 설계되었습니다. Diffie-Hellman 키 교환을 사용하여 통신 당사자 간에 사전 신뢰나 공개 키 인프라(PKI) 없이 공유 비밀을 설정합니다. ZRTP는 또한 중간자 공격으로부터 보호하기 위해 **짧은 인증 문자열(SAS)**과 같은 기능을 포함합니다.
이러한 프로토콜은 IP 네트워크를 통한 실시간 멀티미디어 통신의 전달 및 보안에서 필수적인 역할을 합니다. RTP와 RTCP는 실제 미디어 전송 및 품질 모니터링을 처리하고, SRTP와 ZRTP는 전송된 미디어가 도청, 변조 및 재전송 공격으로부터 보호되도록 보장합니다.
{% hint style="success" %}
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 팁을 공유하세요.