Basic VoIP Protocols

Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

WhiteIntel è un motore di ricerca alimentato dal dark web che offre funzionalità gratuite per verificare se un'azienda o i suoi clienti sono stati compromessi da malware ruba-informazioni.

Il loro obiettivo principale di WhiteIntel è contrastare le violazioni degli account e gli attacchi ransomware derivanti da malware che ruba informazioni.

Puoi visitare il loro sito web e provare il loro motore gratuitamente su:


Protocolli di Segnalazione

SIP (Session Initiation Protocol)

Questo è lo standard del settore, per ulteriori informazioni controlla:

MGCP (Media Gateway Control Protocol)

MGCP (Media Gateway Control Protocol) è un protocollo di segnalazione e controllo delle chiamate delineato nella RFC 3435. Opera in un'architettura centralizzata, che è composta da tre componenti principali:

  1. 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.

  2. Media Gateways (MG) o Slave Gateways: 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 trascodifica, la pacchettizzazione e la cancellazione dell'eco.

  3. Signaling Gateways (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 es. SS7) e reti basate su IP (ad es. SIP o H.323). I gateway di segnalazione sono cruciali per l'interoperabilità e per garantire che le informazioni di controllo delle chiamate siano 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 e dei gateway di segnalazione, fornendo una maggiore scalabilità, affidabilità ed efficienza nelle reti di telecomunicazioni.

SCCP (Skinny Client Control Protocol)

Il Protocollo di Controllo Client Magro (SCCP) è un protocollo di segnalazione e controllo delle chiamate proprietario di proprietà di Cisco Systems. È principalmente utilizzato 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. È 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:

  1. 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 di chiamata, il trasferimento di chiamata e la messa in attesa.

  2. 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.

  3. Gateway: Questi dispositivi, come gateway vocali o gateway multimediali, sono responsabili della conversione dei flussi multimediali 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 trascodifica o la cancellazione 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 potrebbero essere più adatti.

H.323

H.323 è una suite di protocolli per la comunicazione multimediale, inclusa la voce, la videochiamata e la videoconferenza su reti a commutazione di pacchetto, come le reti basate su IP. È stato sviluppato dall'Unione Internazionale delle Telecomunicazioni (ITU-T) e fornisce un quadro completo per la gestione delle sessioni di comunicazione multimediale.

Alcuni componenti chiave della suite H.323 includono:

  1. 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.

  2. Gateway: Questi dispositivi convertono flussi multimediali 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 trascodifica o la cancellazione dell'eco.

  3. 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 di ammissione, aiutando a gestire e ottimizzare le risorse di rete.

  4. Unità di Controllo Multipunto (MCU): Questi dispositivi facilitano le conferenze multipunto gestendo e mescolando flussi multimediali da più endpoint. Le MCU consentono funzionalità come il controllo del layout video, il commutatore attivato dalla voce e la presenza continua, consentendo di ospitare conferenze su larga scala con più partecipanti.

H.323 supporta una serie di codec audio e video, nonché altri servizi supplementari come il trasferimento di chiamata, il trasferimento di chiamata, la messa in attesa e l'attesa della chiamata. Nonostante la sua ampia adozione nei primi giorni della 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 rimane in uso in molti sistemi legacy e continua ad 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 dispositivi VoIP. È stato sviluppato da Mark Spencer, il creatore del software PBX open-source Asterisk, come alternativa ad altri protocolli VoIP come SIP e H.323.

IAX è noto per la sua semplicità, efficienza e facilità di implementazione. Alcune caratteristiche chiave di IAX includono:

  1. Porta UDP singola: IAX utilizza una singola porta UDP (4569) per il traffico di segnalazione e media, semplificando il firewall e il NAT traversal, rendendolo più facile da implementare in vari ambienti di rete.

  2. Protocollo binario: A differenza dei protocolli basati su testo come SIP, IAX è un protocollo binario, che riduce il consumo di larghezza di banda e lo rende più efficiente per la trasmissione di dati di segnalazione e media.

  3. Trunking: IAX supporta il trunking, che consente di combinare più chiamate in una singola connessione di rete, riducendo il sovraccarico e migliorando l'utilizzo della larghezza di banda.

  4. Crittografia nativa: IAX ha il supporto integrato per la crittografia, utilizzando metodi come RSA per lo scambio di chiavi e AES per la crittografia dei media, fornendo una comunicazione sicura tra gli endpoint.

  5. Comunicazione peer-to-peer: IAX può essere utilizzato per la comunicazione diretta tra gli endpoint senza la necessità di un server centrale, consentendo un routing delle chiamate più semplice ed efficiente.

