.. | ||
README.md | ||
sip-session-initiation-protocol.md |
기본 VoIP 프로토콜
htARTE (HackTricks AWS Red Team Expert)를 통해 **제로**부터 **히어로**까지 AWS 해킹을 배우세요!
HackTricks를 지원하는 다른 방법들:
- 회사 광고를 원하거나 PDF 형식의 HackTricks 다운로드를 원하신다면 구독 요금제를 확인하세요!
- 공식 PEASS & HackTricks 굿즈를 구매하세요
- The PEASS Family를 발견하세요, 독점 NFTs 컬렉션
- Discord 그룹에 가입하세요 💬(https://discord.gg/hRep4RUj7f) 또는 텔레그램 그룹에 가입하거나 트위터 🐦 @carlospolopm를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
WhiteIntel
WhiteIntel은 다크 웹을 활용한 검색 엔진으로, 회사나 그 고객이 스틸러 악성 소프트웨어에 의해 침해되었는지 무료로 확인할 수 있는 기능을 제공합니다.
WhiteIntel의 주요 목표는 정보 도난 악성 소프트웨어로 인한 계정 탈취 및 랜섬웨어 공격을 막는 것입니다.
그들의 웹사이트를 확인하고 무료로 엔진을 시험해 볼 수 있습니다:
{% embed url="https://whiteintel.io" %}
시그널링 프로토콜
SIP (Session Initiation Protocol)
이것은 산업 표준입니다. 자세한 정보는 확인하세요:
{% content-ref url="sip-session-initiation-protocol.md" %} sip-session-initiation-protocol.md {% endcontent-ref %}
MGCP (Media Gateway Control Protocol)
MGCP (Media Gateway Control Protocol)는 RFC 3435에서 개요가 제시된 시그널링 및 콜 제어 프로토콜입니다. 이는 세 가지 주요 구성 요소로 이루어진 중앙 집중형 아키텍처에서 작동합니다:
- 콜 에이전트 또는 미디어 게이트웨이 컨트롤러 (MGC): MGCP 아키텍처의 마스터 게이트웨이는 미디어 게이트웨이를 관리하고 제어합니다. 콜 설정, 수정 및 종료 프로세스를 처리합니다. MGC는 MGCP 프로토콜을 사용하여 미디어 게이트웨이와 통신합니다.
- 미디어 게이트웨이 (MGs) 또는 슬레이브 게이트웨이: 이러한 장치들은 서로 다른 네트워크 간에 디지털 미디어 스트림을 변환합니다. 예를 들어 전통적인 회로 교환 전화망과 패킷 교환 IP 네트워크입니다. 이들은 MGC에 의해 관리되며 그로부터 받은 명령을 실행합니다. 미디어 게이트웨이에는 트랜스코딩, 패킷화 및 에코 캔슬레이션과 같은 기능이 포함될 수 있습니다.
- 시그널링 게이트웨이 (SGs): 이러한 게이트웨이는 서로 다른 네트워크 간의 시그널링 메시지를 변환하여 전통적인 전화 시스템 (예: SS7)과 IP 기반 네트워크 (예: SIP 또는 H.323) 간의 원활한 통신을 가능하게 합니다. 시그널링 게이트웨이는 상호 운용성을 위해 중요하며 다른 네트워크 간에 콜 제어 정보가 올바르게 통신되도록 보장합니다.
요약하면, MGCP는 콜 제어 논리를 콜 에이전트에 중앙 집중화하여 미디어 및 시그널링 게이트웨이의 관리를 단순화하며 통신망에서 더 나은 확장성, 신뢰성 및 효율성을 제공합니다.
SCCP (Skinny Client Control Protocol)
Skinny Client Control Protocol (SCCP)는 Cisco Systems 소유의 전용 시그널링 및 콜 제어 프로토콜입니다. 주로 Cisco Unified Communications Manager (이전에는 CallManager로 알려짐)와 Cisco IP 전화기 또는 다른 Cisco 음성 및 비디오 엔드포인트 간의 통신에 사용됩니다.
SCCP는 콜 제어 서버와 엔드포인트 장치 간의 통신을 간소화하는 경량 프로토콜입니다. 그 이름이 "Skinny"로 불리는 이유는 다른 VoIP 프로토콜인 H.323 또는 SIP와 비교하여 최소한의 디자인과 줄어든 대역폭 요구 사항 때문입니다.
SCCP 기반 시스템의 주요 구성 요소는 다음과 같습니다:
- 콜 제어 서버: 일반적으로 Cisco Unified Communications Manager로, 콜 설정, 수정 및 종료 프로세스를 관리하며 콜 포워딩, 콜 전달, 콜 보류 등과 같은 다른 전화 기능을 처리합니다.
- SCCP 엔드포인트: 이들은 콜 제어 서버와 통신하기 위해 SCCP를 사용하는 IP 전화기, 비디오 회의 장치 또는 다른 Cisco 음성 및 비디오 엔드포인트와 같은 장치입니다. 이들은 서버에 등록하고, 시그널링 메시지를 보내고 받으며, 콜 처리에 대한 서버에서 제공하는 지시를 따릅니다.
- 게이트웨이: 이러한 장치는 미디어 스트림을 전통적인 회로 교환 전화망과 패킷 교환 IP 네트워크와 같은 서로 다른 네트워크 간에 변환하는 역할을 담당합니다. 트랜스코딩이나 에코 캔슬레이션과 같은 추가 기능을 포함할 수도 있습니다.
SCCP는 Cisco 콜 제어 서버와 엔드포인트 장치 간의 간단하고 효율적인 통신 방법을 제공합니다. 그러나 SCCP는 프로프리어터리 프로토콜이므로 비-Cisco 시스템과의 상호 운용성을 제한할 수 있습니다. 이러한 경우에는 SIP와 같은 다른 표준 VoIP 프로토콜이 더 적합할 수 있습니다.
H.323
H.323은 IP 기반 네트워크와 같은 패킷 교환 네트워크를 통해 음성, 비디오 및 데이터 회의를 포함한 멀티미디어 통신을 위한 프로토콜 스위트입니다. 이는 국제 전기 통신 연합 (ITU-T)에 의해 개발되었으며 멀티미디어 통신 세션을 관리하기 위한 포괄적인 프레임워크를 제공합니다.
H.323 스위트의 주요 구성 요소는 다음과 같습니다:
- 단말기: IP 전화기, 비디오 회의 시스템 또는 소프트웨어 응용 프로그램과 같은 엔드포인트 장치로, H.323를 지원하고 멀티미디어 통신 세션에 참여할 수 있습니다.
- 게이트웨이: 이러한 장치는 서로 다른 네트워크 간에 미디어 스트림을 변환하여 H.323와 다른 통신 시스템 간의 상호 운용성을 가능하게 합니다. 트랜스코딩이나 에코 캔슬레이션과 같은 추가 기능을 포함할 수도 있습니다.
- 게이트키퍼: 이들은 H.323 네트워크에서 콜 제어 및 관리 서비스를 제공하는 선택적인 구성 요소입니다. 주소 변환, 대역폭 관리 및 입장 제어와 같은 기능을 수행하여 네트워크 자원을 관리하고 최적화하는 데 도움을 줍니다.
- 다중 점 제어 장치 (MCU): 이러한 장치는 여러 엔드포인트에서 미디어 스트림을 관리하고 혼합하여 다중 점 회의를 용이하게 합니다. MCU는 비디오 레이아웃 제어, 음성 활성 전환 및 지속적인 존재와 같은 기능을 가능하게 하여 다수 참가자가 있는 대규모 회의를 주최할 수 있게 합니다.
H.323는 다양한 오디오 및 비디오 코덱을 지원하며 콜 포워딩, 콜 전달, 콜 보류 및 콜 대기와 같은 다른 보조 서비스도 제공합니다. VoIP 초기에 널리 채택되었지만, H.323는 더 현대적이고 유연한 SIP와 같은 프로토콜에 점차 대체되었습니다. 그러나 H.323는 여전히 많은 레거시 시스템에서 사용되고 있으며 다양한 장비 공급 업체에 의해 지원되고 있습니다.
IAX (Inter Asterisk eXchange)
IAX (Inter-Asterisk eXchange)는 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 및 H.323와 같은 더 확립된 프로토콜에 비해 보다 적은 보급도를 가지고 있습니다. 결과적으로 IAX는 비-Asterisk 시스템이나 장치와의 상호 운용성에 대한 최선의 선택이 아닐 수 있습니다. 그러나 Asterisk 환경에서 작업하는 경우, IAX는 VoIP 통신에 대한 견고하고 효율적인 솔루션을 제공합니다.
전송 및 전송 프로토콜
SDP (세션 설명 프로토콜)
SDP (Session Description Protocol)은 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의 수반 프로토콜로, 미디어 스트림의 품질 모니터링 및 미디어 전송에 대한 피드백을 제공하는 데 사용됩니다. RTP와 동일한 RFC 3550에서 정의되며, RTCP는 주기적으로 RTP 세션 참가자 간에 제어 패킷을 교환합니다. 이는 패킷 손실, 지터, 및 왕복 시간과 같은 정보를 공유하여 네트워크 상황을 진단하고 적응하여 전반적인 미디어 품질을 향상시킵니다.
- SRTP (안전한 실시간 전송 프로토콜): SRTP는 미디어 스트림을 위한 암호화, 메시지 인증, 및 재생 보호를 제공하는 RTP의 확장입니다. RFC 3711에서 정의되며, SRTP는 암호화를 위해 AES와 같은 암호화 알고리즘 및 메시지 인증을 위해 HMAC-SHA1을 사용합니다. SRTP는 종종 SIP over TLS와 같은 안전한 시그널링 프로토콜과 함께 사용되어 멀티미디어 통신에서 종단 간 보안을 제공합니다.
- ZRTP (짐머만 실시간 전송 프로토콜): ZRTP는 RTP 미디어 스트림에 대한 종단 간 암호화를 제공하는 암호 키 합의 프로토콜입니다. PGP의 창시자 인 Phil Zimmermann에 의해 개발되었으며 RFC 6189에서 설명되었습니다. SRTP가 키 교환을 위해 시그널링 프로토콜에 의존하는 반면, ZRTP는 시그널링 프로토콜과 독립적으로 작동하도록 설계되었습니다. 통신하는 당사자 간에 공유 비밀을 설정하기 위해 Diffie-Hellman 키 교환을 사용하며, 사전 신뢰나 공개 키 인프라 (PKI)를 요구하지 않습니다. ZRTP에는 **Short Authentication Strings (SAS)**와 같은 기능도 포함되어 중간자 공격에 대비합니다.
이러한 프로토콜은 IP 네트워크 상에서 실시간 멀티미디어 통신을 전달하고 보호하는 데 중요한 역할을 합니다. RTP 및 RTCP는 실제 미디어 전송 및 품질 모니터링을 처리하고, SRTP 및 ZRTP는 전송된 미디어가 도청, 변경, 및 재생 공격으로부터 보호되도록 보장합니다.