.. | ||
README.md | ||
sip-session-initiation-protocol.md |
Protocolli VoIP di base
Impara l'hacking di AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata su HackTricks o scaricare HackTricks in PDF Controlla i PACCHETTI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri The PEASS Family, la nostra collezione di NFT esclusivi
- Unisciti al 💬 gruppo Discord o al gruppo Telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos di github.
Protocolli di segnalazione
SIP (Session Initiation Protocol)
Questo è lo standard del settore, per ulteriori informazioni consulta:
{% 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) è un protocollo di segnalazione e controllo delle chiamate descritto nella RFC 3435. Opera in un'architettura centralizzata, che comprende tre componenti principali:
- Call Agent o Media Gateway Controller (MGC): Il gateway principale nell'architettura MGCP è responsabile della gestione e del controllo dei media gateway. Gestisce i processi di configurazione, modifica e terminazione delle chiamate. Il MGC comunica con i media gateway utilizzando il protocollo MGCP.
- Media Gateway (MG) o Slave Gateway: Questi dispositivi convertire flussi di media digitali tra reti diverse, come la telefonia tradizionale a commutazione di circuito e le reti IP a commutazione di pacchetto. Sono gestiti dal MGC ed eseguono i comandi ricevuti da esso. I media gateway possono includere funzioni come la transcodifica, la pacchettizzazione e l'eliminazione dell'eco.
- Signaling Gateway (SG): Questi gateway sono responsabili della conversione dei messaggi di segnalazione tra reti diverse, consentendo una comunicazione senza soluzione di continuità tra sistemi di telefonia tradizionale (ad esempio, SS7) e reti basate su IP (ad esempio, SIP o H.323). I signaling gateway sono fondamentali per l'interoperabilità e garantiscono che le informazioni di controllo delle chiamate vengano comunicate correttamente tra le diverse reti.
In sintesi, MGCP centralizza la logica di controllo delle chiamate nell'agente di chiamata, semplificando la gestione dei media gateway e dei signaling gateway, fornendo una migliore scalabilità, affidabilità ed efficienza nelle reti di telecomunicazioni.
SCCP (Skinny Client Control Protocol)
Skinny Client Control Protocol (SCCP) è un protocollo di segnalazione e controllo delle chiamate proprietario di proprietà di Cisco Systems. Viene utilizzato principalmente per la comunicazione tra Cisco Unified Communications Manager (precedentemente noto come CallManager) e telefoni IP Cisco o altri endpoint vocali e video Cisco.
SCCP è un protocollo leggero che semplifica la comunicazione tra il server di controllo delle chiamate e i dispositivi endpoint. Viene chiamato "Skinny" a causa del suo design minimalista e dei requisiti di larghezza di banda ridotti rispetto ad altri protocolli VoIP come H.323 o SIP.
I principali componenti di un sistema basato su SCCP sono:
- Server di controllo delle chiamate: Questo server, tipicamente un Cisco Unified Communications Manager, gestisce i processi di configurazione, modifica e terminazione delle chiamate, nonché altre funzionalità telefoniche come il trasferimento delle chiamate, il trasferimento delle chiamate e la messa in attesa delle chiamate.
- Endpoint SCCP: Questi sono dispositivi come telefoni IP, unità di videoconferenza o altri endpoint vocali e video Cisco che utilizzano SCCP per comunicare con il server di controllo delle chiamate. Si registrano presso il server, inviano e ricevono messaggi di segnalazione e seguono le istruzioni fornite dal server di controllo delle chiamate per la gestione delle chiamate.
- Gateway: Questi dispositivi, come gateway vocali o gateway multimediali, sono responsabili della conversione dei flussi di media tra reti diverse, come la telefonia tradizionale a commutazione di circuito e le reti IP a commutazione di pacchetto. Possono includere anche funzionalità aggiuntive, come la transcodifica o l'eliminazione dell'eco.
SCCP offre un metodo di comunicazione semplice ed efficiente tra i server di controllo delle chiamate Cisco e i dispositivi endpoint. Tuttavia, è importante notare che SCCP è un protocollo proprietario, il che può limitare l'interoperabilità con sistemi non Cisco. In tali casi, altri protocolli VoIP standard come SIP possono essere più adatti.
H.323
H.323 è una suite di protocolli per la comunicazione multimediale, inclusa la voce, la videoconferenza e la conferenza dati su reti a commutazione di pacchetto, come le reti basate su IP. È stato sviluppato dall'Unione Internazionale delle Telecomunicazioni (ITU-T) e fornisce un framework completo per la gestione delle sessioni di comunicazione multimediale.
Alcuni componenti chiave della suite H.323 includono:
- Terminali: Questi sono dispositivi endpoint, come telefoni IP, sistemi di videoconferenza o applicazioni software, che supportano H.323 e possono partecipare a sessioni di comunicazione multimediale.
- Gateway: Questi dispositivi convertono flussi di media tra reti diverse, come la telefonia tradizionale a commutazione di circuito e le reti IP a commutazione di pacchetto, consentendo l'interoperabilità tra H.323 e altri sistemi di comunicazione. Possono includere anche funzionalità aggiuntive, come la transcodifica o l'eliminazione dell'eco.
- Gatekeeper: Questi sono componenti opzionali che forniscono servizi di controllo e gestione delle chiamate in una rete H.323. Svolgono funzioni come la traduzione degli indirizzi, la gestione della larghezza di banda e il controllo dell'ammissione, contribuendo a gestire e ottimizzare le risorse di rete.
- Unità di controllo multipunto (MCU): Questi dispositivi facilitano le conferenze multipunto gestendo e mixando flussi di media provenienti da più endpoint. Le MCU consentono funzionalità come il controllo del layout video, la commutazione attivata dalla voce e la presenza continua, rendendo possibile ospitare conferenze su larga scala con più partecipanti.
H.323 supporta una serie di codec audio e video, oltre a altri servizi supplementari come il trasferimento delle chiamate, il trasferimento delle chiamate, la messa in attesa delle chiamate e l'attesa delle chiamate. Nonostante la sua diffusa adozione nei primi giorni della telefonia VoIP, H.323 è stato gradualmente sostituito da protocolli più moderni e flessibili come il Session Initiation Protocol (SIP), che offre una migliore interoperabilità e una più facile implementazione. Tuttavia, H.323 continua ad essere utilizzato in molti sistemi legacy e continua a essere supportato da vari fornitori di apparecchiature.
IAX (Inter Asterisk eXchange)
IAX (Inter-Asterisk eXchange) è un protocollo di segnalazione e controllo delle chiamate utilizzato principalmente per la comunicazione tra server Asterisk PBX (Private Branch Exchange) e altri disposit
Protocolli di trasmissione e trasporto
SDP (Session Description Protocol)
SDP (Session Description Protocol) è un formato basato su testo utilizzato per descrivere le caratteristiche delle sessioni multimediali, come voce, video o conferenze dati, su reti IP. È stato sviluppato dal Internet Engineering Task Force (IETF) e viene definito nel RFC 4566. SDP non gestisce la trasmissione effettiva dei media o l'instaurazione della sessione, ma viene utilizzato in combinazione con altri protocolli di segnalazione, come SIP (Session Initiation Protocol), per negoziare e scambiare informazioni sulle flussi multimediali e le loro attributi.
Alcuni elementi chiave di SDP includono:
- Informazioni sulla sessione: SDP descrive i dettagli di una sessione multimediale, inclusi il nome della sessione, la descrizione della sessione, l'ora di inizio e l'ora di fine.
- Flussi multimediali: SDP definisce le caratteristiche dei flussi multimediali, come il tipo di media (audio, video o testo), il protocollo di trasporto (ad esempio, RTP o SRTP) e il formato del media (ad esempio, informazioni sul codec).
- Informazioni sulla connessione: SDP fornisce informazioni sull'indirizzo di rete (indirizzo IP) e il numero di porta in cui i media devono essere inviati o ricevuti.
- Attributi: SDP supporta l'uso di attributi per fornire informazioni aggiuntive e opzionali su una sessione o un flusso multimediale. Gli attributi possono essere utilizzati per specificare varie funzionalità come chiavi di crittografia, requisiti di larghezza di banda o meccanismi di controllo dei media.
SDP viene tipicamente utilizzato nel seguente processo:
- Una parte iniziatrice crea una descrizione SDP della sessione multimediale proposta, inclusi i dettagli dei flussi multimediali e dei loro attributi.
- La descrizione SDP viene inviata alla parte ricevente, di solito incorporata in un messaggio di protocollo di segnalazione come SIP o RTSP.
- La parte ricevente elabora la descrizione SDP e, in base alle sue capacità, può accettare, rifiutare o modificare la sessione proposta.
- La descrizione SDP finale viene inviata nuovamente alla parte iniziatrice come parte del messaggio di protocollo di segnalazione, completando il processo di negoziazione.
La semplicità e la flessibilità di SDP lo rendono uno standard ampiamente adottato per la descrizione di sessioni multimediali in vari sistemi di comunicazione, svolgendo un ruolo cruciale nell'instaurazione e nella gestione di sessioni multimediali in tempo reale su reti IP.
RTP / RTCP / SRTP / ZRTP
- RTP (Real-time Transport Protocol): RTP è un protocollo di rete progettato per la trasmissione di dati audio e video, o altri media in tempo reale, su reti IP. Sviluppato dall'IETF e definito nel RFC 3550, RTP viene comunemente utilizzato con protocolli di segnalazione come SIP e H.323 per consentire la comunicazione multimediale. RTP fornisce meccanismi per la sincronizzazione, la sequenzializzazione e l'assegnazione di timestamp ai flussi multimediali, contribuendo a garantire una riproduzione dei media fluida e tempestiva.
- RTCP (Real-time Transport Control Protocol): RTCP è un protocollo complementare a RTP, utilizzato per monitorare la qualità del servizio (QoS) e fornire feedback sulla trasmissione dei flussi multimediali. Definito nello stesso RFC 3550 di RTP, RTCP scambia periodicamente pacchetti di controllo tra i partecipanti a una sessione RTP. Condivide informazioni come la perdita di pacchetti, la variazione del ritardo e il tempo di andata e ritorno, che aiutano a diagnosticare e adattarsi alle condizioni di rete, migliorando la qualità complessiva dei media.
- SRTP (Secure Real-time Transport Protocol): SRTP è un'estensione di RTP che fornisce crittografia, autenticazione dei messaggi e protezione dal replay per i flussi multimediali, garantendo la trasmissione sicura di dati audio e video sensibili. Definito nel RFC 3711, SRTP utilizza algoritmi crittografici come AES per la crittografia e HMAC-SHA1 per l'autenticazione dei messaggi. SRTP viene spesso utilizzato in combinazione con protocolli di segnalazione sicuri come SIP su TLS per fornire sicurezza end-to-end nella comunicazione multimediale.
- ZRTP (Zimmermann Real-time Transport Protocol): ZRTP è un protocollo di accordo di chiave crittografica che fornisce crittografia end-to-end per i flussi multimediali RTP. Sviluppato da Phil Zimmermann, il creatore di PGP, ZRTP è descritto nel RFC 6189. A differenza di SRTP, che si basa su protocolli di segnalazione per lo scambio di chiavi, ZRTP è progettato per funzionare indipendentemente dal protocollo di segnalazione. Utilizza lo scambio di chiavi Diffie-Hellman per stabilire un segreto condiviso tra le parti che comunicano, senza richiedere una fiducia precedente o un'infrastruttura di chiave pubblica (PKI). ZRTP include anche funzionalità come Short Authentication Strings (SAS) per proteggersi dagli attacchi di tipo man-in-the-middle.
Questi protocolli svolgono ruoli essenziali nella trasmissione e sicurezza della comunicazione multimediale in tempo reale su reti IP. Mentre RTP e RTCP gestiscono la trasmissione effettiva dei media e il monitoraggio della qualità, SRTP e ZRTP garantiscono che i media trasmessi siano protetti da intercettazioni, manipolazioni e attacchi di replay.