SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
T´l´phones
                                ee
                          S´curit´ r´seau
                            e     ee
                      ´
                      Ecoute t´l´phonique
                              ee




                   S´curit´ des syst`mes VoIP
                    e     e         e
                 Ou comment tester ses ´quipements. . .
                                       e


                                Nicolas Bareil
                       nicolas.bareil@eads.net
                       EADS Corporate Research Center
                             SSI Department
                            Suresnes, FRANCE


                               18 Janvier 2007
                                   GITSIS



Nicolas Bareil                     S´curit´ des syst`mes VoIP
                                    e     e         e           1/35
T´l´phones
                                         ee
                                   S´curit´ r´seau
                                     e     ee
                               ´
                               Ecoute t´l´phonique
                                       ee


     Banc de torture


          Montage d’un banc d’essai
             Un Cisco Callmanager 4.x,
                 Deux t´l´phones Cisco (7960 et 7970) ;
                       ee
             ´
          =⇒ Etude de type (( blackbox ))

          Boˆ noire
            ıte
               Configuration inconnue ;
                 Version des firmwares inconnue ;
                 Protocole peu connu ;
                 Aucun manuel fourni.


Nicolas Bareil                              S´curit´ des syst`mes VoIP
                                             e     e         e           2/35
T´l´phones
                                            ee
                                      S´curit´ r´seau
                                        e     ee
                                  ´
                                  Ecoute t´l´phonique
                                          ee


     Plan

                 T´l´phones
                  ee
           1
                   Syst`me physique
                       e
                   D´marrage du t´l´phone
                     e           ee
                   R´seau
                     e

                 S´curit´ r´seau
                  e     ee
           2
                    Architecture
                    TCP Hijacking
                    Man in the middle
                 ´
                 Ecoute t´l´phonique
                         ee
           3
                   Protocole de signalisation
                   Protocole de transport
                   I’m Listening To You

Nicolas Bareil                                 S´curit´ des syst`mes VoIP
                                                e     e         e           3/35
T´l´phones
                                            ee            Syst`me physique
                                                              e
                                      S´curit´ r´seau
                                        e     ee          D´marrage du t´l´phone
                                                           e            ee
                                  ´
                                  Ecoute t´l´phonique
                                          ee              R´seau
                                                           e


     Plan

                 T´l´phones
                  ee
           1
                   Syst`me physique
                       e
                   D´marrage du t´l´phone
                     e           ee
                   R´seau
                     e

                 S´curit´ r´seau
                  e     ee
           2
                    Architecture
                    TCP Hijacking
                    Man in the middle
                 ´
                 Ecoute t´l´phonique
                         ee
           3
                   Protocole de signalisation
                   Protocole de transport
                   I’m Listening To You

Nicolas Bareil                                 S´curit´ des syst`mes VoIP
                                                e     e         e                  4/35
T´l´phones
                                          ee            Syst`me physique
                                                            e
                                    S´curit´ r´seau
                                      e     ee          D´marrage du t´l´phone
                                                         e            ee
                                ´
                                Ecoute t´l´phonique
                                        ee              R´seau
                                                         e


     Mat´riel pr´sent
        e       e




          Avec un peu d’intuition et de curiosit´ :
                                                e
                 Processeur MIPS ( ? ? ?) ;
                 L’espace de stockage ne d´passe pas les 4 Mo ;
                                          e
                 Ports switch et PC bridg´s par d´faut.
                                         e       e




Nicolas Bareil                               S´curit´ des syst`mes VoIP
                                              e     e         e                  5/35
T´l´phones
                                        ee            Syst`me physique
                                                          e
                                  S´curit´ r´seau
                                    e     ee          D´marrage du t´l´phone
                                                       e            ee
                              ´
                              Ecoute t´l´phonique
                                      ee              R´seau
                                                       e


     Configuration r´seau : VLAN
                   e



          VLAN & CDP
          R´cup´ration des informations sur les VLAN disponibles (voix ou
           ee
          donn´es) via le protocole propri´taire Cisco.
              e                           e

          En abuser, ca craint
                     ¸
          Les annonces CDP ne sont pas authentifi´es.
                                                   e
          Sur un r´seau n’utilisant pas les VLAN, que se passe-t-il si on
                  e
          annonce un faux VLAN ?
          =⇒ Cr´ation d’un r´seau virtuel ?
                e             e




Nicolas Bareil                             S´curit´ des syst`mes VoIP
                                            e     e         e                  6/35
T´l´phones
                                       ee            Syst`me physique
                                                         e
                                 S´curit´ r´seau
                                   e     ee          D´marrage du t´l´phone
                                                      e            ee
                             ´
                             Ecoute t´l´phonique
                                     ee              R´seau
                                                      e


     Configuration r´seau : IP
                   e



          Simplement
          R´cup´ration de l’adresse IP via une requˆte DHCP.
           ee                                       e
          L’option 150 identifie l’adresse IP du serveur TFTP (le Call
          Manager en fait).

          Si aucune r´ponse DHCP, r´utilisation de la derni`re configuration
                     e             e                       e
          utilis´e.
                e




Nicolas Bareil                            S´curit´ des syst`mes VoIP
                                           e     e         e                  7/35
T´l´phones
                                          ee            Syst`me physique
                                                            e
                                    S´curit´ r´seau
                                      e     ee          D´marrage du t´l´phone
                                                         e            ee
                                ´
                                Ecoute t´l´phonique
                                        ee              R´seau
                                                         e


     Chargement de la configuration
          T´l´chargement de fichier
           ee
          Les fichiers sont t´l´charg´s par TFTP au d´marrage uniquement.
                            ee      e               e

          Plusieurs types de fichiers :
                    Extension                               Description
                                                   certificate trust list
                      .tlv
                                           universal application loader
                     .loads
                                    secure universal application loader
                      .sbn
                                                          configuration
                      .cnf
                                                   firmware non sign´   e
                      .bin
                                                        firmware sign´  e
                      .sb2
                                                                   Java
                      .jar


Nicolas Bareil                               S´curit´ des syst`mes VoIP
                                              e     e         e                  8/35
T´l´phones
                                         ee            Syst`me physique
                                                           e
                                   S´curit´ r´seau
                                     e     ee          D´marrage du t´l´phone
                                                        e            ee
                               ´
                               Ecoute t´l´phonique
                                       ee              R´seau
                                                        e


     Rogue TFTP server


          Gros fichier toi mˆme !
                           e
          L’envoi d’un gros fichier entraine une fuite m´moire dans le
                                                        e
          padding des trames Ethernet. Overflow ? M´moire non initialis´e ?
                                                      e               e

          >>> a.nzpadding()
          0022 Ether / IP / UDP 10.0.1.11:49946 > 10.0.0.1:33572 / Raw / Padding
          ---> 4C 53 45 50 30 30 31 34 41 38 39 32 34 44          LSEP0014A8924D
          ...
          0536 Ether / IP / TCP 10.0.1.11:50099 > 10.0.0.1:skinny S / Padding
          --->   46 2E                                              F.
          0549 Ether / IP / TCP 10.0.1.11:50103 > 10.0.0.1:skinny S / Padding
          --->   34 44                                              4D
          0560 Ether / IP / TCP 10.0.1.11:50108 > 10.0.0.1:skinny S / Padding
          --->   46 2E                                              F.




Nicolas Bareil                              S´curit´ des syst`mes VoIP
                                             e     e         e                     9/35
T´l´phones
                                           ee            Syst`me physique
                                                             e
                                     S´curit´ r´seau
                                       e     ee          D´marrage du t´l´phone
                                                          e            ee
                                 ´
                                 Ecoute t´l´phonique
                                         ee              R´seau
                                                          e


     Fichier de configuration



          Le Call Manager, un serveur TFTP particulier
          Composition du nom de fichier : SEP.<adresse mac>.cnf.xml
          Les configurations ne sont pas stock´es mais g´n´r´es ` la vol´e !
                                             e         e ee a          e

                 Fichier XML ;
                 Logique invers´e : 0 ⇒ vrai, 1 ⇒ faux ;
                               e
                 Aucune signature cryptographique pr´sente.
                                                    e




Nicolas Bareil                               S´curit´ des syst`mes VoIP
                                              e     e         e                   10/35
T´l´phones
                                                         ee                   Syst`me physique
                                                                                  e
                                                   S´curit´ r´seau
                                                     e     ee                 D´marrage du t´l´phone
                                                                               e            ee
                                               ´
                                               Ecoute t´l´phonique
                                                       ee                     R´seau
                                                                               e


     P00307010200.loads : Signature cryptographique ?
          0100   0201   0102   0002   0194   0300   5B04   0027      ............[..’
          434E   3D73   6F6D   6553   6967   6E65   723B   4F55      CN=someSigner;OU
          3D73   6F6D   654F   7267   556E   6974   3B4F   3D73      =someOrgUnit;O=s
          6F6D   654F   7267   0005   0008   1234   5678   90AB      omeOrg.....4Vx..
          CDEF   0600   2343   4E3D   736F   6D65   4341   3B4F      ....#CN=someCA;O
          553D   736F   6D65   4F72   6755   6E69   743B   4F3D      U=someOrgUnit;O=
          736F   6D65   4F72   6700   0700   0F08   0001   0109      someOrg.........
          0008   0A00   0100   0B00   0102   0C01   0041   4314      .............AC.
                                                                                               Constatations
          E106   1D84   F20E   0B2A   C4B7   F49B   FF0D   CCCC      .......*........
          0F7C   F714   B818   24AE   4B3B   049F   75F8   D32B      .|....$.K;..u..+
                                                                                                   T´l´charg´ `
                                                                                                     ee      ea
          BDAB   8AC0   7E5E   EDFE   9D01   162F   8F65   1877      ....~^...../.e.w
          F092   FC14   A186   37AB   5388   B6AC   27FC   3702      ......7.S...’.7.
                                                                                                   chaque fois ;
          8955   0F89   26DD   3FCF   72C2   3FE3   327F   CB1D      .U..&.?.r.?.2...
          54BF   E577   6DE4   03F8   8BB2   2393   3A21   F2B6      T..wm.....#.:!..
          F07C   9321   0C3B   7382   08C8   B4DE   6AD7   BA4F      .|.!.;s.....j..O
                                                                                                       Ressemble ` un
                                                                                                                   a
          CE7A   8B4F   4FAB   8F7E   E283   8699   05A9   C24D      .z.OO..~.......M
          3B3B   0E05   34C4   9074   9F5B   2482   8322   A084      ;;..4..t.[$..quot;..
                                                                                                       certificat ;
          CC76   71CD   C2E2   3619   1906   EC98   5FC6   63FC      .vq...6....._.c.
          6E74   A693   3E29   5E07   2E9B   D3D0   9E44   6C79      nt..>)^......Dly
                                                                                                       Contient des noms
          81D5   A272   C8B0   44D3   6718   9D7E   081F   81FC      ...r..D.g..~....
          88A6   2BE3   92FB   AC19   4A30   AAC8   27BC   71B7      ..+.....J0..’.q.
                                                                                                       de fichier.
          5A55   8D29   5B87   F44B   EC6B   8C84   3217   012A      ZU.)[..K.k..2..*
          BA84   377C   717B   F6F0   F42E   12BD   55C8   3C3B      ..7|q{......U.<;
          E931   F33D   EB80   E734   8E35   A93B   E30E   0013      .1.=...4.5.;....
          5030   3033   3037   3031   3032   3030   2E6C   6F61      P00307010200.loa
          6473   000D   5030   3033   3037   3031   3032   3030      ds..P00307010200
          2E73   626E   0D0A   5030   3033   3037   3031   3032      .sbn..P003070102
          3030   2E73   6232   0D0A   4C41   5F56   4552   5349      00.sb2..LA_VERSI
          4F4E   3D50   4153   3330   3730   380D   0A                ON=PAS30708..

Nicolas Bareil                                                    S´curit´ des syst`mes VoIP
                                                                   e     e         e                                    11/35