Nonostante i suoi vantaggi, IAX ha alcune limitazioni, come il suo focus principale sull'ecosistema Asterisk e una diffusione meno ampia rispetto a protocolli più consolidati come SIP. Di conseguenza, IAX potrebbe non essere la scelta migliore per l'interoperabilità con sistemi o dispositivi non Asterisk. Tuttavia, per coloro che lavorano all'interno dell'ambiente Asterisk, IAX offre una soluzione robusta ed efficiente per la comunicazione VoIP.

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 di dati, su reti IP. È stato sviluppato dall'Internet Engineering Task Force (IETF) e è definito in RFC 4566. SDP non gestisce effettivamente la trasmissione dei media o l'instaurazione della sessione, ma viene utilizzato insieme ad altri protocolli di segnalazione, come SIP (Session Initiation Protocol), per negoziare e scambiare informazioni sui flussi multimediali e le loro caratteristiche.

Alcuni elementi chiave di SDP includono:

  1. 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 di fine.

  2. 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).

  3. Informazioni sulla connessione: SDP fornisce informazioni sull'indirizzo di rete (indirizzo IP) e il numero di porta dove i media devono essere inviati o ricevuti.

  4. Attributi: SDP supporta l'uso di attributi per fornire informazioni aggiuntive, facoltative, 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.

Di solito, SDP viene utilizzato nel seguente processo:

  1. Una parte iniziatrice crea una descrizione SDP della sessione multimediale proposta, inclusi i dettagli dei flussi multimediali e le loro caratteristiche.

  2. La descrizione SDP viene inviata alla parte ricevente, di solito incorporata in un messaggio di protocollo di segnalazione come SIP o RTSP.

  3. La parte ricevente elabora la descrizione SDP e, in base alle sue capacità, può accettare, rifiutare o modificare la sessione proposta.

  4. La descrizione SDP finale viene inviata di nuovo 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 descrivere sessioni multimediali in vari sistemi di comunicazione, svolgendo un ruolo cruciale nell'instaurare e gestire sessioni multimediali in tempo reale su reti IP.

RTP / RTCP / SRTP / ZRTP

  1. RTP (Real-time Transport Protocol): RTP è un protocollo di rete progettato per la consegna di dati audio e video, o di altri media in tempo reale, su reti IP. Sviluppato dall'IETF e definito in RFC 3550, RTP è comunemente utilizzato con protocolli di segnalazione come SIP e H.323 per abilitare la comunicazione multimediale. RTP fornisce meccanismi per la sincronizzazione, la sequenzializzazione e il timestamping dei flussi multimediali, contribuendo a garantire una riproduzione media fluida e tempestiva.

  2. 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 perdita di pacchetti, jitter e tempo di andata e ritorno, che aiutano a diagnosticare e adattarsi alle condizioni di rete, migliorando la qualità complessiva dei media.

  3. 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 in RFC 3711, SRTP utilizza algoritmi crittografici come AES per la crittografia e HMAC-SHA1 per l'autenticazione dei messaggi. SRTP è spesso utilizzato in combinazione con protocolli di segnalazione sicuri come SIP su TLS per fornire sicurezza end-to-end nella comunicazione multimediale.

  4. ZRTP (Zimmermann Real-time Transport Protocol): ZRTP è un protocollo di accordo chiave crittografico che fornisce crittografia end-to-end per i flussi multimediali RTP. Sviluppato da Phil Zimmermann, il creatore di PGP, ZRTP è descritto in 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 fiducia preventiva o un'infrastruttura a chiave pubblica (PKI). ZRTP include anche funzionalità come Short Authentication Strings (SAS) per proteggersi dagli attacchi man-in-the-middle.

Questi protocolli svolgono ruoli essenziali nella consegna e sicurezza della comunicazione multimediale in tempo reale su reti IP. Mentre RTP e RTCP gestiscono effettivamente la trasmissione dei media e il monitoraggio della qualità, SRTP e ZRTP garantiscono che i media trasmessi siano protetti da intercettazioni, manipolazioni e attacchi di replay.

Last updated