hacktricks/network-services-pentesting/pentesting-voip/basic-voip-protocols
2024-04-18 03:37:40 +00:00
..
README.md Translated ['crypto-and-stego/hash-length-extension-attack.md', 'forensi 2024-04-18 03:37:40 +00:00
sip-session-initiation-protocol.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 04:23:52 +00:00

Osnovni VoIP protokoli

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

WhiteIntel

WhiteIntel je pretraživač pokretan dark web-om koji nudi besplatne funkcionalnosti za proveru da li je kompanija ili njeni korisnici kompromitovani od strane malvera za krađu podataka.

Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera za krađu informacija.

Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za besplatno na:

{% embed url="https://whiteintel.io" %}


Signalni protokoli

SIP (Session Initiation Protocol)

Ovo je industrijski standard, za više informacija pogledajte:

{% 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) je signalni i kontrolni protokol poziva opisan u RFC 3435. Radi u centralizovanoj arhitekturi, koja se sastoji od tri glavne komponente:

  1. Pozivni agent ili kontroler medija (MGC): Glavni gateway u MGCP arhitekturi odgovoran je za upravljanje i kontrolu medijskih gateway-a. Obavlja procese postavljanja poziva, modifikacije i završetka. MGC komunicira sa medijskim gateway-ima koristeći MGCP protokol.
  2. Medijski gateway-i (MGs) ili robovi gateway-a: Ovi uređaji konvertuju digitalne medijske tokove između različitih mreža, kao što su tradicionalna prekidačka telefonska mreža i paketski prekidački IP mreža. Upravljaju ih MGC i izvršavaju komande koje dobijaju od njega. Medijski gateway-i mogu obuhvatiti funkcije poput transkodiranja, paketizacije i otklanjanja eha.
  3. Signalni gateway-i (SGs): Ovi gateway-i su odgovorni za konvertovanje signalnih poruka između različitih mreža, omogućavajući besprekornu komunikaciju između tradicionalnih telefonskih sistema (npr. SS7) i IP baziranih mreža (npr. SIP ili H.323). Signalni gateway-i su ključni za interoperabilnost i osiguravanje da se informacije o kontroli poziva pravilno komuniciraju između različitih mreža.

U suštini, MGCP centralizuje logiku kontrole poziva u pozivnom agentu, što pojednostavljuje upravljanje medijskim i signalnim gateway-ima, pružajući bolju skalabilnost, pouzdanost i efikasnost u telekomunikacionim mrežama.

SCCP (Skinny Client Control Protocol)

Skinny Client Control Protocol (SCCP) je vlasnički signalni i kontrolni protokol poziva u vlasništvu kompanije Cisco Systems. Koristi se pretežno za komunikaciju između Cisco Unified Communications Manager (ranije poznat kao CallManager) i Cisco IP telefona ili drugih Cisco glasovnih i video uređaja.

SCCP je lak protokol koji pojednostavljuje komunikaciju između servera kontrole poziva i uređaja na kraju. Naziva se "Skinny" zbog svog minimalističkog dizajna i smanjenih zahteva za propusnost u poređenju sa drugim VoIP protokolima poput H.323 ili SIP.

Glavne komponente sistema zasnovanog na SCCP-u su:

  1. Server kontrole poziva: Ovaj server, obično Cisco Unified Communications Manager, upravlja procesima postavljanja poziva, modifikacije i završetka, kao i drugim telefonskim funkcijama poput preusmeravanja poziva, transfera poziva i zadržavanja poziva.
  2. SCCP uređaji na kraju: To su uređaji poput IP telefona, video konferencijskih jedinica ili drugih Cisco glasovnih i video uređaja koji koriste SCCP za komunikaciju sa serverom kontrole poziva. Oni se registruju kod servera, šalju i primaju signalne poruke i prate instrukcije koje pruža server kontrole poziva za upravljanje pozivima.
  3. Gateway-i: Ovi uređaji, poput glasovnih gateway-a ili medijskih gateway-a, odgovorni su za konvertovanje medijskih tokova između različitih mreža, poput tradicionalne prekidačke telefonske mreže i paketski prekidačkih IP mreža. Mogu obuhvatiti dodatne funkcionalnosti poput transkodiranja ili otklanjanja eha.

SCCP nudi jednostavan i efikasan način komunikacije između Cisco servera kontrole poziva i uređaja na kraju. Međutim, vredi napomenuti da je SCCP vlasnički protokol, što može ograničiti interoperabilnost sa ne-Cisco sistemima. U takvim slučajevima, drugi standardni VoIP protokoli poput SIP-a mogu biti prikladniji.

H.323

H.323 je skup protokola za multimedijalnu komunikaciju, uključujući glas, video i podatkovne konferencije preko paketskih mreža, poput IP baziranih mreža. Razvijen je od strane International Telecommunication Union (ITU-T) i pruža sveobuhvatan okvir za upravljanje multimedijalnim komunikacionim sesijama.

Neki ključni elementi H.323 skupa uključuju:

  1. Terminali: To su uređaji na kraju, poput IP telefona, video konferencijskih sistema ili softverskih aplikacija, koji podržavaju H.323 i mogu učestvovati u multimedijalnim komunikacionim sesijama.
  2. Gateway-i: Ovi uređaji konvertuju medijske tokove između različitih mreža, poput tradicionalne prekidačke telefonske mreže i paketskih IP mreža, omogućavajući interoperabilnost između H.323 i drugih komunikacionih sistema. Mogu obuhvatiti dodatne funkcionalnosti poput transkodiranja ili otklanjanja eha.
  3. Gatekeeper-i: To su opcione komponente koje pružaju usluge kontrole poziva i upravljanja u H.323 mreži. Obavljaju funkcije poput prevođenja adresa, upravljanja propusnošću i kontrolu prijema, pomažući u upravljanju i optimizaciji resursa mreže.
  4. Multipoint Control Units (MCU): Ovi uređaji olakšavaju višepartijske konferencije upravljajući i mešajući medijske tokove sa više uređaja na kraju. MCU-ovi omogućavaju funkcije poput kontrole rasporeda video zapisa, prebacivanja aktivirano glasom i kontinuirane prisutnosti, omogućavajući održavanje konferencija velikog obima sa više učesnika.

H.323 podržava niz audio i video kodeka, kao i druge dodatne usluge poput preusmeravanja poziva, transfera poziva, zadržavanja poziva i čekanja na poziv. Uprkos širokoj upotrebi u ranim danima VoIP-a, H.323 je postepeno zamenjen modernijim i fleksibilnijim protokolima poput Session Initiation Protocol (SIP), koji nudi bolju interoperabilnost i lakšu implementaciju. Međutim, H.323 i dalje se koristi u mnogim zastarelim sistemima i podržava se od strane različitih proizvođača opreme.

IAX (Inter Asterisk eXchange)

IAX (Inter-Asterisk eXchange) je signalni i kontrolni protokol poziva koji se pretežno koristi za komunikaciju između Asterisk PBX (Private Branch Exchange) servera i drugih VoIP uređaja. Razvio ga je Mark Spencer, tvorac otvorenog PBX softvera Asterisk, kao alternativu drugim VoIP protokolima poput SIP-a i H.323.

IAX je poznat po svojoj jednostavnosti, efikasnosti i lakoći implementacije. Neki ključni elementi IAX-a uključuju:

  1. Jedan UDP port: IAX koristi jedan UDP port (4569) za signalizaciju i medijski saobraćaj, što pojednostavljuje prolazak kroz firewall i NAT, olakšavajući implementaciju u različitim mrežnim okruženjima.
  2. Binarni protokol: Za razliku od tekstualnih protokola poput SIP-a, IAX je binarni protokol, što smanjuje potrošnju propusnosti i čini ga efikasnijim za prenos signalnih i medijskih podataka.
  3. Trunking: IAX podržava trunking, što omogućava kombinovanje više poziva u jednu mrežnu vezu, smanjujući opterećenje i poboljšavajući iskorišćenje propusnosti.
  4. Nativna enkripcija: IAX ima ugrađenu podršku za enkripciju, koristeći metode poput RSA za razmenu ključeva i AES za enkripciju medija, pružajući sigurnu komunikaciju između krajnjih tačaka.
  5. Komunikacija između vršnjaka: IAX se može koristiti za direktnu komunikaciju između krajnjih tačaka bez potrebe za centralnim serverom, omogućavajući jednostavnije i efikasnije usmeravanje poziva.

Iako ima svoje prednosti, IAX ima neka ograničenja, poput primarnog fokusa na Asterisk ekosistem i manje široke upotrebe u poređenju sa etabliranim protokolima poput SIP-a. Kao rezultat toga, IAX možda nije najbolji izbor za interoperabilnost sa ne-Asterisk sistemima ili uređajima. Međutim, za one koji rade unutar Asterisk okruženja, IAX nudi robustno i efikasno rešenje za VoIP komunikaciju.

Protokoli za prenos i transport

SDP (Session Description Protocol)

SDP (Session Description Protocol) je tekstualni format koji se koristi za opisivanje karakteristika multimedijalnih sesija, poput glasa, videa ili konferencija podataka, preko IP mreža. Razvijen je od strane Internet Engineering Task Force (IETF) i definisan je u RFC 4566. SDP ne upravlja stvarnom medijskom transmisijom ili uspostavom sesije, već se koristi u kombinaciji sa drugim signalizacijskim protokolima, poput SIP (Session Initiation Protocol), radi pregovaranja i razmene informacija o medijskim tokovima i njihovim atributima.

Neke ključne elemente SDP-a uključuju:

  1. Informacije o sesiji: SDP opisuje detalje multimedijalne sesije, uključujući naziv sesije, opis sesije, vreme početka i završetka.
  2. Medijski tokovi: SDP definiše karakteristike medijskih tokova, poput vrste medija (audio, video ili tekst), transportnog protokola (npr. RTP ili SRTP) i formata medija (npr. informacije o kodeku).
  3. Informacije o vezi: SDP pruža informacije o mrežnoj adresi (IP adresa) i broju porta na kojem bi medij trebalo da bude poslat ili primljen.
  4. Atributi: SDP podržava korišćenje atributa radi pružanja dodatnih, opcionih informacija o sesiji ili medijskom toku. Atributi se mogu koristiti za specificiranje različitih funkcionalnosti poput ključeva za enkripciju, zahteva za propusnost ili mehanizama za kontrolu medija.

SDP se obično koristi u sledećem procesu:

  1. Inicirajuća strana kreira SDP opis predložene multimedijalne sesije, uključujući detalje medijskih tokova i njihove atribute.
  2. SDP opis se šalje primajućoj strani, obično ugrađen unutar signalizacijske poruke poput SIP-a ili RTSP-a.
  3. Primajuća strana obrađuje SDP opis i na osnovu svojih mogućnosti može prihvatiti, odbiti ili modifikovati predloženu sesiju.
  4. Konačan SDP opis se šalje nazad inicirajućoj strani kao deo signalizacijske poruke, završavajući proces pregovaranja.

Jednostavnost i fleksibilnost SDP-a čine ga široko prihvaćenim standardom za opisivanje multimedijalnih sesija u različitim komunikacionim sistemima, igrajući ključnu ulogu u uspostavljanju i upravljanju realnim multimedijalnim sesijama preko IP mreža.

RTP / RTCP / SRTP / ZRTP

  1. RTP (Real-time Transport Protocol): RTP je mrežni protokol dizajniran za dostavu audio i video podataka, ili drugih realnih medija, preko IP mreža. Razvijen od strane IETF i definisan u RFC 3550, RTP se često koristi sa signalizacijskim protokolima poput SIP-a i H.323 radi omogućavanja multimedijalne komunikacije. RTP pruža mehanizme za sinhronizaciju, sekvenciranje i vremensko označavanje medijskih tokova, pomažući u osiguravanju glatke i pravovremene reprodukcije medija.
  2. RTCP (Real-time Transport Control Protocol): RTCP je prateći protokol za RTP, korišćen za praćenje kvaliteta usluge (QoS) i pružanje povratnih informacija o transmisiji medijskih tokova. Definisan u istom RFC 3550 kao RTP, RTCP periodično razmenjuje kontrolne pakete između učesnika u RTP sesiji. Deli informacije poput gubitka paketa, džitera i vremena kašnjenja, što pomaže u dijagnostikovanju i prilagođavanju mrežnim uslovima, poboljšavajući ukupan kvalitet medija.
  3. SRTP (Secure Real-time Transport Protocol): SRTP je proširenje RTP-a koje pruža enkripciju, autentikaciju poruka i zaštitu od reprodukcije za medijske tokove, osiguravajući sigurnu transmisiju osetljivih audio i video podataka. Definisan u RFC 3711, SRTP koristi kriptografske algoritme poput AES za enkripciju i HMAC-SHA1 za autentikaciju poruka. SRTP se često koristi u kombinaciji sa sigurnim signalizacijskim protokolima poput SIP-a preko TLS-a radi pružanja sigurnosti od kraja do kraja u multimedijalnoj komunikaciji.
  4. ZRTP (Zimmermann Real-time Transport Protocol): ZRTP je kriptografski protokol za dogovor o ključu koji pruža enkripciju od kraja do kraja za RTP medijske tokove. Razvijen od strane Phil Zimmermanna, tvorca PGP-a, ZRTP je opisan u RFC 6189. Za razliku od SRTP-a, koji se oslanja na signalizacijske protokole za razmenu ključeva, ZRTP je dizajniran da radi nezavisno od signalizacijskog protokola. Koristi Diffie-Hellman razmenu ključeva za uspostavljanje zajedničke tajne između komunicirajućih strana, bez potrebe za prethodnim poverenjem ili infrastrukturom javnih ključeva (PKI). ZRTP takođe uključuje funkcionalnosti poput Short Authentication Strings (SAS) radi zaštite od napada čoveka u sredini.

Ovi protokoli igraju ključne uloge u dostavljanju i obezbeđivanju sigurne realne multimedijalne komunikacije preko IP mreža. Dok RTP i RTCP upravljaju stvarnom transmisijom medija i praćenjem kvaliteta, SRTP i ZRTP osiguravaju da preneti medij bude zaštićen od prisluškivanja, manipulacije i napada reprodukcije.