T´l´phones
                                                        ee                 Syst`me physique
                                                                               e
                                                  S´curit´ r´seau
                                                    e     ee               D´marrage du t´l´phone
                                                                            e            ee
                                              ´
                                              Ecoute t´l´phonique
                                                      ee                   R´seau
                                                                            e


     Dissection de ces octets
          x01x00                                          ## d´but de section ?
                                                                e
            x02x01x01
          x02x00                                          ## d´but de section ?
                                                                e
            x02x01x94
          x03x00                                          ## d´but de section ?
                                                                e
            x5b
          x04x00                                          ## d´but de section ?
                                                                e
            x5c
            x27                                            ## longueur : 39 octets
            CN=someSigner;OU=someOrgUnit;O=someOrgx00      ## Certificat Autorit´e
          x05x00                                          ## d´but de section ?
                                                                e
            x08                                            ## longueur : 8 octets
            x12x34x56x78x90xabxcdxef                ## 123456789abcdef Pour l’endianess ?
          x06x00                                          ## d´but de section ?
                                                                e
            x23                                            ## longueur : 35 octets
            CN=someCA;OU=someOrgUnit;O=someOrgx00          ## Certificat racine
          x07x00                                          ## d´but de section ?
                                                                e
            x0f
          x08x00                                          ## d´but de section ?
                                                                e
            x01x01tx00
            x08nx00x01x00
            x0b                                            ## longueur : 11 octets
          x00x01x02x0cx01x00
          ACx14xe1x06x1dx84xf2x0ex0b*xc4xb7xf4x9bxffr
          xccxccx0f|xf7x14xb8x18$xaeK;x04x9fuxf8xd3xbdxabx8axc0~^xedxf
          ex9dx01x16/x8fex18wxf0x92xfcx14xa1x867xabSx88xb6xac’xfc7x02x8
          9Ux0fx89&xdd?xcfrxc2?xe32x7fxcbx1dTxbfxe5wmxe4x03xf8x8bxb2#x93:
          !xf2xb6xf0|x93!x0c;sx82x08xc8xb4xdejxd7xbaOxcezx8bOOxabx8f~xe2
          x83x86x99x05xa9xc2M;;x0ex054xc4x90tx9f[$x82x83quot;xa0x84xccvqxcdxc
          2xe26x19x19x06xecx98_xc6cxfcntxa6x93>^x07.x9bxd3xd0x9eDlyx81xd
          5xa2rxc8xb0Dxd3gx18x9d~x08x1fx81xfcx88xa6xe3x92xfbxacx19J0xaa
          xc8’xbcqxb7ZUx8d[x87xf4Kxeckx8cx842x17x01*xbax847|q{xf6xf0xf4.x12xbdx55xc8
          x3cx3bxe91xf3x3dxebx80xe74x8e5xa9x3bxe3x0ex00 ## MD5? 3C3BE931F33DEB80E7348E35A93BE30E
          x13                                            ## longueur : 19 octets
          P00307010200.loadsx00r                        ## nom de fichier avec octet nul
          P00307010200.sbnrn                            ## nom de fichier
          P00307010200.sb2rn                            ## nom de fichier
          LA_VERSION=PAS30708rn                         ## version du loader

Nicolas Bareil                                               S´curit´ des syst`mes VoIP
                                                              e     e         e                                  12/35
T´l´phones
                                          ee            Syst`me physique
                                                            e
                                    S´curit´ r´seau
                                      e     ee          D´marrage du t´l´phone
                                                         e            ee
                                ´
                                Ecoute t´l´phonique
                                        ee              R´seau
                                                         e


     Chargement du firmware
          Extrait de strings P00307010200.sb2

                 (( The Moving Finger writes ; and, having writ,
                 Moves on : nor all thy Piety nor Wit
                 Shall lure it back to cancel half a Line,
                 Nor all thy Tears wash out a Word of it. ))

                 — Omar Khayyam


          D´sassemblage impossible
           e
              Processeur inconnu ;
                 Format de fichier inconnu : ni ELF, ni PE, etc ;
                 O` est le point d’entr´e du fichier ?
                  u                    e
                 Probl`me de l´galit´.
                      e       e     e
Nicolas Bareil                              S´curit´ des syst`mes VoIP
                                             e     e         e                   13/35
T´l´phones
                                         ee            Syst`me physique
                                                           e
                                   S´curit´ r´seau
                                     e     ee          D´marrage du t´l´phone
                                                        e            ee
                               ´
                               Ecoute t´l´phonique
                                       ee              R´seau
                                                        e


     Scan des t´l´phones : TCP
               ee

          Ports TCP
          Interesting ports on CCM:
          Not shown: 1678 closed ports
                                                     Maigre r´sultat mais. . .
                                                               e
          PORT   STATE SERVICE
          80/tcp open tcpwrapped
                                                     Beaucoup d’informations utiles
                                                     sur le t´l´phone via l’interface
                                                             ee
          Device type: VoIP phone
          Running: Cisco embedded
                                                     Web.
          OS details: Cisco IP Phone 7970G

                                                     Bien prot´g´
                                                               ee
          Protocoles
                                                     Une fois la connexion TCP vers
          Interesting protocols on phoneA:
                                                     le Call Manager ´tablie, on est
                                                                     e
          Not shown: 252 closed protocols
          PROTOCOL STATE         SERVICE
                                                     bloqu´.
                                                           e
          1        open          icmp
          2        open|filtered igmp
          6        open|filtered tcp
          17       filtered      udp


Nicolas Bareil                             S´curit´ des syst`mes VoIP
                                            e     e         e                           14/35
T´l´phones
                                            ee            Syst`me physique
                                                              e
                                      S´curit´ r´seau
                                        e     ee          D´marrage du t´l´phone
                                                           e            ee
                                  ´
                                  Ecoute t´l´phonique
                                          ee              R´seau
                                                           e


     Jute pour rire. . .
          nmap Call Manager
          PORT       STATE   SERVICE           VERSION
          80/tcp     open    http              Microsoft IIS webserver 5.0
          102/tcp    open    iso-tsap?
          135/tcp    open    msrpc             Microsoft Windows RPC
          139/tcp    open    netbios-ssn
          443/tcp    open    ssl/http          Microsoft IIS webserver 5.0
          445/tcp    open    microsoft-ds      Microsoft Windows 2000 microsoft-ds
          1433/tcp   open    ms-sql-s?
          1720/tcp   open    tcpwrapped
          2000/tcp   open    callbook?
          2001/tcp   open    dc?
          2002/tcp   open    globe?
          3389/tcp   open    microsoft-rdp     Microsoft Terminal Service
          8009/tcp   open    ajp13?


          Non !
          On ne tire pas sur les ambulances !
Nicolas Bareil                                S´curit´ des syst`mes VoIP
                                               e     e         e                     15/35
T´l´phones
                                            ee            Syst`me physique
                                                              e
                                      S´curit´ r´seau
                                        e     ee          D´marrage du t´l´phone
                                                           e            ee
                                  ´
                                  Ecoute t´l´phonique
                                          ee              R´seau
                                                           e


     Jute pour rire. . .
          nmap Call Manager
          PORT       STATE   SERVICE           VERSION
          80/tcp     open    http              Microsoft IIS webserver 5.0
          102/tcp    open    iso-tsap?
          135/tcp    open    msrpc             Microsoft Windows RPC
          139/tcp    open    netbios-ssn
          443/tcp    open    ssl/http          Microsoft IIS webserver 5.0
          445/tcp    open    microsoft-ds      Microsoft Windows 2000 microsoft-ds
          1433/tcp   open    ms-sql-s?
          1720/tcp   open    tcpwrapped
          2000/tcp   open    callbook?
          2001/tcp   open    dc?
          2002/tcp   open    globe?
          3389/tcp   open    microsoft-rdp     Microsoft Terminal Service
          8009/tcp   open    ajp13?


          Non !
          On ne tire pas sur les ambulances !
Nicolas Bareil                                S´curit´ des syst`mes VoIP
                                               e     e         e                     15/35
T´l´phones
                                          ee            Syst`me physique
                                                            e
                                    S´curit´ r´seau
                                      e     ee          D´marrage du t´l´phone
                                                         e            ee
                                ´
                                Ecoute t´l´phonique
                                        ee              R´seau
                                                         e


     Cisco Discovery Protocol


          c´d´p´. nom compos´ masculin. protocole de d´couverte r´seau
            eee               e                           e         e
          Protocole ferm´, propri´taire, utilis´ uniquement par les
                        e        e             e
          ´quipements Cisco.
          e

          Espoir ?
          Impl´mentation d’un add-on CDP pour [scapy] :
              e
                 Fuzzing possible ;
                 Injection de fausses annonces ;
                 Debugging du r´seau plus ais´.
                               e             e



Nicolas Bareil                              S´curit´ des syst`mes VoIP
                                             e     e         e                   16/35
T´l´phones
                                                ee            Syst`me physique
                                                                  e
                                          S´curit´ r´seau
                                            e     ee          D´marrage du t´l´phone
                                                               e            ee
                                      ´
                                      Ecoute t´l´phonique
                                              ee              R´seau
                                                               e


     scapy+cdp+skinny
          >>> sniffed[2].show()
          ###[ Cisco Discovery Protocol version 2 ]###
              vers= 1
                                                            Fuzzing
              ttl= 180
              cksum= 0xf960
                                                            >>> CDPv2_HDR(str(fuzz(CDPv2_HDR()))).show()
              |###[ Device ID ]###
                                                            ###[ Cisco Discovery Protocol version 2 ]###
               | type= Device ID
                                                              vers= 251
               | len= 25
                                                              ttl= 56
               | val= ’ccm.papanoel.fr’
                                                              cksum= 0x4c7
               |###[ Addresses ]###
                                                            >>> send(fuzz(IP(dst=’callman...’) / CDPv2_HDR())
               | type= Addresses
                                                                      , loop=1)
               | len= 17
               | naddr= 1L
               | |###[ CDP Addresses ]###
               |   | ptype= NLPID
                                                            Packet of death ?
               |   | plen= 0x1
               |   | proto= IP                              >>> killme=Dot3(dst=’01 :00 :0c :cc :cc :cc’)
               |   | addrlen= 4                                          / LLC() / SNAP() / CDPv2_HDR()
               |   | ipaddr= 10.0.0.1                                    / CDPMsgPower(power=0xffff)
               |###[ Software Version ]###                  >>> killme.show()
               | type= Software Version                     ###[ Cisco Discovery Protocol version 2 ]###
               | len= 33                                    ###[ Power ]###
               | val= ’Cisco Discovery Protocol v4.0’               type= Power
               |###[ Platform ]###                                  len= 6
               | type= Platform                                     power= 65535 mW
               | len= 18                                    >>> sendp(killme, iface=’eth0’)
               | val= ’Win2000 Server’
                ____________________




Nicolas Bareil                                    S´curit´ des syst`mes VoIP
                                                   e     e         e                                            17/35
