Zpět na seznam článků     Číst komentáře (0)     Verze pro tisk

Bezpečnost VoIP (2)

Autor: phr3akDom   
18.11.2012

Další díl seriálu o penetračním testování VoIP. V dnešním díle se zaměřím na protokol SIP a popíši požadavky/odpovědi se kterými se můžeme setkat.


Základy SIP

SIP (Session Initiation Protocol) je protokol sloužící k nastavení, ukončení a upravování hlasového a/nebo video trafficu, který je přenášen protokolem RTP (Real Time Transport Protocol). SIP je protokol aplikační vrstvy, který používá pro přenos UDP (také může být použit TCP nebo SCTP).

  • SIP obvykle používá TCP nebo UDP port 5060 pro nezacryptovanou komunikaci nebo 5061 pro zacryptovanou komunikaci s použitím TLS.

    SIP je protokol založený na ASCII a má některé obdobné prvky jako HTTP, například používá Request/Respons model. Stejně jako HTTP request z prohlížeče, je SIP požadavek tvořen SIP URI, informací o User Agentu a samotným SIP požadavkem. SIP používá adresu podobnou emailu:

    user/phone@domain/ip

    Takhle nějak vypadá typická SIP URI:


    sip:205@192.168.1.100
    sip:username@pbx.com
    sip:205@192.168.1.100:5060

    Podle odeslaného požadavku obdrží client odpověď obsahující status nebo příslušný error code. Následující tabulka obsahuje SIP požadavky společně s jejich popisem.

    Request tabulka

    Request

       Popis:

    INVITE

    Používá se k pozvání uživatele do hovoru

    ACK

    Uznání INVITE požadavku

    CANCEL

    Zamítne požadavek čekající na vyřízení

    REGISTER

    Registruje uživatele a SIP server

    BYE

    Ukončí probíhající hovor mezi dvěma uživateli

    REFER

    Označuje že příjemce (identifikován podle URI požadavku) by měl kontaktovat třetí stranu s použitím kontaktních informací uvedených v požadavku

    SUBSCRIBE 

    Metoda SUBSCRIBE je používána k získání aktuálního stavu a updatu stavu vzdáleného nodu.

    NOTIFY

    Metoda NOTIFY se používá k upozornění, že došlo k události, která byla požadována předchozí metodou SUBSCRIBE

    OPTIONS

    Vypíše informace o možnostech volajícího


    Ukázka SIP INVITE požadavku:

    1. INVITE sip:201@192.168.1.104 SIP/2.0
    2. Via: SIP/2.0/UDP 192.168.1.102;rport;branch=z9hG4bKvbxaoqar
    3. Max-Forwards: 70
    4. To:
    5. From: "NightRanger" ;tag=eihgg
    6. Call-ID: hfxsabthoymshub@backtrack
    7. CSeq: 649 INVITE
    8. Contact:
    9. Content-Type: application/sdp
    10. Allow: INVITE,ACK,BYE,CANCEL,OPTIONS,PRACK,REFER,NOTIFY,SUBSCRIBE,INFO,MESSAGE
    11. Supported: replaces,norefersub,100rel
    12. User-Agent: Twinkle/1.2
    13. Content-Length: 310
    Response tabulka

    Response

       Popis

    1xx

    Informační odpověď, žádost byla přijata a je zpracovávána

    2xx

    Úspěšná odpověď, žádost byla úspěšně obdržena a schválena

    3xx

    Odpověď informující o přesměrování

    4xx

    Odpověď informující o chybě v requestu, obsahuje špatnou syntaxi nebo nemůže být serverem splněna.

    5xx

    Odpověď informující o chybě na straně serveru - validní request nemůže být serverem zpracován

    6xx

    Globální chybové odpovědi - request nemůže být zpracován na žádném serveru


    Ukázka SIP “Trying” response:

    1. SIP/2.0 100 Trying
    2. Via: SIP/2.0/UDP 192.168.1.102;branch=z9hG4bKpmphujka;received=192.168.1.102;rport=5060
    3. From: "NIghtRanger" ;tag=eihgg
    4. To:
    5. Call-ID: hfxsabthoymshub@backtrack
    6. CSeq: 650 INVITE
    7. User-Agent: Asterisk PBX
    8. Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
    9.  
    10. Supported: replaces
    11. Contact:
    12. Content-Length: 0

    Ukázka SIP komunikace mezi dvěma telefony:



  • Volající telefon odešle INVITE
  • Volaný telefon odešle zpět response 100 - Trying
  • Volaný telefon začne vyzvánět a odešle zpět response 180 - Ringing
  • Když volaný zvedne telefon, je zpět odeslán response 200 - OK
  • Volaný telefon odešle ACK response
  • Konverzace probíhá přes RTP data
  • Když volající položí telefon je odeslán BYE response
  • Volající telefon reaguje response 200 - OK

    To je pro dnešek všechno. Příště se konečně zaměříme na samotný útok. Případné překladové chyby (i jiné) piště do komentářů.


    ZDROJ


  • Líbil se Vám článek?
    Budeme potěšeni, pokud vás zaujme také reklamní nabídka

    Social Bookmarking

         





    Hodnocení/Hlasovalo: 1.67/3

    1  2  3  4  5    
    (známkování jako ve škole)