T´l´phones
                                                ee            Syst`me physique
                                                                  e
                                          S´curit´ r´seau
                                            e     ee          D´marrage du t´l´phone
                                                               e            ee
                                      ´
                                      Ecoute t´l´phonique
                                              ee              R´seau
                                                               e


     scapy+cdp+skinny
          >>> sniffed[2].show()
          ###[ Cisco Discovery Protocol version 2 ]###
              vers= 1
                                                            Fuzzing
              ttl= 180
              cksum= 0xf960
                                                            >>> CDPv2_HDR(str(fuzz(CDPv2_HDR()))).show()
              |###[ Device ID ]###
                                                            ###[ Cisco Discovery Protocol version 2 ]###
               | type= Device ID
                                                              vers= 251
               | len= 25
                                                              ttl= 56
               | val= ’ccm.papanoel.fr’
                                                              cksum= 0x4c7
               |###[ Addresses ]###
                                                            >>> send(fuzz(IP(dst=’callman...’) / CDPv2_HDR())
               | type= Addresses
                                                                      , loop=1)
               | len= 17
               | naddr= 1L
               | |###[ CDP Addresses ]###
               |   | ptype= NLPID
                                                            Packet of death ?
               |   | plen= 0x1
               |   | proto= IP                              >>> killme=Dot3(dst=’01 :00 :0c :cc :cc :cc’)
               |   | addrlen= 4                                          / LLC() / SNAP() / CDPv2_HDR()
               |   | ipaddr= 10.0.0.1                                    / CDPMsgPower(power=0xffff)
               |###[ Software Version ]###                  >>> killme.show()
               | type= Software Version                     ###[ Cisco Discovery Protocol version 2 ]###
               | len= 33                                    ###[ Power ]###
               | val= ’Cisco Discovery Protocol v4.0’               type= Power
               |###[ Platform ]###                                  len= 6
               | type= Platform                                     power= 65535 mW
               | len= 18                                    >>> sendp(killme, iface=’eth0’)
               | val= ’Win2000 Server’
                ____________________




Nicolas Bareil                                    S´curit´ des syst`mes VoIP
                                                   e     e         e                                            17/35
T´l´phones
                                                ee            Syst`me physique
                                                                  e
                                          S´curit´ r´seau
                                            e     ee          D´marrage du t´l´phone
                                                               e            ee
                                      ´
                                      Ecoute t´l´phonique
                                              ee              R´seau
                                                               e


     scapy+cdp+skinny
          >>> sniffed[2].show()
          ###[ Cisco Discovery Protocol version 2 ]###
              vers= 1
                                                            Fuzzing
              ttl= 180
              cksum= 0xf960
                                                            >>> CDPv2_HDR(str(fuzz(CDPv2_HDR()))).show()
              |###[ Device ID ]###
                                                            ###[ Cisco Discovery Protocol version 2 ]###
               | type= Device ID
                                                              vers= 251
               | len= 25
                                                              ttl= 56
               | val= ’ccm.papanoel.fr’
                                                              cksum= 0x4c7
               |###[ Addresses ]###
                                                            >>> send(fuzz(IP(dst=’callman...’) / CDPv2_HDR())
               | type= Addresses
                                                                      , loop=1)
               | len= 17
               | naddr= 1L
               | |###[ CDP Addresses ]###
               |   | ptype= NLPID
                                                            Packet of death ?
               |   | plen= 0x1
               |   | proto= IP                              >>> killme=Dot3(dst=’01 :00 :0c :cc :cc :cc’)
               |   | addrlen= 4                                          / LLC() / SNAP() / CDPv2_HDR()
               |   | ipaddr= 10.0.0.1                                    / CDPMsgPower(power=0xffff)
               |###[ Software Version ]###                  >>> killme.show()
               | type= Software Version                     ###[ Cisco Discovery Protocol version 2 ]###
               | len= 33                                    ###[ Power ]###
               | val= ’Cisco Discovery Protocol v4.0’               type= Power
               |###[ Platform ]###                                  len= 6
               | type= Platform                                     power= 65535 mW
               | len= 18                                    >>> sendp(killme, iface=’eth0’)
               | val= ’Win2000 Server’
                ____________________




Nicolas Bareil                                    S´curit´ des syst`mes VoIP
                                                   e     e         e                                            17/35
T´l´phones
                                            ee            Architecture
                                      S´curit´ r´seau
                                        e     ee          TCP Hijacking
                                  ´
                                  Ecoute t´l´phonique
                                          ee              Man in the middle


     Plan

                 T´l´phones
                  ee
           1
                   Syst`me physique
                       e
                   D´marrage du t´l´phone
                     e           ee
                   R´seau
                     e

                 S´curit´ r´seau
                  e     ee
           2
                    Architecture
                    TCP Hijacking
                    Man in the middle
                 ´
                 Ecoute t´l´phonique
                         ee
           3
                   Protocole de signalisation
                   Protocole de transport
                   I’m Listening To You

Nicolas Bareil                                S´curit´ des syst`mes VoIP
                                               e     e         e              18/35
T´l´phones
                                           ee            Architecture
                                     S´curit´ r´seau
                                       e     ee          TCP Hijacking
                                 ´
                                 Ecoute t´l´phonique
                                         ee              Man in the middle

     ´
     Equipements




          Un r´seau VoIP est constitu´ de :
              e                      e
                 T´l´phones adapt´s ;
                  ee             e
                 Call Manager.
          ´
          Equipement IP =⇒ Pile IP =⇒ Complexe =⇒ Int´ressant !
                                                     e




Nicolas Bareil                               S´curit´ des syst`mes VoIP
                                              e     e         e              19/35
T´l´phones
                                           ee            Architecture
                                     S´curit´ r´seau
                                       e     ee          TCP Hijacking
                                 ´
                                 Ecoute t´l´phonique
                                         ee              Man in the middle

     ´
     Equipements




          Un r´seau VoIP est constitu´ de :
              e                      e
                 T´l´phones adapt´s ;
                  ee             e
                 Call Manager.
          ´
          Equipement IP =⇒ Pile IP =⇒ Complexe =⇒ Int´ressant !
                                                     e




Nicolas Bareil                               S´curit´ des syst`mes VoIP
                                              e     e         e              19/35
T´l´phones
                                           ee            Architecture
                                     S´curit´ r´seau
                                       e     ee          TCP Hijacking
                                 ´
                                 Ecoute t´l´phonique
                                         ee              Man in the middle

     ´
     Equipements




          Un r´seau VoIP est constitu´ de :
              e                      e
                 T´l´phones adapt´s ;
                  ee             e
                 Call Manager.
          ´
          Equipement IP =⇒ Pile IP =⇒ Complexe =⇒ Int´ressant !
                                                     e




Nicolas Bareil                               S´curit´ des syst`mes VoIP
                                              e     e         e              19/35
T´l´phones
                                           ee            Architecture
                                     S´curit´ r´seau
                                       e     ee          TCP Hijacking
                                 ´
                                 Ecoute t´l´phonique
                                         ee              Man in the middle

     ´
     Equipements




          Un r´seau VoIP est constitu´ de :
              e                      e
                 T´l´phones adapt´s ;
                  ee             e
                 Call Manager.
          ´
          Equipement IP =⇒ Pile IP =⇒ Complexe =⇒ Int´ressant !
                                                     e




Nicolas Bareil                               S´curit´ des syst`mes VoIP
                                              e     e         e              19/35
T´l´phones
                                          ee            Architecture
                                    S´curit´ r´seau
                                      e     ee          TCP Hijacking
                                ´
                                Ecoute t´l´phonique
                                        ee              Man in the middle


     Pile TCP/IP correcte



          Robustesse de la pile TCP/IP
                 G´n´ration des ISN : (( compl´tement al´atoire )),
                  ee                          e         e
                 IP ID incr´mentaux,
                           e
                 Protection anti-DDoS :
                 Bonne gestion des num´ros de s´quence :
                                      e        e




Nicolas Bareil                              S´curit´ des syst`mes VoIP
                                             e     e         e              20/35
T´l´phones
                                          ee            Architecture
                                    S´curit´ r´seau
                                      e     ee          TCP Hijacking
                                ´
                                Ecoute t´l´phonique
                                        ee              Man in the middle


     Pile TCP/IP correcte


          Robustesse de la pile TCP/IP
                 G´n´ration des ISN : (( compl´tement al´atoire )),
                  ee                          e         e
                 IP ID incr´mentaux,
                           e
                 Protection anti-DDoS :
                     Requˆte/R´ponse ARP,
                         e    e
                     SYN / SYN+ACK ;
                 Bonne gestion des num´ros de s´quence :
                                      e        e




Nicolas Bareil                              S´curit´ des syst`mes VoIP
                                             e     e         e              20/35
T´l´phones
                                          ee            Architecture
                                    S´curit´ r´seau
                                      e     ee          TCP Hijacking
                                ´
                                Ecoute t´l´phonique
                                        ee              Man in the middle


     Pile TCP/IP correcte


          Robustesse de la pile TCP/IP
                 G´n´ration des ISN : (( compl´tement al´atoire )),
                  ee                          e         e
                 IP ID incr´mentaux,
                           e
                 Protection anti-DDoS :
                 Bonne gestion des num´ros de s´quence :
                                        e      e
                     D´tection d’une d´synchronisation,
                      e               e
                     R´´criture des donn´es non acquitt´es ;
                      ee                e               e




Nicolas Bareil                              S´curit´ des syst`mes VoIP
                                             e     e         e              20/35
T´l´phones
                                          ee            Architecture
                                    S´curit´ r´seau
                                      e     ee          TCP Hijacking
                                ´
                                Ecoute t´l´phonique
                                        ee              Man in the middle


     Pile TCP/IP correcte



          Robustesse de la pile TCP/IP
                 G´n´ration des ISN : (( compl´tement al´atoire )),
                  ee                          e         e
                 IP ID incr´mentaux,
                           e
                 Protection anti-DDoS :
                 Bonne gestion des num´ros de s´quence :
                                      e        e


                         Pile TCP/IP d´riv´e d’un IOS ?
                                      ee



Nicolas Bareil                              S´curit´ des syst`mes VoIP
                                             e     e         e              20/35
T´l´phones
                                              ee            Architecture
                                        S´curit´ r´seau
                                          e     ee          TCP Hijacking
                                    ´
                                    Ecoute t´l´phonique
                                            ee              Man in the middle


     TCP Hijacking


          Avis de tempˆte
                      e
          Blind TCP Hijacking non trivial.
          =⇒ L’insertion na¨ de paquets entraˆ un ACK-storm !
                           ıve               ıne

          The lazy way
          Utilisons la possibilit´ de r´´crire des paquets non acquitt´s !
                                 e     ee                             e
                     Anticiper la taille du prochain segment,
                 1


                     Envoyer le paquet,
                 2


                     R´ussir ` ce qu’il soit trait´ avant la r´ception du vrai paquet,
                      e      a                    e           e
                 3


                     Attendre :)
                 4




Nicolas Bareil                                  S´curit´ des syst`mes VoIP
                                                 e     e         e                       21/35
T´l´phones
                                         ee            Architecture
                                   S´curit´ r´seau
                                     e     ee          TCP Hijacking
                               ´
                               Ecoute t´l´phonique
                                       ee              Man in the middle


     Suite de paquets



          Comment anticiper ?
          Il y a constamment des suites de paquets :
                 D´marrage,
                  e
                 Keep Alive,
                 D´crochage du t´l´phone,
                  e             ee
                 R´ception d’un appel,
                  e
                 ...




Nicolas Bareil                             S´curit´ des syst`mes VoIP
                                            e     e         e              22/35
T´l´phones
                                        ee            Architecture
                                  S´curit´ r´seau
                                    e     ee          TCP Hijacking
                              ´
                              Ecoute t´l´phonique
                                      ee              Man in the middle


     Applications du TCP Hijacking


          Applications possibles :
                 Modification des num´ros de t´l´phone compos´s,
                                    e        ee             e
                 Impossible de modifier les options de s´curit´ ainsi,
                                                       e     e
                 =⇒ Car modifi´es par le fichier de configuration (via TFTP)
                               e

          Too easy !
          L’utilisation de [scapy] et de son add-on Skinny facilite ce type
          d’interception.




Nicolas Bareil                            S´curit´ des syst`mes VoIP
                                           e     e         e                  23/35
T´l´phones
                                        ee            Architecture
                                  S´curit´ r´seau
                                    e     ee          TCP Hijacking
                              ´
                              Ecoute t´l´phonique
                                      ee              Man in the middle


     Applications du TCP Hijacking


          Applications possibles :
                 Modification des num´ros de t´l´phone compos´s,
                                    e        ee             e
                 Impossible de modifier les options de s´curit´ ainsi,
                                                       e     e
                 =⇒ Car modifi´es par le fichier de configuration (via TFTP)
                               e

          Too easy !
          L’utilisation de [scapy] et de son add-on Skinny facilite ce type
          d’interception.




Nicolas Bareil                            S´curit´ des syst`mes VoIP
                                           e     e         e                  23/35
T´l´phones
                                        ee            Architecture
                                  S´curit´ r´seau
                                    e     ee          TCP Hijacking
                              ´
                              Ecoute t´l´phonique
                                      ee              Man in the middle


     Applications du TCP Hijacking


          Applications possibles :
                 Modification des num´ros de t´l´phone compos´s,
                                    e        ee             e
                 Impossible de modifier les options de s´curit´ ainsi,
                                                       e     e
                 =⇒ Car modifi´es par le fichier de configuration (via TFTP)
                               e

          Too easy !
          L’utilisation de [scapy] et de son add-on Skinny facilite ce type
          d’interception.




Nicolas Bareil                            S´curit´ des syst`mes VoIP
                                           e     e         e                  23/35
T´l´phones
                                          ee            Architecture
                                    S´curit´ r´seau
                                      e     ee          TCP Hijacking
                                ´
                                Ecoute t´l´phonique
                                        ee              Man in the middle


     ICMP Redirect




          Message ICMP Redirect
          Redirection d’un routeur par un autre routeur.

                 Support de l’ICMP insuffisant dans [scapy],
                 R´impl´mentation de l’ICMP,
                  e    e
                 Mais les t´l´phones ne suivent pas les redirections ICMP :-(
                           ee




Nicolas Bareil                              S´curit´ des syst`mes VoIP
                                             e     e         e                  24/35
T´l´phones
                                          ee            Architecture
                                    S´curit´ r´seau
                                      e     ee          TCP Hijacking
                                ´
                                Ecoute t´l´phonique
                                        ee              Man in the middle


     ICMP Redirect




          Message ICMP Redirect
          Redirection d’un routeur par un autre routeur.

                 Support de l’ICMP insuffisant dans [scapy],
                 R´impl´mentation de l’ICMP,
                  e    e
                 Mais les t´l´phones ne suivent pas les redirections ICMP :-(
                           ee




Nicolas Bareil                              S´curit´ des syst`mes VoIP
                                             e     e         e                  24/35
T´l´phones
                                          ee            Architecture
                                    S´curit´ r´seau
                                      e     ee          TCP Hijacking
                                ´
                                Ecoute t´l´phonique
                                        ee              Man in the middle


     Modes Gratuitous ARP


          Gratuitous ARP
          C’est une r´ponse ARP non d´sir´e afin de mettre ` jour les caches.
                     e               ee                   a

          Les t´l´phones peuvent autoriser cette fonctionnalit´ ou non.
               ee                                             e
                 Avec GARP, toutes les attaques ARP sont possibles,
                 Sans GARP, rien n’est possible
                     Une fois la premi`re r´solution faite, l’entr´e du cache est fig´e
                                      ee                          e                 e




Nicolas Bareil                              S´curit´ des syst`mes VoIP
                                             e     e         e                           25/35
T´l´phones
                                          ee            Architecture
                                    S´curit´ r´seau
                                      e     ee          TCP Hijacking
                                ´
                                Ecoute t´l´phonique
                                        ee              Man in the middle


     Modes Gratuitous ARP


          Gratuitous ARP
          C’est une r´ponse ARP non d´sir´e afin de mettre ` jour les caches.
                     e               ee                   a

          Les t´l´phones peuvent autoriser cette fonctionnalit´ ou non.
               ee                                             e
                 Avec GARP, toutes les attaques ARP sont possibles,
                 Sans GARP, rien n’est possible
                     Une fois la premi`re r´solution faite, l’entr´e du cache est fig´e
                                      ee                          e                 e


                                     Sauf une fois. . .



Nicolas Bareil                              S´curit´ des syst`mes VoIP
                                             e     e         e                           25/35
T´l´phones
                                                ee            Architecture
                                          S´curit´ r´seau
                                            e     ee          TCP Hijacking
                                      ´
                                      Ecoute t´l´phonique
                                              ee              Man in the middle


     Comportement bonus


          >>> from Crypto.Hash import MD5
          >>> hash=MD5.new()
          >>> def hashoir(x):
          ...   hash.update(str(x.payload))
          ...   hex=hash.hexdigest()
          ...   print x.sprintf(quot;%Ether.src% > %Ether.dst% / {UDP: UDP(%UDP.sport% > %UDP.dport%)}quot;
          ...                                               quot;{TCP: TCP(%TCP.sport% > %TCP.dport%)} MD5=%squot; % hex)
          ...
          >>> map(hashoir, sniffedpkt)
          00:14:A8:92:4D:3F > 00:0B:CD:AE:FC:27 / UDP(50036 > tftp) MD5=45733f4ea925a5d4c336287bdd7411c3
          00:14:A8:92:4D:3F > 00:0B:AA:BB:CC:DD / UDP(50036 > tftp) MD5=45733f4ea925a5d4c336287bdd7411c3
          00:14:A8:92:4D:3F > 00:0B:CD:AE:FC:27 / TCP(1570 > skinny) MD5=a20675fc6702ae5ebdb1b94dfdc10096
          00:14:A8:92:4D:3F > 00:0B:AA:BB:CC:DD / TCP(1570 > skinny) MD5=a20675fc6702ae5ebdb1b94dfdc10096
          00:14:A8:92:4D:3F > 00:0B:CD:AE:FC:27 / TCP(1570 > skinny) MD5=ca8f5150150d1090244d9a49d75868e9
          00:14:A8:92:4D:3F > 00:0B:AA:BB:CC:DD / TCP(1570 > skinny) MD5=ca8f5150150d1090244d9a49d75868e9



          Do you ?
          Vous ne voyez rien de bizarre ?



Nicolas Bareil                                    S´curit´ des syst`mes VoIP
                                                   e     e         e                                          26/35
T´l´phones
                                            ee            Protocole de signalisation
                                      S´curit´ r´seau
                                        e     ee          Protocole de transport
                                  ´
                                  Ecoute t´l´phonique
                                          ee              I’m Listening To You


     Plan

                 T´l´phones
                  ee
           1
                   Syst`me physique
                       e
                   D´marrage du t´l´phone
                     e           ee
                   R´seau
                     e

                 S´curit´ r´seau
                  e     ee
           2
                    Architecture
                    TCP Hijacking
                    Man in the middle
                 ´
                 Ecoute t´l´phonique
                         ee
           3
                   Protocole de signalisation
                   Protocole de transport
                   I’m Listening To You

Nicolas Bareil                                S´curit´ des syst`mes VoIP
                                               e     e         e                       27/35
T´l´phones
                                ee            Protocole de signalisation
                          S´curit´ r´seau
                            e     ee          Protocole de transport
                      ´
                      Ecoute t´l´phonique
                              ee              I’m Listening To You


     Les protocoles mis en jeux




                                            Un r´seau VoIP est g´r´ via :
                                                e               ee
                                                   Un protocole de signalisation
                                                   Un protocole de transport
                                                   de la voix




Nicolas Bareil                    S´curit´ des syst`mes VoIP
                                   e     e         e                               28/35
T´l´phones
                                          ee            Protocole de signalisation
                                    S´curit´ r´seau
                                      e     ee          Protocole de transport
                                ´
                                Ecoute t´l´phonique
                                        ee              I’m Listening To You


     Skinny Client Control Protocol

          Skinny :
                 Utilise TCP/2000
                 Protocole binaire (contrairement ` SIP)
                                                  a
                 Champs ` positions fixes
                        a

          Skinny : Le Yin ?
          Analyse difficile sans sp´cifications :
                                 e
                 Plus de trois cents types de messages ;
                 Champs compos´s complexes ;
                              e
                 Beaucoup de champs (( r´serv´s )) ;
                                        e    e
          =⇒ Impl´mentation partielle dans [scapy]
                 e


Nicolas Bareil                              S´curit´ des syst`mes VoIP
                                             e     e         e                       29/35
T´l´phones
                                       ee            Protocole de signalisation
                                 S´curit´ r´seau
                                   e     ee          Protocole de transport
                             ´
                             Ecoute t´l´phonique
                                     ee              I’m Listening To You


     Real Time Protocol : le Yang




          RTP : Le Yang
          Protocole simple et g´n´raliste standardis´ par la RFC 3550.
                               ee                   e
          =⇒ Utilis´ par (presque) toutes les solutions VoIP
                   e

          Les num´ros de ports ne sont pas fixes et sont assign´s
                 e                                            e
          dynamiquement via le protocole de signalisation.




Nicolas Bareil                           S´curit´ des syst`mes VoIP
                                          e     e         e                       30/35
T´l´phones
                                          ee            Protocole de signalisation
                                    S´curit´ r´seau
                                      e     ee          Protocole de transport
                                ´
                                Ecoute t´l´phonique
                                        ee              I’m Listening To You


     Real Time Protocol : voix


          Apr`s les en-tˆtes. . . la voix !
             e          e
                 La voix n’est pas chiffr´e, juste cod´e ;
                                        e            e
                 Si on intercepte ces paquets, on peut alors ´couter.
                                                             e

          ´
          Etat de l’art des logiciels d’´coute t´l´phonique
                                        e       ee
                 vomit (N. Provos) ;
                 voipong (M. Balaban) ;
                 cain (M. Montoro).




Nicolas Bareil                              S´curit´ des syst`mes VoIP
                                             e     e         e                       31/35
T´l´phones
                                           ee            Protocole de signalisation
                                     S´curit´ r´seau
                                       e     ee          Protocole de transport
                                 ´
                                 Ecoute t´l´phonique
                                         ee              I’m Listening To You


     I’m listening to you !


          ilty : I’m listening to you !
                Logiciel Libre,
                 Inteface user friendly
                 D´velopp´ en Python,
                  e      e

          Fonctionnalit´s
                       e
              ´
              Ecouter une conversation en direct,
                 Logguer les appels,
                 Surveille le protocole de signalisation,



Nicolas Bareil                               S´curit´ des syst`mes VoIP
                                              e     e         e                       32/35
T´l´phones
                                          ee            Protocole de signalisation
                                    S´curit´ r´seau
                                      e     ee          Protocole de transport
                                ´
                                Ecoute t´l´phonique
                                        ee              I’m Listening To You


     La signalisation



          Surveiller le protocole de signalisation permet :
              Reconnaˆ pr´cisemment les appels :
                         ıtre e
                     Acc`s aux informations de l’annuaire,
                        e
                     Num´ro de t´l´phone,
                          e      ee
                     Extension du num´ro de t´l´phone ;
                                      e       ee
                 Voir les touches compos´es :
                                        e
                     Capture du code de messagerie vocale,
                     Num´ros de carte bleue ;
                         e




Nicolas Bareil                              S´curit´ des syst`mes VoIP
                                             e     e         e                       33/35
T´l´phones
                                        ee            Protocole de signalisation
                                  S´curit´ r´seau
                                    e     ee          Protocole de transport
                              ´
                              Ecoute t´l´phonique
                                      ee              I’m Listening To You


     Des questions ?


          Si on avait eu plus du temps. . .
          V´rification de la solidit´ du code cryptographique.
           e                       e

          Remerciements
          Phil, Serpilliere, Sid, Arnaud, news0ft, Kostya, Stf et tout le reste
          de l’´quipe d’EADS CCR DCR/STI/C !
               e

          Plus d’information ?
               nicolas.bareil@eads.net




Nicolas Bareil                            S´curit´ des syst`mes VoIP
                                           e     e         e                       34/35
T´l´phones
                                         ee            Protocole de signalisation
                                   S´curit´ r´seau
                                     e     ee          Protocole de transport
                               ´
                               Ecoute t´l´phonique
                                       ee              I’m Listening To You


     Bibliography

                 P. Biondi, scapy
                 Interactive packet manipulation program
                 http://secdev.org/projects/scapy/
                 N. Bareil, ilty
                 I’m listening to you
                 http://chdir.org/∼nico/ilty/
                 SSTIC 2005 — http://actes.sstic.org/SSTIC05/
                 N. Provos, vomit
                 http://vomit.xtdnet.nl/
                 M. Balaban, voipong
                 http://www.enderunix.org/voipong/
                 M. Montoro, Cain
                 http://www.oxid.it/cain.html
Nicolas Bareil                             S´curit´ des syst`mes VoIP
                                            e     e         e                       35/35

Contenu connexe

En vedette

Rapport - Partie th‚orique
Rapport - Partie th‚oriqueRapport - Partie th‚orique
Rapport - Partie th‚oriqueBelkacem KAID
 
Voip simulation
Voip simulation Voip simulation
Voip simulation Anas ABANA
 
Rendement des modules photovoltaïques
Rendement des modules photovoltaïquesRendement des modules photovoltaïques
Rendement des modules photovoltaïquessalem ben moussa
 
Etude et Mise en oeuvre d'une architecture de téléphonie sur IP sécurisée au ...
Etude et Mise en oeuvre d'une architecture de téléphonie sur IP sécurisée au ...Etude et Mise en oeuvre d'une architecture de téléphonie sur IP sécurisée au ...
Etude et Mise en oeuvre d'une architecture de téléphonie sur IP sécurisée au ...stepmike
 
Le dimensionnement d'une batterie en installation solaire
Le dimensionnement d'une batterie en installation solaireLe dimensionnement d'une batterie en installation solaire
Le dimensionnement d'une batterie en installation solairesalem ben moussa
 
Conception &amp; dimensionnement d'une installation photovoltaïque autonome
Conception &amp; dimensionnement d'une installation photovoltaïque autonomeConception &amp; dimensionnement d'une installation photovoltaïque autonome
Conception &amp; dimensionnement d'une installation photovoltaïque autonomesalem ben moussa
 
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk) Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk) Dimitri LEMBOKOLO
 
éTude et mise_en_place_d'une_solution_voip_sécurisée
éTude et mise_en_place_d'une_solution_voip_sécuriséeéTude et mise_en_place_d'une_solution_voip_sécurisée
éTude et mise_en_place_d'une_solution_voip_sécuriséeSaad Jouhari
 
Exemple du photovoltaique : Etapes-clefs pour realiser les projets
Exemple du photovoltaique : Etapes-clefs pour realiser les projetsExemple du photovoltaique : Etapes-clefs pour realiser les projets
Exemple du photovoltaique : Etapes-clefs pour realiser les projetsPARIS
 
Jeudis du Libre S02E01 : La VoIP avec Asterisk - Support de présentation
Jeudis du Libre S02E01 : La VoIP avec Asterisk - Support de présentationJeudis du Libre S02E01 : La VoIP avec Asterisk - Support de présentation
Jeudis du Libre S02E01 : La VoIP avec Asterisk - Support de présentation6x7 ASBL
 

En vedette (15)

Rapport - Partie th‚orique
Rapport - Partie th‚oriqueRapport - Partie th‚orique
Rapport - Partie th‚orique
 
Voip simulation
Voip simulation Voip simulation
Voip simulation
 
Onduleur solaire
Onduleur solaireOnduleur solaire
Onduleur solaire
 
Telephonie ip
Telephonie ipTelephonie ip
Telephonie ip
 
Rendement des modules photovoltaïques
Rendement des modules photovoltaïquesRendement des modules photovoltaïques
Rendement des modules photovoltaïques
 
Etude et Mise en oeuvre d'une architecture de téléphonie sur IP sécurisée au ...
Etude et Mise en oeuvre d'une architecture de téléphonie sur IP sécurisée au ...Etude et Mise en oeuvre d'une architecture de téléphonie sur IP sécurisée au ...
Etude et Mise en oeuvre d'une architecture de téléphonie sur IP sécurisée au ...
 
Le dimensionnement d'une batterie en installation solaire
Le dimensionnement d'une batterie en installation solaireLe dimensionnement d'une batterie en installation solaire
Le dimensionnement d'une batterie en installation solaire
 
Mini projet
Mini projetMini projet
Mini projet
 
Conception &amp; dimensionnement d'une installation photovoltaïque autonome
Conception &amp; dimensionnement d'une installation photovoltaïque autonomeConception &amp; dimensionnement d'une installation photovoltaïque autonome
Conception &amp; dimensionnement d'une installation photovoltaïque autonome
 
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk) Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
 
Projet photovoltaîque
Projet photovoltaîqueProjet photovoltaîque
Projet photovoltaîque
 
TELEPHONIE SUR IP
TELEPHONIE SUR IPTELEPHONIE SUR IP
TELEPHONIE SUR IP
 
éTude et mise_en_place_d'une_solution_voip_sécurisée
éTude et mise_en_place_d'une_solution_voip_sécuriséeéTude et mise_en_place_d'une_solution_voip_sécurisée
éTude et mise_en_place_d'une_solution_voip_sécurisée
 
Exemple du photovoltaique : Etapes-clefs pour realiser les projets
Exemple du photovoltaique : Etapes-clefs pour realiser les projetsExemple du photovoltaique : Etapes-clefs pour realiser les projets
Exemple du photovoltaique : Etapes-clefs pour realiser les projets
 
Jeudis du Libre S02E01 : La VoIP avec Asterisk - Support de présentation
Jeudis du Libre S02E01 : La VoIP avec Asterisk - Support de présentationJeudis du Libre S02E01 : La VoIP avec Asterisk - Support de présentation
Jeudis du Libre S02E01 : La VoIP avec Asterisk - Support de présentation
 

Slides Securite Voip Attaque Blackbox Nbareil Jssi Celar 2006

  • 1. T´l´phones ee S´curit´ r´seau e ee ´ Ecoute t´l´phonique ee S´curit´ des syst`mes VoIP e e e Ou comment tester ses ´quipements. . . e Nicolas Bareil nicolas.bareil@eads.net EADS Corporate Research Center SSI Department Suresnes, FRANCE 18 Janvier 2007 GITSIS Nicolas Bareil S´curit´ des syst`mes VoIP e e e 1/35
  • 2. T´l´phones ee S´curit´ r´seau e ee ´ Ecoute t´l´phonique ee Banc de torture Montage d’un banc d’essai Un Cisco Callmanager 4.x, Deux t´l´phones Cisco (7960 et 7970) ; ee ´ =⇒ Etude de type (( blackbox )) Boˆ noire ıte Configuration inconnue ; Version des firmwares inconnue ; Protocole peu connu ; Aucun manuel fourni. Nicolas Bareil S´curit´ des syst`mes VoIP e e e 2/35
  • 3. T´l´phones ee S´curit´ r´seau e ee ´ Ecoute t´l´phonique ee Plan T´l´phones ee 1 Syst`me physique e D´marrage du t´l´phone e ee R´seau e S´curit´ r´seau e ee 2 Architecture TCP Hijacking Man in the middle ´ Ecoute t´l´phonique ee 3 Protocole de signalisation Protocole de transport I’m Listening To You Nicolas Bareil S´curit´ des syst`mes VoIP e e e 3/35
  • 4. T´l´phones ee Syst`me physique e S´curit´ r´seau e ee D´marrage du t´l´phone e ee ´ Ecoute t´l´phonique ee R´seau e Plan T´l´phones ee 1 Syst`me physique e D´marrage du t´l´phone e ee R´seau e S´curit´ r´seau e ee 2 Architecture TCP Hijacking Man in the middle ´ Ecoute t´l´phonique ee 3 Protocole de signalisation Protocole de transport I’m Listening To You Nicolas Bareil S´curit´ des syst`mes VoIP e e e 4/35
  • 5. T´l´phones ee Syst`me physique e S´curit´ r´seau e ee D´marrage du t´l´phone e ee ´ Ecoute t´l´phonique ee R´seau e Mat´riel pr´sent e e Avec un peu d’intuition et de curiosit´ : e Processeur MIPS ( ? ? ?) ; L’espace de stockage ne d´passe pas les 4 Mo ; e Ports switch et PC bridg´s par d´faut. e e Nicolas Bareil S´curit´ des syst`mes VoIP e e e 5/35
  • 6. T´l´phones ee Syst`me physique e S´curit´ r´seau e ee D´marrage du t´l´phone e ee ´ Ecoute t´l´phonique ee R´seau e Configuration r´seau : VLAN e VLAN & CDP R´cup´ration des informations sur les VLAN disponibles (voix ou ee donn´es) via le protocole propri´taire Cisco. e e En abuser, ca craint ¸ Les annonces CDP ne sont pas authentifi´es. e Sur un r´seau n’utilisant pas les VLAN, que se passe-t-il si on e annonce un faux VLAN ? =⇒ Cr´ation d’un r´seau virtuel ? e e Nicolas Bareil S´curit´ des syst`mes VoIP e e e 6/35
  • 7. T´l´phones ee Syst`me physique e S´curit´ r´seau e ee D´marrage du t´l´phone e ee ´ Ecoute t´l´phonique ee R´seau e Configuration r´seau : IP e Simplement R´cup´ration de l’adresse IP via une requˆte DHCP. ee e L’option 150 identifie l’adresse IP du serveur TFTP (le Call Manager en fait). Si aucune r´ponse DHCP, r´utilisation de la derni`re configuration e e e utilis´e. e Nicolas Bareil S´curit´ des syst`mes VoIP e e e 7/35
  • 8. T´l´phones ee Syst`me physique e S´curit´ r´seau e ee D´marrage du t´l´phone e ee ´ Ecoute t´l´phonique ee R´seau e Chargement de la configuration T´l´chargement de fichier ee Les fichiers sont t´l´charg´s par TFTP au d´marrage uniquement. ee e e Plusieurs types de fichiers : Extension Description certificate trust list .tlv universal application loader .loads secure universal application loader .sbn configuration .cnf firmware non sign´ e .bin firmware sign´ e .sb2 Java .jar Nicolas Bareil S´curit´ des syst`mes VoIP e e e 8/35
  • 9. T´l´phones ee Syst`me physique e S´curit´ r´seau e ee D´marrage du t´l´phone e ee ´ Ecoute t´l´phonique ee R´seau e Rogue TFTP server Gros fichier toi mˆme ! e L’envoi d’un gros fichier entraine une fuite m´moire dans le e padding des trames Ethernet. Overflow ? M´moire non initialis´e ? e e >>> a.nzpadding() 0022 Ether / IP / UDP 10.0.1.11:49946 > 10.0.0.1:33572 / Raw / Padding ---> 4C 53 45 50 30 30 31 34 41 38 39 32 34 44 LSEP0014A8924D ... 0536 Ether / IP / TCP 10.0.1.11:50099 > 10.0.0.1:skinny S / Padding ---> 46 2E F. 0549 Ether / IP / TCP 10.0.1.11:50103 > 10.0.0.1:skinny S / Padding ---> 34 44 4D 0560 Ether / IP / TCP 10.0.1.11:50108 > 10.0.0.1:skinny S / Padding ---> 46 2E F. Nicolas Bareil S´curit´ des syst`mes VoIP e e e 9/35
  • 10. T´l´phones ee Syst`me physique e S´curit´ r´seau e ee D´marrage du t´l´phone e ee ´ Ecoute t´l´phonique ee R´seau e Fichier de configuration Le Call Manager, un serveur TFTP particulier Composition du nom de fichier : SEP.<adresse mac>.cnf.xml Les configurations ne sont pas stock´es mais g´n´r´es ` la vol´e ! e e ee a e Fichier XML ; Logique invers´e : 0 ⇒ vrai, 1 ⇒ faux ; e Aucune signature cryptographique pr´sente. e Nicolas Bareil S´curit´ des syst`mes VoIP e e e 10/35
  • 11. T´l´phones ee Syst`me physique e S´curit´ r´seau e ee D´marrage du t´l´phone e ee ´ Ecoute t´l´phonique ee R´seau e P00307010200.loads : Signature cryptographique ? 0100 0201 0102 0002 0194 0300 5B04 0027 ............[..’ 434E 3D73 6F6D 6553 6967 6E65 723B 4F55 CN=someSigner;OU 3D73 6F6D 654F 7267 556E 6974 3B4F 3D73 =someOrgUnit;O=s 6F6D 654F 7267 0005 0008 1234 5678 90AB omeOrg.....4Vx.. CDEF 0600 2343 4E3D 736F 6D65 4341 3B4F ....#CN=someCA;O 553D 736F 6D65 4F72 6755 6E69 743B 4F3D U=someOrgUnit;O= 736F 6D65 4F72 6700 0700 0F08 0001 0109 someOrg......... 0008 0A00 0100 0B00 0102 0C01 0041 4314 .............AC. Constatations E106 1D84 F20E 0B2A C4B7 F49B FF0D CCCC .......*........ 0F7C F714 B818 24AE 4B3B 049F 75F8 D32B .|....$.K;..u..+ T´l´charg´ ` ee ea BDAB 8AC0 7E5E EDFE 9D01 162F 8F65 1877 ....~^...../.e.w F092 FC14 A186 37AB 5388 B6AC 27FC 3702 ......7.S...’.7. chaque fois ; 8955 0F89 26DD 3FCF 72C2 3FE3 327F CB1D .U..&.?.r.?.2... 54BF E577 6DE4 03F8 8BB2 2393 3A21 F2B6 T..wm.....#.:!.. F07C 9321 0C3B 7382 08C8 B4DE 6AD7 BA4F .|.!.;s.....j..O Ressemble ` un a CE7A 8B4F 4FAB 8F7E E283 8699 05A9 C24D .z.OO..~.......M 3B3B 0E05 34C4 9074 9F5B 2482 8322 A084 ;;..4..t.[$..quot;.. certificat ; CC76 71CD C2E2 3619 1906 EC98 5FC6 63FC .vq...6....._.c. 6E74 A693 3E29 5E07 2E9B D3D0 9E44 6C79 nt..>)^......Dly Contient des noms 81D5 A272 C8B0 44D3 6718 9D7E 081F 81FC ...r..D.g..~.... 88A6 2BE3 92FB AC19 4A30 AAC8 27BC 71B7 ..+.....J0..’.q. de fichier. 5A55 8D29 5B87 F44B EC6B 8C84 3217 012A ZU.)[..K.k..2..* BA84 377C 717B F6F0 F42E 12BD 55C8 3C3B ..7|q{......U.<; E931 F33D EB80 E734 8E35 A93B E30E 0013 .1.=...4.5.;.... 5030 3033 3037 3031 3032 3030 2E6C 6F61 P00307010200.loa 6473 000D 5030 3033 3037 3031 3032 3030 ds..P00307010200 2E73 626E 0D0A 5030 3033 3037 3031 3032 .sbn..P003070102 3030 2E73 6232 0D0A 4C41 5F56 4552 5349 00.sb2..LA_VERSI 4F4E 3D50 4153 3330 3730 380D 0A ON=PAS30708.. Nicolas Bareil S´curit´ des syst`mes VoIP e e e 11/35
  • 12. T´l´phones ee Syst`me physique e S´curit´ r´seau e ee D´marrage du t´l´phone e ee ´ Ecoute t´l´phonique ee R´seau e Dissection de ces octets x01x00 ## d´but de section ? e x02x01x01 x02x00 ## d´but de section ? e x02x01x94 x03x00 ## d´but de section ? e x5b x04x00 ## d´but de section ? e x5c x27 ## longueur : 39 octets CN=someSigner;OU=someOrgUnit;O=someOrgx00 ## Certificat Autorit´e x05x00 ## d´but de section ? e x08 ## longueur : 8 octets x12x34x56x78x90xabxcdxef ## 123456789abcdef Pour l’endianess ? x06x00 ## d´but de section ? e x23 ## longueur : 35 octets CN=someCA;OU=someOrgUnit;O=someOrgx00 ## Certificat racine x07x00 ## d´but de section ? e x0f x08x00 ## d´but de section ? e x01x01tx00 x08nx00x01x00 x0b ## longueur : 11 octets x00x01x02x0cx01x00 ACx14xe1x06x1dx84xf2x0ex0b*xc4xb7xf4x9bxffr xccxccx0f|xf7x14xb8x18$xaeK;x04x9fuxf8xd3xbdxabx8axc0~^xedxf ex9dx01x16/x8fex18wxf0x92xfcx14xa1x867xabSx88xb6xac’xfc7x02x8 9Ux0fx89&xdd?xcfrxc2?xe32x7fxcbx1dTxbfxe5wmxe4x03xf8x8bxb2#x93: !xf2xb6xf0|x93!x0c;sx82x08xc8xb4xdejxd7xbaOxcezx8bOOxabx8f~xe2 x83x86x99x05xa9xc2M;;x0ex054xc4x90tx9f[$x82x83quot;xa0x84xccvqxcdxc 2xe26x19x19x06xecx98_xc6cxfcntxa6x93>^x07.x9bxd3xd0x9eDlyx81xd 5xa2rxc8xb0Dxd3gx18x9d~x08x1fx81xfcx88xa6xe3x92xfbxacx19J0xaa xc8’xbcqxb7ZUx8d[x87xf4Kxeckx8cx842x17x01*xbax847|q{xf6xf0xf4.x12xbdx55xc8 x3cx3bxe91xf3x3dxebx80xe74x8e5xa9x3bxe3x0ex00 ## MD5? 3C3BE931F33DEB80E7348E35A93BE30E x13 ## longueur : 19 octets P00307010200.loadsx00r ## nom de fichier avec octet nul P00307010200.sbnrn ## nom de fichier P00307010200.sb2rn ## nom de fichier LA_VERSION=PAS30708rn ## version du loader Nicolas Bareil S´curit´ des syst`mes VoIP e e e 12/35
  • 13. T´l´phones ee Syst`me physique e S´curit´ r´seau e ee D´marrage du t´l´phone e ee ´ Ecoute t´l´phonique ee R´seau e Chargement du firmware Extrait de strings P00307010200.sb2 (( The Moving Finger writes ; and, having writ, Moves on : nor all thy Piety nor Wit Shall lure it back to cancel half a Line, Nor all thy Tears wash out a Word of it. )) — Omar Khayyam D´sassemblage impossible e Processeur inconnu ; Format de fichier inconnu : ni ELF, ni PE, etc ; O` est le point d’entr´e du fichier ? u e Probl`me de l´galit´. e e e Nicolas Bareil S´curit´ des syst`mes VoIP e e e 13/35
  • 14. T´l´phones ee Syst`me physique e S´curit´ r´seau e ee D´marrage du t´l´phone e ee ´ Ecoute t´l´phonique ee R´seau e Scan des t´l´phones : TCP ee Ports TCP Interesting ports on CCM: Not shown: 1678 closed ports Maigre r´sultat mais. . . e PORT STATE SERVICE 80/tcp open tcpwrapped Beaucoup d’informations utiles sur le t´l´phone via l’interface ee Device type: VoIP phone Running: Cisco embedded Web. OS details: Cisco IP Phone 7970G Bien prot´g´ ee Protocoles Une fois la connexion TCP vers Interesting protocols on phoneA: le Call Manager ´tablie, on est e Not shown: 252 closed protocols PROTOCOL STATE SERVICE bloqu´. e 1 open icmp 2 open|filtered igmp 6 open|filtered tcp 17 filtered udp Nicolas Bareil S´curit´ des syst`mes VoIP e e e 14/35
  • 15. T´l´phones ee Syst`me physique e S´curit´ r´seau e ee D´marrage du t´l´phone e ee ´ Ecoute t´l´phonique ee R´seau e Jute pour rire. . . nmap Call Manager PORT STATE SERVICE VERSION 80/tcp open http Microsoft IIS webserver 5.0 102/tcp open iso-tsap? 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn 443/tcp open ssl/http Microsoft IIS webserver 5.0 445/tcp open microsoft-ds Microsoft Windows 2000 microsoft-ds 1433/tcp open ms-sql-s? 1720/tcp open tcpwrapped 2000/tcp open callbook? 2001/tcp open dc? 2002/tcp open globe? 3389/tcp open microsoft-rdp Microsoft Terminal Service 8009/tcp open ajp13? Non ! On ne tire pas sur les ambulances ! Nicolas Bareil S´curit´ des syst`mes VoIP e e e 15/35
  • 16. T´l´phones ee Syst`me physique e S´curit´ r´seau e ee D´marrage du t´l´phone e ee ´ Ecoute t´l´phonique ee R´seau e Jute pour rire. . . nmap Call Manager PORT STATE SERVICE VERSION 80/tcp open http Microsoft IIS webserver 5.0 102/tcp open iso-tsap? 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn 443/tcp open ssl/http Microsoft IIS webserver 5.0 445/tcp open microsoft-ds Microsoft Windows 2000 microsoft-ds 1433/tcp open ms-sql-s? 1720/tcp open tcpwrapped 2000/tcp open callbook? 2001/tcp open dc? 2002/tcp open globe? 3389/tcp open microsoft-rdp Microsoft Terminal Service 8009/tcp open ajp13? Non ! On ne tire pas sur les ambulances ! Nicolas Bareil S´curit´ des syst`mes VoIP e e e 15/35
  • 17. T´l´phones ee Syst`me physique e S´curit´ r´seau e ee D´marrage du t´l´phone e ee ´ Ecoute t´l´phonique ee R´seau e Cisco Discovery Protocol c´d´p´. nom compos´ masculin. protocole de d´couverte r´seau eee e e e Protocole ferm´, propri´taire, utilis´ uniquement par les e e e ´quipements Cisco. e Espoir ? Impl´mentation d’un add-on CDP pour [scapy] : e Fuzzing possible ; Injection de fausses annonces ; Debugging du r´seau plus ais´. e e Nicolas Bareil S´curit´ des syst`mes VoIP e e e 16/35
  • 18. T´l´phones ee Syst`me physique e S´curit´ r´seau e ee D´marrage du t´l´phone e ee ´ Ecoute t´l´phonique ee R´seau e scapy+cdp+skinny >>> sniffed[2].show() ###[ Cisco Discovery Protocol version 2 ]### vers= 1 Fuzzing ttl= 180 cksum= 0xf960 >>> CDPv2_HDR(str(fuzz(CDPv2_HDR()))).show() |###[ Device ID ]### ###[ Cisco Discovery Protocol version 2 ]### | type= Device ID vers= 251 | len= 25 ttl= 56 | val= ’ccm.papanoel.fr’ cksum= 0x4c7 |###[ Addresses ]### >>> send(fuzz(IP(dst=’callman...’) / CDPv2_HDR()) | type= Addresses , loop=1) | len= 17 | naddr= 1L | |###[ CDP Addresses ]### | | ptype= NLPID Packet of death ? | | plen= 0x1 | | proto= IP >>> killme=Dot3(dst=’01 :00 :0c :cc :cc :cc’) | | addrlen= 4 / LLC() / SNAP() / CDPv2_HDR() | | ipaddr= 10.0.0.1 / CDPMsgPower(power=0xffff) |###[ Software Version ]### >>> killme.show() | type= Software Version ###[ Cisco Discovery Protocol version 2 ]### | len= 33 ###[ Power ]### | val= ’Cisco Discovery Protocol v4.0’ type= Power |###[ Platform ]### len= 6 | type= Platform power= 65535 mW | len= 18 >>> sendp(killme, iface=’eth0’) | val= ’Win2000 Server’ ____________________ Nicolas Bareil S´curit´ des syst`mes VoIP e e e 17/35
  • 19. T´l´phones ee Syst`me physique e S´curit´ r´seau e ee D´marrage du t´l´phone e ee ´ Ecoute t´l´phonique ee R´seau e scapy+cdp+skinny >>> sniffed[2].show() ###[ Cisco Discovery Protocol version 2 ]### vers= 1 Fuzzing ttl= 180 cksum= 0xf960 >>> CDPv2_HDR(str(fuzz(CDPv2_HDR()))).show() |###[ Device ID ]### ###[ Cisco Discovery Protocol version 2 ]### | type= Device ID vers= 251 | len= 25 ttl= 56 | val= ’ccm.papanoel.fr’ cksum= 0x4c7 |###[ Addresses ]### >>> send(fuzz(IP(dst=’callman...’) / CDPv2_HDR()) | type= Addresses , loop=1) | len= 17 | naddr= 1L | |###[ CDP Addresses ]### | | ptype= NLPID Packet of death ? | | plen= 0x1 | | proto= IP >>> killme=Dot3(dst=’01 :00 :0c :cc :cc :cc’) | | addrlen= 4 / LLC() / SNAP() / CDPv2_HDR() | | ipaddr= 10.0.0.1 / CDPMsgPower(power=0xffff) |###[ Software Version ]### >>> killme.show() | type= Software Version ###[ Cisco Discovery Protocol version 2 ]### | len= 33 ###[ Power ]### | val= ’Cisco Discovery Protocol v4.0’ type= Power |###[ Platform ]### len= 6 | type= Platform power= 65535 mW | len= 18 >>> sendp(killme, iface=’eth0’) | val= ’Win2000 Server’ ____________________ Nicolas Bareil S´curit´ des syst`mes VoIP e e e 17/35
  • 20. T´l´phones ee Syst`me physique e S´curit´ r´seau e ee D´marrage du t´l´phone e ee ´ Ecoute t´l´phonique ee R´seau e scapy+cdp+skinny >>> sniffed[2].show() ###[ Cisco Discovery Protocol version 2 ]### vers= 1 Fuzzing ttl= 180 cksum= 0xf960 >>> CDPv2_HDR(str(fuzz(CDPv2_HDR()))).show() |###[ Device ID ]### ###[ Cisco Discovery Protocol version 2 ]### | type= Device ID vers= 251 | len= 25 ttl= 56 | val= ’ccm.papanoel.fr’ cksum= 0x4c7 |###[ Addresses ]### >>> send(fuzz(IP(dst=’callman...’) / CDPv2_HDR()) | type= Addresses , loop=1) | len= 17 | naddr= 1L | |###[ CDP Addresses ]### | | ptype= NLPID Packet of death ? | | plen= 0x1 | | proto= IP >>> killme=Dot3(dst=’01 :00 :0c :cc :cc :cc’) | | addrlen= 4 / LLC() / SNAP() / CDPv2_HDR() | | ipaddr= 10.0.0.1 / CDPMsgPower(power=0xffff) |###[ Software Version ]### >>> killme.show() | type= Software Version ###[ Cisco Discovery Protocol version 2 ]### | len= 33 ###[ Power ]### | val= ’Cisco Discovery Protocol v4.0’ type= Power |###[ Platform ]### len= 6 | type= Platform power= 65535 mW | len= 18 >>> sendp(killme, iface=’eth0’) | val= ’Win2000 Server’ ____________________ Nicolas Bareil S´curit´ des syst`mes VoIP e e e 17/35
  • 21. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle Plan T´l´phones ee 1 Syst`me physique e D´marrage du t´l´phone e ee R´seau e S´curit´ r´seau e ee 2 Architecture TCP Hijacking Man in the middle ´ Ecoute t´l´phonique ee 3 Protocole de signalisation Protocole de transport I’m Listening To You Nicolas Bareil S´curit´ des syst`mes VoIP e e e 18/35
  • 22. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle ´ Equipements Un r´seau VoIP est constitu´ de : e e T´l´phones adapt´s ; ee e Call Manager. ´ Equipement IP =⇒ Pile IP =⇒ Complexe =⇒ Int´ressant ! e Nicolas Bareil S´curit´ des syst`mes VoIP e e e 19/35
  • 23. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle ´ Equipements Un r´seau VoIP est constitu´ de : e e T´l´phones adapt´s ; ee e Call Manager. ´ Equipement IP =⇒ Pile IP =⇒ Complexe =⇒ Int´ressant ! e Nicolas Bareil S´curit´ des syst`mes VoIP e e e 19/35
  • 24. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle ´ Equipements Un r´seau VoIP est constitu´ de : e e T´l´phones adapt´s ; ee e Call Manager. ´ Equipement IP =⇒ Pile IP =⇒ Complexe =⇒ Int´ressant ! e Nicolas Bareil S´curit´ des syst`mes VoIP e e e 19/35
  • 25. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle ´ Equipements Un r´seau VoIP est constitu´ de : e e T´l´phones adapt´s ; ee e Call Manager. ´ Equipement IP =⇒ Pile IP =⇒ Complexe =⇒ Int´ressant ! e Nicolas Bareil S´curit´ des syst`mes VoIP e e e 19/35
  • 26. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle Pile TCP/IP correcte Robustesse de la pile TCP/IP G´n´ration des ISN : (( compl´tement al´atoire )), ee e e IP ID incr´mentaux, e Protection anti-DDoS : Bonne gestion des num´ros de s´quence : e e Nicolas Bareil S´curit´ des syst`mes VoIP e e e 20/35
  • 27. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle Pile TCP/IP correcte Robustesse de la pile TCP/IP G´n´ration des ISN : (( compl´tement al´atoire )), ee e e IP ID incr´mentaux, e Protection anti-DDoS : Requˆte/R´ponse ARP, e e SYN / SYN+ACK ; Bonne gestion des num´ros de s´quence : e e Nicolas Bareil S´curit´ des syst`mes VoIP e e e 20/35
  • 28. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle Pile TCP/IP correcte Robustesse de la pile TCP/IP G´n´ration des ISN : (( compl´tement al´atoire )), ee e e IP ID incr´mentaux, e Protection anti-DDoS : Bonne gestion des num´ros de s´quence : e e D´tection d’une d´synchronisation, e e R´´criture des donn´es non acquitt´es ; ee e e Nicolas Bareil S´curit´ des syst`mes VoIP e e e 20/35
  • 29. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle Pile TCP/IP correcte Robustesse de la pile TCP/IP G´n´ration des ISN : (( compl´tement al´atoire )), ee e e IP ID incr´mentaux, e Protection anti-DDoS : Bonne gestion des num´ros de s´quence : e e Pile TCP/IP d´riv´e d’un IOS ? ee Nicolas Bareil S´curit´ des syst`mes VoIP e e e 20/35
  • 30. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle TCP Hijacking Avis de tempˆte e Blind TCP Hijacking non trivial. =⇒ L’insertion na¨ de paquets entraˆ un ACK-storm ! ıve ıne The lazy way Utilisons la possibilit´ de r´´crire des paquets non acquitt´s ! e ee e Anticiper la taille du prochain segment, 1 Envoyer le paquet, 2 R´ussir ` ce qu’il soit trait´ avant la r´ception du vrai paquet, e a e e 3 Attendre :) 4 Nicolas Bareil S´curit´ des syst`mes VoIP e e e 21/35
  • 31. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle Suite de paquets Comment anticiper ? Il y a constamment des suites de paquets : D´marrage, e Keep Alive, D´crochage du t´l´phone, e ee R´ception d’un appel, e ... Nicolas Bareil S´curit´ des syst`mes VoIP e e e 22/35
  • 32. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle Applications du TCP Hijacking Applications possibles : Modification des num´ros de t´l´phone compos´s, e ee e Impossible de modifier les options de s´curit´ ainsi, e e =⇒ Car modifi´es par le fichier de configuration (via TFTP) e Too easy ! L’utilisation de [scapy] et de son add-on Skinny facilite ce type d’interception. Nicolas Bareil S´curit´ des syst`mes VoIP e e e 23/35
  • 33. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle Applications du TCP Hijacking Applications possibles : Modification des num´ros de t´l´phone compos´s, e ee e Impossible de modifier les options de s´curit´ ainsi, e e =⇒ Car modifi´es par le fichier de configuration (via TFTP) e Too easy ! L’utilisation de [scapy] et de son add-on Skinny facilite ce type d’interception. Nicolas Bareil S´curit´ des syst`mes VoIP e e e 23/35
  • 34. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle Applications du TCP Hijacking Applications possibles : Modification des num´ros de t´l´phone compos´s, e ee e Impossible de modifier les options de s´curit´ ainsi, e e =⇒ Car modifi´es par le fichier de configuration (via TFTP) e Too easy ! L’utilisation de [scapy] et de son add-on Skinny facilite ce type d’interception. Nicolas Bareil S´curit´ des syst`mes VoIP e e e 23/35
  • 35. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle ICMP Redirect Message ICMP Redirect Redirection d’un routeur par un autre routeur. Support de l’ICMP insuffisant dans [scapy], R´impl´mentation de l’ICMP, e e Mais les t´l´phones ne suivent pas les redirections ICMP :-( ee Nicolas Bareil S´curit´ des syst`mes VoIP e e e 24/35
  • 36. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle ICMP Redirect Message ICMP Redirect Redirection d’un routeur par un autre routeur. Support de l’ICMP insuffisant dans [scapy], R´impl´mentation de l’ICMP, e e Mais les t´l´phones ne suivent pas les redirections ICMP :-( ee Nicolas Bareil S´curit´ des syst`mes VoIP e e e 24/35
  • 37. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle Modes Gratuitous ARP Gratuitous ARP C’est une r´ponse ARP non d´sir´e afin de mettre ` jour les caches. e ee a Les t´l´phones peuvent autoriser cette fonctionnalit´ ou non. ee e Avec GARP, toutes les attaques ARP sont possibles, Sans GARP, rien n’est possible Une fois la premi`re r´solution faite, l’entr´e du cache est fig´e ee e e Nicolas Bareil S´curit´ des syst`mes VoIP e e e 25/35
  • 38. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle Modes Gratuitous ARP Gratuitous ARP C’est une r´ponse ARP non d´sir´e afin de mettre ` jour les caches. e ee a Les t´l´phones peuvent autoriser cette fonctionnalit´ ou non. ee e Avec GARP, toutes les attaques ARP sont possibles, Sans GARP, rien n’est possible Une fois la premi`re r´solution faite, l’entr´e du cache est fig´e ee e e Sauf une fois. . . Nicolas Bareil S´curit´ des syst`mes VoIP e e e 25/35
  • 39. T´l´phones ee Architecture S´curit´ r´seau e ee TCP Hijacking ´ Ecoute t´l´phonique ee Man in the middle Comportement bonus >>> from Crypto.Hash import MD5 >>> hash=MD5.new() >>> def hashoir(x): ... hash.update(str(x.payload)) ... hex=hash.hexdigest() ... print x.sprintf(quot;%Ether.src% > %Ether.dst% / {UDP: UDP(%UDP.sport% > %UDP.dport%)}quot; ... quot;{TCP: TCP(%TCP.sport% > %TCP.dport%)} MD5=%squot; % hex) ... >>> map(hashoir, sniffedpkt) 00:14:A8:92:4D:3F > 00:0B:CD:AE:FC:27 / UDP(50036 > tftp) MD5=45733f4ea925a5d4c336287bdd7411c3 00:14:A8:92:4D:3F > 00:0B:AA:BB:CC:DD / UDP(50036 > tftp) MD5=45733f4ea925a5d4c336287bdd7411c3 00:14:A8:92:4D:3F > 00:0B:CD:AE:FC:27 / TCP(1570 > skinny) MD5=a20675fc6702ae5ebdb1b94dfdc10096 00:14:A8:92:4D:3F > 00:0B:AA:BB:CC:DD / TCP(1570 > skinny) MD5=a20675fc6702ae5ebdb1b94dfdc10096 00:14:A8:92:4D:3F > 00:0B:CD:AE:FC:27 / TCP(1570 > skinny) MD5=ca8f5150150d1090244d9a49d75868e9 00:14:A8:92:4D:3F > 00:0B:AA:BB:CC:DD / TCP(1570 > skinny) MD5=ca8f5150150d1090244d9a49d75868e9 Do you ? Vous ne voyez rien de bizarre ? Nicolas Bareil S´curit´ des syst`mes VoIP e e e 26/35
  • 40. T´l´phones ee Protocole de signalisation S´curit´ r´seau e ee Protocole de transport ´ Ecoute t´l´phonique ee I’m Listening To You Plan T´l´phones ee 1 Syst`me physique e D´marrage du t´l´phone e ee R´seau e S´curit´ r´seau e ee 2 Architecture TCP Hijacking Man in the middle ´ Ecoute t´l´phonique ee 3 Protocole de signalisation Protocole de transport I’m Listening To You Nicolas Bareil S´curit´ des syst`mes VoIP e e e 27/35
  • 41. T´l´phones ee Protocole de signalisation S´curit´ r´seau e ee Protocole de transport ´ Ecoute t´l´phonique ee I’m Listening To You Les protocoles mis en jeux Un r´seau VoIP est g´r´ via : e ee Un protocole de signalisation Un protocole de transport de la voix Nicolas Bareil S´curit´ des syst`mes VoIP e e e 28/35
  • 42. T´l´phones ee Protocole de signalisation S´curit´ r´seau e ee Protocole de transport ´ Ecoute t´l´phonique ee I’m Listening To You Skinny Client Control Protocol Skinny : Utilise TCP/2000 Protocole binaire (contrairement ` SIP) a Champs ` positions fixes a Skinny : Le Yin ? Analyse difficile sans sp´cifications : e Plus de trois cents types de messages ; Champs compos´s complexes ; e Beaucoup de champs (( r´serv´s )) ; e e =⇒ Impl´mentation partielle dans [scapy] e Nicolas Bareil S´curit´ des syst`mes VoIP e e e 29/35
  • 43. T´l´phones ee Protocole de signalisation S´curit´ r´seau e ee Protocole de transport ´ Ecoute t´l´phonique ee I’m Listening To You Real Time Protocol : le Yang RTP : Le Yang Protocole simple et g´n´raliste standardis´ par la RFC 3550. ee e =⇒ Utilis´ par (presque) toutes les solutions VoIP e Les num´ros de ports ne sont pas fixes et sont assign´s e e dynamiquement via le protocole de signalisation. Nicolas Bareil S´curit´ des syst`mes VoIP e e e 30/35
  • 44. T´l´phones ee Protocole de signalisation S´curit´ r´seau e ee Protocole de transport ´ Ecoute t´l´phonique ee I’m Listening To You Real Time Protocol : voix Apr`s les en-tˆtes. . . la voix ! e e La voix n’est pas chiffr´e, juste cod´e ; e e Si on intercepte ces paquets, on peut alors ´couter. e ´ Etat de l’art des logiciels d’´coute t´l´phonique e ee vomit (N. Provos) ; voipong (M. Balaban) ; cain (M. Montoro). Nicolas Bareil S´curit´ des syst`mes VoIP e e e 31/35
  • 45. T´l´phones ee Protocole de signalisation S´curit´ r´seau e ee Protocole de transport ´ Ecoute t´l´phonique ee I’m Listening To You I’m listening to you ! ilty : I’m listening to you ! Logiciel Libre, Inteface user friendly D´velopp´ en Python, e e Fonctionnalit´s e ´ Ecouter une conversation en direct, Logguer les appels, Surveille le protocole de signalisation, Nicolas Bareil S´curit´ des syst`mes VoIP e e e 32/35
  • 46. T´l´phones ee Protocole de signalisation S´curit´ r´seau e ee Protocole de transport ´ Ecoute t´l´phonique ee I’m Listening To You La signalisation Surveiller le protocole de signalisation permet : Reconnaˆ pr´cisemment les appels : ıtre e Acc`s aux informations de l’annuaire, e Num´ro de t´l´phone, e ee Extension du num´ro de t´l´phone ; e ee Voir les touches compos´es : e Capture du code de messagerie vocale, Num´ros de carte bleue ; e Nicolas Bareil S´curit´ des syst`mes VoIP e e e 33/35
  • 47. T´l´phones ee Protocole de signalisation S´curit´ r´seau e ee Protocole de transport ´ Ecoute t´l´phonique ee I’m Listening To You Des questions ? Si on avait eu plus du temps. . . V´rification de la solidit´ du code cryptographique. e e Remerciements Phil, Serpilliere, Sid, Arnaud, news0ft, Kostya, Stf et tout le reste de l’´quipe d’EADS CCR DCR/STI/C ! e Plus d’information ? nicolas.bareil@eads.net Nicolas Bareil S´curit´ des syst`mes VoIP e e e 34/35
  • 48. T´l´phones ee Protocole de signalisation S´curit´ r´seau e ee Protocole de transport ´ Ecoute t´l´phonique ee I’m Listening To You Bibliography P. Biondi, scapy Interactive packet manipulation program http://secdev.org/projects/scapy/ N. Bareil, ilty I’m listening to you http://chdir.org/∼nico/ilty/ SSTIC 2005 — http://actes.sstic.org/SSTIC05/ N. Provos, vomit http://vomit.xtdnet.nl/ M. Balaban, voipong http://www.enderunix.org/voipong/ M. Montoro, Cain http://www.oxid.it/cain.html Nicolas Bareil S´curit´ des syst`mes VoIP e e e 35/35