SlideShare ist ein Scribd-Unternehmen logo
1 von 126
Downloaden Sie, um offline zu lesen
Un petit guide pour la s´curit´
                           e     e

  Alexandre Viardin (Mirabellug)




copyright Alexandre Viardin Novembre 2003
Table des mati`res
              e

1 S´curisation de base
   e                                                                                                      8
  1.1 Premier conseil : Verrouillez les stations . . .           .   .   .   .   .   .   .   .   .   .   10
  1.2 Pour Linux . . . . . . . . . . . . . . . . . .             .   .   .   .   .   .   .   .   .   .   10
  1.3 Pour Windows . . . . . . . . . . . . . . . . .             .   .   .   .   .   .   .   .   .   .   10
  1.4 Le lecteur de disquettes . . . . . . . . . . . .           .   .   .   .   .   .   .   .   .   .   10
  1.5 Le lecteur de CDROM . . . . . . . . . . . .                .   .   .   .   .   .   .   .   .   .   11
  1.6 N’oubliez pas le mot de passe pour le BIOS                 .   .   .   .   .   .   .   .   .   .   11

2 La collecte d’informations                                                                             12
  2.1 Le Scanner . . . . . . . . . . . . . . . . . . . . . . . . .                       . . . .         14
      2.1.1 Qu’est ce qu’un scanner ? . . . . . . . . . . . . .                          . . . .         14
      2.1.2 Comment marche Nmap ? . . . . . . . . . . . .                                . . . .         16
      2.1.3 La d´termination du syst`me d’exploitation avec
                   e                     e                                               Nmap            18
      2.1.4 Quel est l’intˆret d’utiliser Nmap ? . . . . . . .
                           e                                                             . . . .         19
  2.2 Identifier les versions des logiciels en ´coute . . . . . .
                                              e                                          . . . .         21
      2.2.1 Netcat . . . . . . . . . . . . . . . . . . . . . . .                         . . . .         22

3 Les  failles applicatives                                                                              24
  3.1   Les installations par d´faut . . . . . . .
                               e                     .   .   .   .   .   .   .   .   .   .   .   .   .   26
  3.2   Les mauvaises configurations . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   26
  3.3   Les bogues . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   26
        3.3.1 Des d´nis de services applicatifs
                      e                              .   .   .   .   .   .   .   .   .   .   .   .   .   26
        3.3.2 Outrepassement de droits . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   27
        3.3.3 Les scripts . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   27
   3.4 Les exploits . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   27

4 Les outils indispensables pour la protection                                                           29
  4.1 Le firewall . . . . . . . . . . . . . . . . . . .           .   .   .   .   .   .   .   .   .   .   31
      4.1.1 La configuration . . . . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   31
      4.1.2 Les attaques contre les firewalls . . .               .   .   .   .   .   .   .   .   .   .   31
  4.2 Les NIDS . . . . . . . . . . . . . . . . . . .             .   .   .   .   .   .   .   .   .   .   34


                                      1
4.2.1 Prelude . . . . . . . . . . . . . . .           . . . . .           .   .   .   .   .   .   34
       4.2.2 Snort . . . . . . . . . . . . . . . . .         . . . . .           .   .   .   .   .   .   35
   4.3 Le tunneling . . . . . . . . . . . . . . . .          . . . . .           .   .   .   .   .   .   36
       4.3.1 Le protocole AH . . . . . . . . . .             . . . . .           .   .   .   .   .   .   36
       4.3.2 Le protocole ESP . . . . . . . . . .            . . . . .           .   .   .   .   .   .   36
       4.3.3 Le protocole IPcomp . . . . . . . .             . . . . .           .   .   .   .   .   .   36
       4.3.4 Le protocole IKE . . . . . . . . . .            . . . . .           .   .   .   .   .   .   36
       4.3.5 Les deux modes de fonctionnements               de IPsec            .   .   .   .   .   .   37
       4.3.6 Les limitations d’IPsec . . . . . . .           . . . . .           .   .   .   .   .   .   37
   4.4 Nessus . . . . . . . . . . . . . . . . . . . .        . . . . .           .   .   .   .   .   .   38
       4.4.1 Pour obtenir tout sur Nessus . . . .            . . . . .           .   .   .   .   .   .   38
   4.5 User Mode Linux - UML . . . . . . . . .               . . . . .           .   .   .   .   .   .   39

5 Surveillance - Dissimulation - Maintien d’acc`s       e                                                40
  5.1 Les chevaux de Troie . . . . . . . . . . . . . . . . . . . .                           .   .   .   42
  5.2 Les backdoors . . . . . . . . . . . . . . . . . . . . . . . .                          .   .   .   43
      5.2.1 Les backdoors pr´sentes dans les logiciels. . . . .
                               e                                                             .   .   .   43
      5.2.2 Les backdoors d´di´es aux connexions ` distance .
                              e e                      a                                     .   .   .   43
  5.3 Les Rootkits . . . . . . . . . . . . . . . . . . . . . . . . .                         .   .   .   45
  5.4 L’interception des mots de passe en r´seau. . . . . . . . .
                                             e                                               .   .   .   47

6 Dispositifs destructeurs                                                                               49
  6.1 Le virus . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   51
  6.2 Les vers . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   52
  6.3 Les bombes logiques . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   53
  6.4 Les attaques par d´ni de services . . .
                         e                           .   .   .   .   .   .   .   .   .   .   .   .   .   54
      6.4.1 Le SYN flood . . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   54
      6.4.2 L’UDP Flood . . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   54
      6.4.3 Fragmentation de paquets . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   55
      6.4.4 Ping of death . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   55
      6.4.5 Attaque par r´flexion : Smurfing
                            e                        .   .   .   .   .   .   .   .   .   .   .   .   .   55
      6.4.6 D´nis de services distribu´s . .
               e                         e           .   .   .   .   .   .   .   .   .   .   .   .   .   56
      6.4.7 Bombes e-mail . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   56

7 S´curisation des mots de passe
   e                                                                                                     57
  7.1 L’attaque par dictionnaire . . .     . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   59
  7.2 Le brute forcing . . . . . . . . .   . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   59
  7.3 Tester la fiabilit´ de vos mots de
                       e                   passe !   .   .   .   .   .   .   .   .   .   .   .   .   .   59
  7.4 Choisir le bon mot de passe . .      . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   60
  7.5 Pr´venir l’utilisateur . . . . . .
         e                                 . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   61



                                      2
8 La base des attaques r´seaux
                         e                                                                     62
  8.1 D´tournement de flux . . . . . . . . . . . . .
        e                                              .   .   .   .   .   .   .   .   .   .   64
      8.1.1 ARP-Poisoning : . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   64
      8.1.2 D´synchronisation TCP : . . . . . . .
              e                                        .   .   .   .   .   .   .   .   .   .   65
  8.2 MIM - Man in the Middle . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   67
  8.3 Encapsulation d’IP dans d’autres protocoles.     .   .   .   .   .   .   .   .   .   .   68

9 Description d’attaques sur diff´rents protocoles
                                     e                                                          69
  9.1 DHCP : Dynamic Host Configuration Protocol . .                .   .   .   .   .   .   .    71
       9.1.1 Attaque par ´puisement de ressources . . .
                           e                                       .   .   .   .   .   .   .    71
       9.1.2 Faux serveurs DHCP . . . . . . . . . . . .            .   .   .   .   .   .   .    71
  9.2 DNS : Domain Name Server . . . . . . . . . . . .             .   .   .   .   .   .   .    73
       9.2.1 Le DNS ID spoofing . . . . . . . . . . . .             .   .   .   .   .   .   .    73
       9.2.2 Le DNS cache poisoning . . . . . . . . . .            .   .   .   .   .   .   .    74
  9.3 FINGER . . . . . . . . . . . . . . . . . . . . . . .         .   .   .   .   .   .   .    77
  9.4 FTP . . . . . . . . . . . . . . . . . . . . . . . . .        .   .   .   .   .   .   .    79
       9.4.1 Le serveur FTP anonyme . . . . . . . . . .            .   .   .   .   .   .   .    79
  9.5 HTTP . . . . . . . . . . . . . . . . . . . . . . . .         .   .   .   .   .   .   .    81
       9.5.1 Les serveurs trop bavards . . . . . . . . .           .   .   .   .   .   .   .    81
       9.5.2 Vuln´rabilit´s li´es aux applications web .
                   e     e e                                       .   .   .   .   .   .   .    81
  9.6 IDENT . . . . . . . . . . . . . . . . . . . . . . . .        .   .   .   .   .   .   .    83
  9.7 IP et l’IP-Spoofing . . . . . . . . . . . . . . . . .         .   .   .   .   .   .   .    84
       9.7.1 Un peu de th´orie ... . . . . . . . . . . . .
                           e                                       .   .   .   .   .   .   .    84
       9.7.2 Pr´venir l’IP spoofing grˆce ` Nmap . . .
                e                       a a                        .   .   .   .   .   .   .    87
  9.8 NETBIOS . . . . . . . . . . . . . . . . . . . . . .          .   .   .   .   .   .   .    90
  9.9 NFS : Network File System . . . . . . . . . . . .            .   .   .   .   .   .   .    91
       9.9.1 Les attaques . . . . . . . . . . . . . . . . .        .   .   .   .   .   .   .    91
  9.10 NIS : Network Information Service . . . . . . . .           .   .   .   .   .   .   .    92
       9.10.1 Les attaques . . . . . . . . . . . . . . . . .       .   .   .   .   .   .   .    92
  9.11 PORTMAP . . . . . . . . . . . . . . . . . . . . .           .   .   .   .   .   .   .    93
  9.12 Le protocole SMB . . . . . . . . . . . . . . . . . .        .   .   .   .   .   .   .    94
       9.12.1 Les scans de SMB shares . . . . . . . . . .          .   .   .   .   .   .   .    94
  9.13 SMTP - Les services de messagerie . . . . . . . .           .   .   .   .   .   .   .    96
  9.14 SQL . . . . . . . . . . . . . . . . . . . . . . . . .       .   .   .   .   .   .   .    97
       9.14.1 Le ”SQL-INJECTION” . . . . . . . . . . .             .   .   .   .   .   .   .    97
  9.15 SSH . . . . . . . . . . . . . . . . . . . . . . . . .       .   .   .   .   .   .   .    98
  9.16 TELNET . . . . . . . . . . . . . . . . . . . . . .          .   .   .   .   .   .   .    99
  9.17 XWINDOW . . . . . . . . . . . . . . . . . . . . .           .   .   .   .   .   .   .   100
       9.17.1 Les attaques . . . . . . . . . . . . . . . . .       .   .   .   .   .   .   .   100
  9.18 Peer To Peer (eDonkey, Kazaa ...) . . . . . . . . .         .   .   .   .   .   .   .   101


                                      3
10 S´curit´ avanc´e
    e       e      e                                                             102
   10.1 L’architecture s´curis´e . . . . . . . . . . . . . . . . . . . . .
                        e     e                                              .   104
        10.1.1 Le r´seau de d´part . . . . . . . . . . . . . . . . . . .
                    e          e                                             .   104
        10.1.2 Le premier niveau de s´curit´ . . . . . . . . . . . . .
                                        e     e                              .   105
        10.1.3 NDIS : Deuxi`me niveau de s´curisation . . . . . . .
                              e                e                             .   105
        10.1.4 Les niveaux plus ´lev´s . . . . . . . . . . . . . . . .
                                  e e                                        .   106
   10.2 D´veloppez vos propres utilitaires s´curit´ . . . . . . . . . .
          e                                  e      e                        .   108
        10.2.1 Le programme . . . . . . . . . . . . . . . . . . . . . .      .   108
        10.2.2 Comment obtenir et compiler le source entier du pro-
               gramme ? . . . . . . . . . . . . . . . . . . . . . . . .      . 118
        10.2.3 Documents . . . . . . . . . . . . . . . . . . . . . . .       . 118

11 Annexes                                                               119
   11.1 Les sites et revues ` consulter r´gulierement . . . . . . . . . . 120
                            a            e
   11.2 Remerciements . . . . . . . . . . . . . . . . . . . . . . . . . . 122




                                       4
Avant-propos

      ”Qui connaˆt l’autre et se connaˆt, en cent combats ne sera point
                   ı                   ı
      d´fait ; qui ne connaˆ l’autre mais se connaˆt, sera vainqueur une
       e                   ıt                     ı
      fois sur deux ; qui ne connaˆ pas plus l’autre qu’il ne se connaˆ
                                   ıt                                  ıt
      sera toujours d´fait.”
                       e

                      L’art de la guerre - Sun Tzu

   Ce guide a ´t´ r´alis´ suite ` un audit de s´curit´ que j’ai r´alis´ pour
                 ee e e            a               e     e         e e
mon ´cole et aux deux conf´rences sur la s´curit´ r´seau pr´sent´es au groupe
     e                       e               e    e e       e    e
d’utilisateurs Linux de NANCY (coucou le Mirabellug). Je ne suis pas sp´cialiste
                                                                         e
en s´curit´ r´seau ; j’ai juste ´crit ce guide dans le but de donner ` des ad-
    e      e e                  e                                    a
ministrateurs ou ` des particuliers, un descriptif technique et un manuel
                   a
d’autoformation ` la s´curit´ r´seau.
                  a     e      e e

La plupart des administrateurs ne sont pas sp´cialistes en securit´, et peuvent
                                              e                   e
ˆtre perdus devant un probl`me de ce type. Le masse d’informations dispo-
e                             e
nible sur Internet est parfois confuse, dense ou tr`s technique. Ce guide sert
                                                    e
de point de d´part et d’introduction ` la s´curit´.
              e                        a    e     e

Il a ´t´ pens´ dans un but ´volutif. Si vous voulez participer en ´crivant ou en
     ee      e             e                                      e
compl´tant des chapitres, n’h´sitez pas ` me contacter sur guidesecu@free.fr.
       e                       e          a
Le principe est simple : une description assez succinte sur une attaque et en-
suite une description compl`te des m´thodes de protection. Vos exp´riences
                             e          e                               e
personnelles et vos remarques sont aussi les bienvenues.

Evidemment, ce guide est sous license GPL donc gratuit. La seule r´compense
                                                                   e
que pourront recevoir les ´ventuels participants est la mention de leurs noms
                          e
en tant que collaborateurs.

Ce guide se compose d’une dizaines de chapitres.



                                       5
Chaque chapitre comporte une introduction. La plupart du temps, un cha-
pitre contient au moins une section divis´e en diff´rentes sous sections : une
                                         e        e
pour la description d’un probl`me de s´curit´ particulier, une deuxi`me pour
                              e       e      e                      e
d´crire les diff´rents moyens de s’en prot´ger et une troisi`me pour donner
 e             e                          e                  e
diff´rents liens vers des documents plus pr´cis sur le sujet.
   e                                       e

Le premier chapitre montre comment s´curiser une station pour ´viter toutes
                                      e                       e
tentatives de piratage par un acc`s physique.
                                 e

Le deuxi`me chapitre d´crit le fonctionnement des outils de r´cup´ration
        e               e                                      e     e
d’informations ` distance, notamment les scanners. Il montre l’utilit´ qu’ils
               a                                                     e
ont pour vous prot´ger.
                  e

Le troisi`me chapitre introduit la notion de failles.
         e

Le quatri`me chapitre introduit diff´rentes notions sur les firewalls et les
         e                          e
principaux autres syst`mes de protection logiciels.
                      e

Le cinqui`me chapitre explique comment un pirate dissimule sa pr´sence
         e                                                      e
sur un syst`me.
           e

Le sixi`me chapitre s’int´resse aux dispositifs destructeurs (virus, bombes
       e                 e
mails ...).

Le septi`me chapitre d´crit les attaques sur les fichiers de mots de passe.
        e             e

Les huiti`me et neuvi`me chapitres traitent de diff´rents probl`mes pos´s
         e             e                          e           e       e
par certains protocoles r´seaux.
                         e

Le dixi`me chapitre est divis´ en deux parties : la premi`re explique comment
       e                     e                           e
architecturer son r´seau de fa¸on s´curis´e. La deuxi`me partie est un cours
                   e           c    e    e             e
sur le developpement d’outils d´di´s uniquement ` la s´curit´.
                                 e e                a    e     e


O` trouver ce guide ?
 u
   C’est tr`s simple, il y a deux adresses :
           e

Le site officiel :

http://guidesecu.ifrance.com/guide/guidesecu.pdf


                                       6
Sur le site du Mirabellug :

http://www.mirabellug.org/docs/securite/guidesecu.pdf


Les OS vis´s :
          e
    La majorit´ des programmes d´fensifs utilis´s et d´crits dans ce guide sont
               e                  e            e      e
disponibles sous LINUX. Je n’oublierai pas de parler de la s´curit´ pour les
                                                               e     e
produits Microsoft. Cependant, Linux poss`de une certaine avance sur Mi-
                                            e
crosoft dans le domaine de la s´curit´ (notamment par un plus grand nombre
                               e     e
de logiciels performants et gratuits).

Les autres OS comme SunOS, VMS, MacOS, Plan9, Novell,... seront pass´s      e
sous silence mais si vous voulez voir des chapitres pr´cis sur certains OS ap-
                                                      e
paraitre, contactez moi par mail.



                       Bonne Lecture !




                                      7
Chapitre 1

S´curisation de base
 e




               8
Introduction
   Le but de ce chapitre est de donner diff´rentes m´thodes pour s´curiser
                                            e        e             e
physiquement une machine. Il faut savoir qu’une grande partie des piratages
sont lanc´s par des pirates ayant un acc`s physique sur un r´seau.
         e                              e                   e

Dans ce chapitre, nous ne nous focaliserons pas sur un serveur d´di´ ` un
                                                                    e e a
service particulier, mais plutˆt sur les machines constituant les clients. Ces
                              o
machines sont en acc`s libre dans une salle non surveill´e.
                      e                                 e

L’objectif est d’empˆcher une personne mal intentionn´e d’obtenir les acc`s
                     e                                   e                     e
adiministrateur sur la machine qu’elle utilise. La plupart des utilitaires de pi-
ratage ont besoin des acc`s administrateur pour fonctionner ; sans ces acc`s,
                          e                                                   e
la capacit´ de nuire est fortement diminu´e.
          e                                e




                                       9
1.1      Premier conseil : Verrouillez les stations
   N’h´sitez pas ` poser un cadenas sur les tours des machines, cela empˆchera
       e         a                                                       e
tout d’abord le vol de mat´riel, mais cela ´vitera aussi d’avoir des disques
                            e                e
durs mont´s en ”secret” avec toute une panoplie d’utilitaires install´s dessus.
          e                                                          e

Le conseil ` suivre imp´rativement (et vous comprendrez pourquoi en li-
            a             e
sant les deux chapitres suivants) : il faut d´sactiver le boot sur le lecteur de
                                             e
disquette et sur le lecteur de CDROM.


1.2      Pour Linux
   Evitez d’avoir l’option ”failsafe” au d´marrage propos´ par Lilo. Cette
                                          e              e
option peut permettre d’obtenir les acc`s root (sans mot de passe) pour la
                                        e
maintenance du syst`me.
                     e


1.3      Pour Windows
    Le syst`me de fichier NTFS permet une s´curisation accrue par rapport
           e                              e
aux syst`mes de fichier FAT et FAT 32. Si vos machines W indows c fonc-
         e
tionnent avec de la FAT, passez en NTFS.

Je d´conseille fortement d’utiliser Windows 95, 98 et Me, le niveau de s´curit´
    e                                                                   e     e
offert par ces OS en natif n’´tant pas assez ´lev´.
                             e               e e


1.4      Le lecteur de disquettes
    Evitez le boot sur disquette, un utilitaire comme Trinux (qui est un OS
Linux s’installant en RAM grˆce ` un nombre limit´ de disquettes) donne la
                               a a                   e
possibilit´ de monter tous les syst`mes de fichiers pr´sents sur le(s) disque(s)
          e                        e                 e
dur(s) de la machine et d’en modifier le(s) contenu(s). De plus, Trinux est
livr´ avec un panel assez impressionnant d’utilitaires exclusivement d´di´s `
    e                                                                   e e a
la s´curit´.
    e     e

Le programme NTFS2DOS (sous DOS) permet de changer les partitions
NTFS en partitions FAT et de pouvoir acc´der ` leurs contenus sans restric-
                                        e    a
tions. NTFS2DOS est lanc´ depuis une disquette de boot DOS.
                        e




                                      10
1.5     Le lecteur de CDROM
    Des utilitaires comme Knoopix (un OS Linux bootant sur un seul CD et
contenant lui aussi un nombre impressionnant d’utilitaires divers) peuvent
ˆtre utilis´s pour monter les diff´rents syst`mes de fichiers pr´sents sur le(s)
e          e                     e          e                 e
disque(s) dur(s).


1.6     N’oubliez pas le mot de passe pour le
        BIOS
    N’oubliez de prot´ger l’acc`s du BIOS par un mot de passe ! Attention
                      e         e
certains BIOS peuvent comporter des failles logicielles permettant d’outre-
passer ces protections. Encore une fois, il ne faut pas oublier de cadenasser
les tours, afin d’´viter ` des utilisateurs (encore) mal intentionn´s de retirer
                 e      a                                         e
la pile du BIOS et d’outrepasser la protection par mot de passe.




                                      11
Chapitre 2

La collecte d’informations




               12
Introduction
    Dans ce chapitre, nous allons d´crire le fonctionnement des outils permet-
                                   e
tant de r´cup´rer des informations ` distance. Ces utilitaires sont fr´quemment
         e    e                    a                                  e
utilis´s par les pirates pour pr´parer de futures attaques. C’est pour cette
      e                         e
raison qu’il est indispensable de les d´crire d`s le d´but. Vous apprendrez
                                        e        e      e
´galement ` les utiliser pour votre propre protection.
e           a




                                     13
2.1      Le Scanner
    L’objectif du pirate est de rep´rer les serveurs offrant des services parti-
                                    e
culiers et de les identifier. Pour obtenir ces informations, le pirate va utiliser
un scanner.

Le but de ce section est de pr´senter des m´thodes de protections contre le
                                 e             e
scan (en utilisant des r`gles de firewalling sous iptables/ipchains par exemple)
                        e
et de savoir utiliser un scanner pour anticiper les futures attaques.

Le scanner d´crit dans ce chapitre est Nmap1 , un des scanners les plus utilis´s
            e                                                                 e
et un des plus performants.

Je d´crirai dans une premi`re partie ce qu’est un scanner. Ensuite, je me
     e                       e
focaliserai sur Nmap et je le pr´senterai d’un point de vue un peu plus tech-
                                e
nique, permettant de comprendre les diff´rentes m´thodes de protection.
                                          e         e

Attention : pour une capacit´ optimale de fonctionnement, Nmap doit ˆtre
                              e                                     e
utilis´ avec les acc`s root !
      e             e

2.1.1      Qu’est ce qu’un scanner ?
    C’est tr`s simple : lorsqu’un serveur offre un service particulier (Web, mes-
            e
sagerie, mail), il ex´cute un programme assurant ce service. Ce programme
                     e
est en attente de connexions.

Les clients devant acc´der ` ce service doivent connaˆ
                      e     a                        ıtre l’adresse IP du
serveur et le num´ro de port associ´ au service.
                 e                 e

Ce num´ro de port a ´t´ attribu´ par l’OS du serveur au programme ex´cutant
        e           ee         e                                    e
ce service.

La plupart des services ont un num´ro de port bien d´fini. Par exemple,
                                      e                  e
un serveur de messagerie utilise le port 25, un serveur Web le port 80...

Lorsqu’un service est en ´coute sur un port, on dit que le num´ro de port
                           e                                  e
associ´ ` ce service est ouvert.
      ea

L’int´rˆt du scanner est tr`s simple : il permet de trouver dans un d´lai
     ee                    e                                         e
   1
    Nmap est disponible sous W indows c et Linux ` l’adresse http ://www.insecure.org/,
                                                     a
la version d´crite dans ce chapitre ´tant celle disponible sous Linux.
            e                       e

                                          14
tr`s court, tous les ports ouverts sur une machine.
  e

Il existe diff´rents types de scanner, certains se contentent juste de donner
             e
le listing des ports ouverts, de donner le type et la version de l’OS tour-
nant sur le serveur (ces fonctionnalit´s seront d´crites dans ce chapitre avec
                                       e          e
Nmap). D’autres scanners comme Nessus permettent de tester diff´rentes   e
failles connues sur ces services ( Nessus sera d´crit dans la section 4.4).
                                                e

Exemple avec Nmap

Utilisons Nmap pour connaˆ les services en ´coute sur la machine d’adresse
                         ıtre              e
IP 192.168.1.1

[root@nowhere.net /root]# nmap 192.168.1.1

Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ )
Interesting ports on (192.168.1.1) :
(The 1544 ports scanned but not shown below are in state : closed)
Port State Service
21/tcp open ftp
53/tcp open domain
80/tcp open http
110/tcp open pop-3
111/tcp open sunrpc
113/tcp open auth
631/tcp open cups
845/tcp open unknown
901/tcp open samba-swat
10000/tcp open snet-sensor-mgmt

Nmap run completed – 1 IP address (1 host up) scanned in 2 seconds.

Nmap donne un aper¸u assez complet des diff´rents services s’ex´cutant sur
                    c                     e                   e
la machine dans un temps assez bref.

On peut observer ici que des serveurs FTP, DNS, WEB, POP-3 ... sont
en attente de connexions.




                                     15
2.1.2     Comment marche Nmap ?
   Je pr´senterai de mani`re tr`s succinte Nmap et me focaliserai principa-
        e                  e     e
lement sur les fonctions les plus utilis´es.
                                        e

Pour connaˆ les ports ouverts sur une machine, Nmap proc`de ` l’envoi
             ıtre                                               e a
de paquets sur tous les ports de cette machine et analyse les r´ponses. Bien
                                                               e
sˆr, il y a diff´rents types de scans, donc diff´rents types d’envois et donc,
 u              e                             e
diff´rents types de r´ponses.
   e                 e

Nous nous int´resserons aux scans utilisant le protocole TCP (les scans UDP
             e
et ICMP ´tant possibles eux aussi).
        e

Le scan en ”vanilla TCP connect”

Nmap proc`de ` l’appel de la fonction connect() sur tous les ports de la
          e a
machine. Ce type de scan est facilement rep´rable.
                                           e

Le scan en ”vanilla TCP connect” est le scan par d´faut avec Nmap, la
                                                  e
commande est :

[root@nowhere.net /root]# nmap [ip de la machine cible] ou

[root@nowhere.net /root]# nmap -sT [ip de la machine cible]

Les scans furtifs

Nous rentrons maintenant dans une classe de scans plus difficiles ` d´tecter :
                                                                a e

- Le scan en connexion demi-ouverte ou ”Syn-scan” :

Nmap envoie sur chaque port un paquet TCP avec le flag SYN arm´ ; si  e
un port est ouvert, il renverra un paquet avec les flags SYN et ACK arm´s.
                                                                       e




Illustration




                                    16
La commande se fait par l’appel de nmap avec l’option -sS :

[root@nowhere.net /root]# nmap -sS [ip de la machine cible]

- Les scans Xmas, FIN et NULL.

Le scan FIN consiste en l’envoi de paquets TCP avec seulement le flag FIN
arm´ :
    e

La commande se fait par l’appel de nmap avec l’option -sF :

[root@nowhere.net /root]# nmap -sF [ip de la machine cible]

Le scan NULL consiste en l’envoi de paquets TCP avec seulement le flag
NULL arm´ :
         e

La commande se fait par l’appel de nmap avec l’option -sN :

[root@nowhere.net /root]# nmap -sN [ip de la machine cible]

Le Xmas scan (traduisez le scan de No¨l) consiste en l’envoi de paquets
                                     e
TCP avec les flags FIN/URG/PUSH arm´s.e

La commande se fait par l’appel de nmap avec l’option -sX :

[root@nowhere.net /root]# nmap -sX [ip de la machine cible]

                                    17
Pour ces trois types de scans, les syst`mes r´pondent avec un paquet RST si
                                       e     e
le port est ferm´ et ne r´pondent pas si le port est ouvert. Le NULL scan ne
                e        e
fonctionne pas contre des plateformes Microsoft.

Illustration




2.1.3     La d´termination du syst`me d’exploitation avec
              e                   e
          Nmap
   Si on lance Nmap avec l’option -O :

[root@nowhere.net /root]# nmap -O 192.168.1.1

Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ )
Interesting ports on (192.168.1.1) :
(The 1544 ports scanned but not shown below are in state : closed)
Port State Service
21/tcp open ftp
53/tcp open domain
80/tcp open http
110/tcp open pop-3
111/tcp open sunrpc
113/tcp open auth
631/tcp open cups
845/tcp open unknown

                                    18
901/tcp open samba-swat
10000/tcp open snet-sensor-mgmt

Remote operating system guess : Linux 2.2.12 - 2.2.19
Nmap run completed – 1 IP address (1 host up) scanned in 3 seconds

Notez bien l’avant-derni`re ligne :
                        e

Remote operating system guess : Linux 2.2.12 - 2.2.19

Nmap parvient ` d´terminer le syst`me d’exploitation tournant sur la ma-
                a e                  e
chine cible. La machine cible utilisait un noyau 2.2.19. Nmap ne s’est pas
tromp´.
      e

Il faut savoir que chaque syst`me d’exploitation construit ses paquets d’une
                              e
mani`re bien particuli`re. Certains champs au niveau de la couche IP ou
      e                e
TCP sont propres ` chaque OS. Nmap contient une base de donn´es d’un
                    a                                               e
grand nombre d’OS. Nmap envoie donc des paquets tests ` la machine cible
                                                          a
et compare les paquets re¸us en r´ponse ` ceux de sa base de donn´es et en
                          c      e       a                         e
d´duit le type d’OS.
  e

Cette base de donn´es est mise ` jour en fonction des diff´rentes version
                  e            a                         e
de Nmap.

2.1.4     Quel est l’intˆret d’utiliser Nmap ?
                        e
    Nmap permet de pouvoir pr´voir les futures attaques, et aussi de pou-
                                 e
voir connaˆ quels services tournent sur une machine. Une installation faite
            ıtre
un peu trop vite peut laisser des services en ´coute (donc des ports ouverts
                                              e
sans que cela soit n´cessaire) et donc vuln´rables ` une attaque. N’h´sitez
                     e                      e        a                    e
pas ` utiliser Nmap contre vos serveurs pour savoir quels ports sont en ´coute.
    a                                                                   e

Nmap est un logiciel tr`s complet et tr`s ´volutif, et il est une r´f´rence
                       e               e e                         ee
dans le domaine du scanning.




Comment s’en prot´ger ?
                 e
   Configurer votre firewall pour empˆcher les scans
                                   e


                                      19
[root@nowhere /root]# iptables -A FORWARD -p tcp –tcp-flags SYN,ACK,
FIN,RST RST -m limit –limit 1/s -j ACCEPT

Cette commande permet de d´tecter l’envoi un grand nombre de paquets
                                e
TCP avec les flags FIN et/ou SYN et/ou ACK et/ou RST arm´(s). V´rifiez
                                                                 e      e
que votre firewall (si ce n’est pas iptables) supporte la d´tection de scans.
                                                          e

(Pour plus de d´tails sur cette commande, je vous conseille de lire le docu-
               e
ment ”Packet Filtering HOWTO : Using iptables” (Chapitre 7.3) de Rusty
Wagner).

Documents
    Divers articles ´cris par le d´veloppeur de Nmap sur le scanning (en an-
                    e             e
glais) :

http://www.phrack.org/show.php?p=51&a=11

http://www.phrack.org/show.php?p=54&a=9

http://www.phrack.org/show.php?p=57&a=7




                                    20
2.2      Identifier les versions des logiciels en ´coute
                                                 e
   Maintenant que notre pirate connaˆ les diff´rents services en ´coute, son
                                        ıt        e                   e
objectif va ˆtre de d´couvrir les noms et les versions des logiciels utilis´s pour
            e        e                                                     e
assurer ces services.

L’objectif de ce chapitre est de pr´senter une parade pour ´viter de don-
                                    e                      e
ner trop d’informations sur votre syst`me.
                                      e

Le pirate peut d´j` essayer de se connecter sur diff´rents ports grˆce aux
                ea                                  e             a
programmes clients associ´s pour glaner des informations.
                         e

Rien que telnet donne beaucoup d’informations :

[root@nowhere.net /root]# telnet 192.168.1.1

Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is ”CTRL-C”.
Welcome to muetdhiver
Linux Mandrake release 7.2 (Odyssey) for i586
Kernel 2.2.17-21mdk on an i586
login :

Avec la r´ponse :
         e

Linux Mandrake release 7.2 (Odyssey) for i586
Kernel 2.2.17-21mdk on an i586

Trop de renseignements apparaissent.

Mˆme si le port telnet est ferm´, le pirate peut glaner d’autres informa-
  e                            e
tions sur les autres services.

Pour cela, il peut proc´der ` une connexion telnet sur le port associ´ ` un
                       e    a                                        ea
autre service en ´coute :
                 e

Exemple d’un telnet sur le port FTP ( port 21)

[root@nowhere.net /root]# telnet 192.168.1.1 21


                                       21
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is ’CTRL-C’.
220 ProFTPD 1.2.5rc1 Server (ProFTPD Default Installation) [neuromancer]

La ligne qui nous int´resse le plus est celle-ci :
                     e

220 ProFTPD 1.2.5rc1 Server (ProFTPD Default Installation) [neu-
romancer]

La version du logiciel nous est donn´e. Le pirate va alors rechercher
                                     e
des informations sur les faiblesses de s´curit´ de celui-ci.
                                        e     e

Cependant, sur certains services, le client telnet sera inefficace. Le pirate
peut alors utiliser un programme con¸u pour ´crire et lire de donn´es sur
                                         c        e                       e
machine cible et sur le port voulu. Ces programmes permettent d’envoyer
des scripts directement sur le logiciel souhait´ sans se soucier des limites pro-
                                               e
tocolaires.

Le plus r´put´ de ces programmes est sans doute Netcat.
         e e

2.2.1        Netcat
   Netcat permet d’´tablir une connexion (TCP ou UDP) sur un port sou-
                     e
hait´ et d’y envoyer ou d’y recevoir des donn´es.
    e                                        e

Voici un exemple :

[root@nowhere.net /root]# nc 192.168.1.1 21

220 ProFTPD 1.2.5rc1 Server (ProFTPD Default Installation) [neuromancer]

On obtient directement la version du logiciel utilis´. Netcat2 comporte plein
                                                    e
d’autres fonctionnalit´s (comme l’envoi de scripts ...).
                      e

Le pirate n’a plus qu’` trouver une faille applicative (voir chapitre suivant)
                        a
sur le logiciel correspondant.
  2
      Netcat est t´l´chargeable sur : http ://packetstormsecurity.nl/UNIX/netcat/
                  ee




                                            22
Comment s’en prot´ger ?
                 e
   Retirer les banni`res donnant les versions de logiciel et les messages d’aide
                    e
ou de bienvenue d’un service r´seau en ´coute qui peuvent donner des infor-
                              e         e
mations sur votre syst`me.
                       e

Utilisez netcat contre vos serveurs pour rep´rer les services trop ”bavards”.
                                            e




                                      23
Chapitre 3

Les failles applicatives




                24
Introduction
     Nous allons aborder dans ce chapitre les failles li´es aux applications uti-
                                                        e
lis´es.
   e

Nous nous focaliserons principalement sur les failles logicielles : les failles
applicatives.

Ces failles peuvent ˆtre de natures diverses : probl`mes de configuration,
                    e                               e
probl`mes au niveau du code du logiciel, probl`mes li´s ` de mauvaises in-
     e                                         e      e a
terpr´tations de commandes ou de mauvaises ex´cutions de scripts.
     e                                          e




                                       25
3.1      Les installations par d´faut
                                e
   Lors d’une installation, beaucoup de services peuvent ˆtre install´s par
                                                           e           e
d´faut (un serveur Web, FTP ...). Ces services peuvent contenir les diff´rents
 e                                                                     e
types de failles introduites auparavant.

L’important est de bien contrˆler lors de l’installation, les services qui seront
                               o
install´s sur le syst`me. Pour ˆtre bien sˆr de soi, il est aussi recommand´ de
       e             e         e          u                                  e
”scanner” la machine pour voir ce qui y tourne (voir section 2.1).

Mˆme si certains logiciels ne comportent pas de failles connues, ils peuvent
  e
quand mˆme donner des informations aux pirates (voir section 2.2).
       e


3.2      Les mauvaises configurations
   Lorsqu’une application est mal param´tr´e, elle peut laisser l’acc`s libre
                                         e e                         e
a
` certaines bases de donn´es sensibles (fichiers de mots de passe, d’utilisa-
                          e
teurs) ou de permettre d’ex´cuter des commandes ou des scripts malveillants.
                           e

Il est important de bien lire le manuel avant d’activer un service (RTFM !)
et de bien d´finir le ”qui fait quoi”.
            e

Ce principe est simple : il suffit de bien d´finir les utilisateurs et les groupes
                                            e
et de limiter leurs droits sur certains types de fichiers et certaines op´rations
                                                                        e
d’ex´cution de commandes syst`me.
    e                             e

Le plus important est de restreindre au maximun les acc`s ` certains fichiers
                                                       e a
sensibles et aux commandes syst`mes.
                                 e


3.3      Les bogues
   Les bogues sont dus ` des erreurs de programmation. Les bogues font
                       a
apparaˆ diff´rents types de probl`mes de securit´ :
      ıtre   e                   e             e

3.3.1     Des d´nis de services applicatifs
               e
    Ce type de faille empˆche le logiciel de fonctionner et ainsi de r´pondre
                          e                                           e
aux requˆtes demand´es (d’o` l’appellation d´ni de service). La technique
         e             e       u                e
est simple, il suffit d’utiliser un bogue connu qui va faire planter le logiciel
assurant un service.

                                       26
3.3.2     Outrepassement de droits
   Les bogues de type d´passement de buffer ou d’exploitation de bogues de
                         e
format posent de gros probl`mes de s´curit´. Ils visent majoritairement des
                             e        e     e
applications setsuid (fonctionnant avec les acc`s root) pour permettre ` un
                                               e                       a
attaquant d’obtenir un interpr´teur de commande sous l’uid root.
                               e

3.3.3     Les scripts
    Malheureusement, une mauvaise programmation de scripts ou l’utilisation
de fonctions bogu´es peut ˆtre source de failles de s´curit´. Il convient d’ˆtre
                   e       e                         e     e                e
tr`s attentif au niveau du d´veloppement d’un script.
  e                          e


3.4      Les exploits
    Pour exploiter ces bogues, le pirate fait appel ` des ”exploits”. Ces ”ex-
                                                    a
ploits” sont en fait de petits programmes permettant d’exploiter une faille
dans un but pr´cis (obtenir un interpr´teur de commandes, acc´der ` certains
               e                      e                        e     a
fichiers, augmenter ses droits...).

Les exploits peuvent aussi fonctionner ` distance, pour l’obtention d’un shell
                                       a
(parfois avec les droits administrateur) sans mot de passe, ni nom d’utilisa-
teur.


Comment s’en proteger ?
   1 - Recensez les applications vuln´rables.
                                     e

Il est toujours bon de connaˆ les failles de vos logiciels avant les pirates.
                             ıtre
Des sites comme celui du CERT (Computer Emergency Response Team) pu-
blie un rapport sur toute nouvelle faille de s´curit´. Le CERT permet aussi
                                              e     e
d’obtenir de l’aide en cas de piratage.

Le site du CERT : www.cert.org (Anglais)

Les archives bugtraq font partie des meilleures sources sur les nouvelles
vuln´rabilit´s. Ces archives donnent des descriptions tr`s pr´cises sur des
    e       e                                           e    e
nouvelles failles de s´curit´.
                      e     e

Le site BUGTRAQ :

                                      27
http://citadelle.intrinsec.com/mailing/current/HTML/ml_bugtraq/ (en
anglais)

http://www.bugtraq-france.com (en fran¸ais)
                                      c

Certains sites comme www.packetstormsecurity.org ou www.securityfocus.
com contiennent aussi de nombreuses informations. Le site securityfocus donne
un classement1 des failles en fonction du type d’architecture ; il est facile de
trouver rapidement le logiciel concern´.
                                       e

2 - Limitez les programmes s’ex´cutant avec les droits administrateur.
                               e

Il est toujours bon de r´p´rer les programmes s’ex´cutant avec les droits
                        e e                          e
administrateur. Ainsi, vous pouvez changer leurs droits pour qu’ils ne de-
viennent pas un point critique pour la vuln´rabilit´ du syst`me.
                                           e       e        e

Sous linux, la simple commande :

[root@nowhere.net /root]# find / -perm +6000

vous permettra de lister tous les programmes s’ex´cutant avec les droits ad-
                                                 e
ministrateur.

3 - Les autres solutions.

Les NDIS (d´crit dans le chapitre suivant) peuvent vous permettre de rep´rer
             e                                                              e
les attaques exploitant des failles connues sur certains types de logiciel.

On peut aussi ”patcher” son noyau pour ´viter l’ex´cution d’exploits utilisant
                                       e          e
des bogues de d´passement de buffer. Le patch OpenWall2 vous permet de
                e
prot´ger votre noyau Linux.
    e




  1
      http ://www.securityfocus.com/search dans la rubrique ”Vulnerabilites”
  2
      librement t´l´chargeable sur www.openwall.com
                 ee


                                           28
Chapitre 4

Les outils indispensables pour
la protection




               29
Introduction
   Les firewalls, les tunnels et les IDS/NDIS sont des outils indispensables
pour d´tecter, parer ou ´viter de nombreuses attaques. Nous les d´crirons
       e                  e                                           e
dans ce chapitre, ainsi que la mani`re de les utiliser de fa¸on optimale.
                                    e                       c




                                    30
4.1      Le firewall
    La configuration d’un firewall peut s’av´rer ˆtre un sujet tr`s difficile `
                                             e    e                e          a
traiter. Cette configuration est surtout ´tablie en fonction de vos besoins per-
                                        e
sonnels.

L’objectif de ce chapitre est de donner des conseils ` suivre pour bien utiliser
                                                     a
un firewall. Ensuite, nous nous int´resserons aux diff´rentes m´thodes d’at-
                                    e                   e        e
taques contre les firewalls.




4.1.1     La configuration
    Pour bien configurer son firewall, il suffit de bien respecter les conseils
suivants :

- Essayez de limiter l’acc`s ` votre r´seau ` des utilisateurs connus utilisant
                          e a         e     a
une adresse IP statique. Vous pourrez ainsi rejeter toutes les autres requˆtes
                                                                           e
venant d’utilisateurs utilisant une adresse IP non autoris´e. Vous effectuez
                                                            e
de la sorte un filtrage au niveau IP.

- Fermez tous les ports en ´coute sur les diff´rents serveurs et ouvrez seule-
                           e                 e
ment ceux dont vous avez besoin.

- Filtrez ces ports, c’est ` dire rejetez toutes les autres requˆtes sur les autres
                           a                                    e
ports que ceux en ´coute.
                     e

- Empˆchez toutes les connexions sortantes sur des services non autoris´s.
       e                                                                      e
Pour cela, il suffit de d´finir un nombre limit´ de services auxquels les ser-
                         e                      e
veurs et les clients peuvent acc´der (mail, ftp, web...). Ensuite, il faut confi-
                                 e
gurer le firewall pour rejeter les connexions depuis l’int´rieur vers l’ext´rieur
                                                          e                e
sur des services diff´rant de ceux d´finis.
                     e               e




4.1.2     Les attaques contre les firewalls
   La premi`re ´tape lors d’une attaque est de d´terminer les r`gles de fire-
             e e                                   e              e
walling. Le but est simple : savoir quels ports ne sont pas filtr´s.
                                                                e



                                        31
Avec le scan
   Nmap peut d´terminer quels ports sont ou ne sont pas filtr´s.
              e                                             e

Voici un exemple :

[root@nowhere.net /root]# nmap 192.168.1.2

Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ )
Interesting ports on (192.168.1.2) :
(The 1549 ports scanned but not shown below are in state : closed)
Port State Service
21/tcp filtered ftp
22/tcp filtered ssh
111/tcp open sunrpc
515/tcp open printer
1024/tcp open kdm

Nmap run completed – 1 IP address (1 host up) scanned in 1 second

Les ports 21 (ftp) et 22 (ssh) sont filtr´s.
                                        e

Comment s’en prot´ger ?
                 e
   Prot´gez-vous contre le scanning (voir section 2.1).
       e

Si le scan ne marche pas, d’autres m´thodes peuvent ˆtre utilis´s comme
                                    e               e          e
le firewalking.

Le firewalking
    Cette technique de d´voilement des r`gles de firewalling repose sur un
                         e                 e
unique champ de l’en-tˆte IP, le TTL (pour Time To Live), ce champ repr´sentant
                       e                                                 e
la dur´e de vie d’un paquet. Il est fix´ d`s son envoi par le syst`me d’exploi-
      e                               e e                        e
tation et est diminu´ d’une unit´ ` chaque fois qu’il traverse un ´quipement
                     e           ea                                e
assurant le routage ; quand ce champ est ´gal ` 0, le paquet disparaˆ
                                           e   a                     ıt.

Chaque passage d’un routeur ` un autre est appel´ un saut.
                            a                   e

C’est ce champ qui est utilis´ par le logiciel traceroute. Pour faire un ”tra-
                              e
ceroute”, le logiciel envoie un premier paquet UDP avec un TTL de 1 ; au
premier routeur, le TTL est d´cr´ment´ ` 0. Le routeur renvoie donc un
                                 e e     e a

                                      32
code d’erreur ”ICMP ttl-exceeded”, ce qui permet de r´cup´rer l’adresse du
                                                      e   e
premier routeur. Ensuite traceroute va envoyer un deuxi`me paquet avec un
                                                        e
TTL de 2, il sera d´cr´ment´ au passage du premier routeur (TTL=1). Le
                     e e      e
deuxi`me routeur va le recevoir et le d´cr´menter : le champ TTL sera de
      e                                e e
nouveau ´gal ` 0. Le deuxi`me routeur renverra donc un message d’erreur :
         e    a             e
on r´cup`re ainsi l’adresse du deuxi`me routeur.
    e   e                           e

Si il y a N sauts jusqu’au r´seau final, on r´it`re l’op´ration N fois.
                            e               e e        e

On peut utiliser cette technique avec diff´rents protocoles : UDP, TCP, ICMP.
                                         e

Le firewalking repose sur cette technique pour d´terminer les r`gles de fi-
                                                    e              e
                    1
rewalling. Firewalk (le programme impl´mentant le firewalking) d´termine
                                           e                         e
le nombre de routeurs entre la machine source et la machine cible (situ´e   e
derri`re le firewall). Ensuite, il envoie des paquets tests avec un TTL ´gal `
     e                                                                  e    a
ce nombre de routeurs + 1. Si le paquet est accept´, il traverse le firewall et
                                                     e
on obtient une r´ponse ; sinon il n’y a aucune r´ponse.
                 e                               e

Firewalk envoie diff´rents types de paquets (TCP, UDP) pour d´terminer les
                    e                                            e
r`gles de firewalling. N´anmoins, de nombreux param`tres comme la conges-
 e                     e                              e
tion du r´seau, le nombre de routeurs s´parant la cible et l’´metteur peuvent
          e                            e                     e
fausser l’analyse de firewalk.




  1
      Disponible librement sur http ://www.packetfactory.net/


                                           33
4.2        Les NIDS
      Les outils les plus pratiques !

Ces utilitaires permettent de d´tecter une attaque et de vous en informer. Un
                                e
IDS (pour Intrusion Detection System) analyse tout ce qui se passe sur une
station. Il d´tecte les outrepassements de droits (obtention du compte root
             e
d’une mani`re suspecte) et d’autres types d’attaques, il contient une base de
            e
donn´es sur diff´rentes vuln´rabilt´s.
     e           e           e     e

Les NIDS (Network Intrusion Detection System) travaillent de la mˆme    e
mani`re, mais sur les donn´es transitant sur le r´seau. Il peut d´tecter en
      e                     e                    e               e
temps r´el une attaque s’effectuant sur l’ une des vos machines. Il contient
        e
une base de donn´es avec tous les codes malicieux et peut d´tecter leurs en-
                   e                                        e
vois sur une des machines. Le NIDS travaille comme un sniffer (voir section
5.4), sauf qu’il analyse automatiquement les flux de donn´es pour d´tecter
                                                          e          e
une attaque.

Cette section pr´sentera deux NIDS : Snort et Prelude-NIDS. A noter que
                  e
ces outils sont distribu´s comme logiciel libre. Je ne rappellerai pas que le
                        e
logiciel libre a une avance consid´rable dans le domaine de la s´curit´ par
                                  e                               e     e
rapport ` ses concurrents ”propri´taires”.
          a                       e

4.2.1        Prelude
    Prelude-NIDS2 est un des d´tecteurs d’intrusions les plus connus. Prelude
                                 e
est disponible et libre sur les plateformes Linux, FreeBSD et Windows.

Prelude poss`de une achitecture modulaire et distribu´e. Modulaire, car ses
              e                                        e
composants sont ind´pendants, et peuvent ˆtre facilement mis ` jour. Dis-
                      e                      e                    a
tribu´e, car ces composants ind´pendants interagissent les uns avec les autres.
      e                         e
Cela permet d’avoir divers composants install´s sur diff´rentes machines et
                                               e         e
de r´duire ainsi la surchage d’applications.
    e

Ces diff´rents composants sont les sondes et les managers. Les sondes peuvent
        e
ˆtre de deux types : r´seau ou local. Une sonde r´seau analyse tout le traffic,
e                     e                           e
pour y d´tecter d’´ventuelles signatures d’attaques. La sonde locale assure
          e        e
la surveillance d’une seule machine, il analyse le comportement du syst`mee
pour y d´tecter des tentatives d’exploitation de vuln´rabilit´s internes. Les
          e                                           e      e
  2
      t´l´chargeable librement sur www.prelude-ids.org/
       ee



                                            34
sondes signalent les tentatives d’attaques par des alertes. Ces alertes sont
re¸u par le manager qui les interpr`te et les stocke.
  c                                e

Pour une description compl`te de Prelude (installation, configuration et uti-
                            e
lisation) consultez ce document :

http://lehmann.free.fr/PreludeInstall/InstallPrelude.html

4.2.2       Snort
    Snort3 est un NIDS lui aussi. Il n’est pas structur´ comme Prelude. Snort
                                                       e
est un programme ”monolithique”, il ne comporte pas de module comme Pre-
lude, ce qui peut rendre son impl´mentation dans un r´seau un peu moins
                                    e                      e
souple que Prelude. Snort fonctionne en trois modes (Sniffer, PacketLogger
et NIDS). Les deux premiers modes ne sont pas int´ressants pour la d´tection
                                                     e               e
d’intrusion. Le troisi`me mode permet lui d’analyser le trafic r´seau pour y
                      e                                         e
d´tecter d’ ´ventuelles attaques.
  e         e

Pour une description compl`te de Snort (installation, configuration et uti-
                               e
lisation ) consultez ce site :

http://www.snort.org/docs/ (en anglais).




  3
      t´l´chargeable librement sur www.snort.org
       ee


                                           35
4.3     Le tunneling
    Nous allons d´crire dans cette section diff´rentes m´thodes pour s´curiser
                  e                            e          e           e
vos transactions, c’est-`-dire cr´er un VPN (Virtual Private Network). Un
                        a        e
r´seau priv´ virtuel (VPN) est utilis´ pour ´tablir des communications s´curis´es
 e         e                         e      e                           e     e
en s’appuyant sur un r´seau existant non s´curis´. Le principal outil utilis´
                        e                     e     e                        e
pour la cr´ation de VPN est IPsec.
          e

IPsec est facultatif sur IPv4 mais est obligatoire sur IPv6. IPsec a d’autres
avantages que la s´curisation du trafic, il permet par exemple d’´conomiser
                   e                                              e
la bande passante grˆce ` la compression des en-tˆtes des paquets.
                      a a                          e

IPsec fonctionne sous deux modes diff´rents : le mode transport et le mode
                                     e
tunnel. Ces deux modes seront d´cris dans ce qui suit.
                               e

IPsec est compos´ de plusieurs protocoles diff´rents : AH, ESP, IPcomp et
                e                            e
IKE.

4.3.1    Le protocole AH
    Le protocole AH (Authentification Header) permet de garantir l’authen-
ticit´ des paquets ´chang´s en leur inscrivant une somme de contrˆle (de
     e              e      e                                       o
l’en-tˆte IP jusqu’` la fin du paquet) chiffr´e.
       e           a                       e

4.3.2    Le protocole ESP
   Le protocole ESP (Encapsulating Security Payload) encrypte toutes les
donn´es du paquet garantissant leur confidentialit´.
    e                                            e

4.3.3    Le protocole IPcomp
   Le protocole IPcomp (IP payload compression) permet de compresser un
paquet avant de le chiffrer avec ESP.

4.3.4    Le protocole IKE
    Le protocole IKE (Internet Key Exchange) est utilis´ pour l’´change des
                                                       e        e
cl´s utilis´s pour l’encryptage.
  e        e




                                      36
4.3.5    Les deux modes de fonctionnements de IPsec
   AH, ESP et IPcomp fonctionnent dans le mode transport ou le mode
tunnel. Le mode ”transport” encrypte directement les ´changes entre deux
                                                        e
machines. Le mode ”tunnel” encapsule les paquets encrypt´s dans de nou-
                                                            e
veaux en-tˆte IPv4/IPv6. Il est con¸u pour les passerelles VPN.
          e                        c

4.3.6    Les limitations d’IPsec
    IPsec pose quelques probl`mes dus ` son impl´mentation. Certains probl`mes
                              e         a          e                         e
apparaˆ ıssent au niveau des messages de broadcast et multicast. IPsec est dif-
ficile ` filtrer sur les firewalls existants. Il est aussi impossible ` g´rer pour
      a                                                            a e
les translations d’adresse (NAT).

Documents
   Description g´n´rale des tunnels et impl´mentation sous Linux :
                e e                        e

http://www.miscmag.com/articles/index.php3?page=315
http://www.securiteinfo.com/crypto/IPSec.shtml

Description g´n´rale des tunnels et impl´mentation sous W indows c :
             e e                        e

http://www.laboratoire-microsoft.org/articles/network/ipsec/




                                    37
4.4     Nessus
   Nessus est un outil de s´curit´ permettant de scanner une ou plusieurs
                            e     e
machines. Il permet aussi de tester diff´rentes attaques pour savoir si une ou
                                       e
plusieurs machines sont vuln´rables.
                             e

Il est tr`s utile lors de tests de p´n´tration (pen test) et fait gagner un
         e                          e e
temps incroyable.

Nessus se compose d’une partie serveur (qui contient une base de donn´es re-
                                                                          e
groupant diff´rents types de vuln´rabilit´s) et une partie client. L’utilisateur
              e                   e       e
se connecte sur le serveur grˆce au client et apr`s authentification, il ordonne
                             a                   e
au serveur de proc´der aux tests d’une ou plusieurs machines. Le client re¸oit
                   e                                                        c
ensuite les r´sultats du test.
             e

Nessus est disponible sous Linux et Windows, et il est enti`rement gratuit.
                                                           e

4.4.1     Pour obtenir tout sur Nessus
   Pour t´l´charger les sources, binaires, ou diff´rents documents concernant
          ee                                     e
Nessus, consultez le site :

http ://www.nessus.org




                                      38
4.5     User Mode Linux - UML
    User Mode Linux est un dispositif permettant de lan¸er un ou plusieurs
                                                          c
noyau(x) linux dans l’espace utilisateur (comme un simple programme). En
clair, il permet d’avoir plusieurs machines virtuelles sur une seule machine
physique hˆte ex´cutant Linux. Les avantages sont nombreux :
            o     e


    - Si une machine virtuelle plante, le syst`me hˆte n’est pas affect´.
                                              e    o                  e
- Un utilisateur sera root sur une machine virtuelle, mais pas sur le syst`me
                                                                          e
hˆte.
  o
- Il permet aussi de tester diff´rents param`tres noyaux sans se soucier des
                                e             e
cons´quences.
     e


User Mode Linux permet notamment de s’affranchir de chroot (pour, par
exemple, la r´alisation de serveurs FTP) et de toutes ses failles de s´curit´.
             e                                                        e     e




Documents
   La page web de User Mode Linux :

http://user-mode-linux.sourceforge.net

Un autre lien int´ressant pour User Mode Linux et la s´curit´ :
                 e                                    e     e

http://www.rstack.org/oudot/20022003/7/7_rapport.pdf




                                     39
Chapitre 5

Surveillance - Dissimulation -
Maintien d’acc`s
               e




               40
Introduction
    Nous pr´senterons de ce chapitre les programmes utilis´s par les pirates
           e                                                 e
pour dissimuler, surveiller et maintenir leur acc`s sur un syst`me d’informa-
                                                 e             e
tion. Nous pr´senterons les moyens de s’en prot´ger.
             e                                   e




                                     41
5.1      Les chevaux de Troie
    Le principe du cheval de Troie est facile ` comprendre. Un programme ou
                                              a
un code malveillant est int´gr´ ` une application par ajout ou par modifica-
                            e ea
tion de son code. Ainsi lors de l’ex´cution de ce programme inoffensif, le bout
                                    e
de code malveillant pourra ex´cuter des commandes sp´cifiques (r´cup´ration
                               e                         e         e     e
de fichiers de mot de passe, alt´ration du syst`me...) ` l’insu de l’utilisateur.
                                 e              e       a

Comment s’en prot´ger ?
                 e
   La plupart des antivirus peuvent d´tecter les chevaux de Troie. N´anmoins,
                                     e                               e
comparer la signature num´rique accompagnant les fichiers (cela se fait par
                           e
un calcul reposant sur un algorithme de chiffrement appliqu´ ` l’ensemble du
                                                            ea
fichier) avec la sienne permet de savoir directement si l’on est infect´.
                                                                       e

Il est aussi conseill´ de consulter les sites suivants pour v´rifier que vos pro-
                     e                                       e
grammes ne contiennent pas de chevaux de Troie :

CERT : http://www.cert.org (Le CERT (Computer Emergency Response
Team) est un organisme s’occupant des probl`mes de s´curit´ sur Internet. Il
                                              e        e     e
recense les diff´rents probl`mes de s´curit´ et publie des articles (advisories)
               e           e        e     e
pour les d´crire.
           e

Bugtraq : http://citadelle.intrinsec.com/mailing/current/HTML/ml_
bugtraq/




                                      42
5.2      Les backdoors
    Les backdoors sont des acc`s cach´s sur un syst`me ou sur une appli-
                               e       e             e
cation. Le principe d’une backdoor est similaire ` celui du cheval de Troie.
                                                 a
L’objectif est de modifier ou d’utiliser un programme pour acc`der discre-
                                                                e
tement ` un ordinateur distant, modifier le comportement d’un programme,
        a
devenir administrateur.

5.2.1     Les backdoors pr´sentes dans les logiciels.
                          e
    Parfois, certains logiciels (messagerie, utilitaires syst`mes) peuvent conte-
                                                             e
nir des backdoors, c’est-`-dire que, pour certaines commandes suivies d’ar-
                           a
guments particuliers ou avec un mot de passe bien d´fini, le logiciel peut
                                                             e
avoir un comportement diff´rent (permettre ` l’utilisateur de devenir root,
                               e                  a
renvoyer un shell syst`me ` l’utilisateur...).
                        e    a

Ces ”trappes” sont inclues directement dans le code du logiciel. Certains
d´veloppeurs sont soucieux de poss´der un acc`s sur tous les syst`mes uti-
  e                                   e            e                  e
lisant leurs logiciels. Par exemple, Ken Thompson, l’un des p`res d’UNIX,
                                                                 e
avoue avoir modifi´ l’application /bin/login en permettant l’acc`s direct au
                     e                                             e
syst`me par la saisie d’un mot de passe pr´compil´ en dur. Thompson pou-
    e                                         e      e
vait ainsi visiter tous les syst`mes utilisant son application modifi´e.
                                e                                    e
Parfois, certains pirates diffusent des applications infest´es de backdoors.
                                                           e


Comment s’en prot´ger ?
                 e
    Il convient de t´l´charger ses applications sur le site du distributeur ou
                    ee
du programmeur. Utiliser des serveurs de t´l´chargement non li´s ` l’auteur
                                             ee                   e a
de l’application peut se r´l´ver dangereux.
                          ee

Il est aussi recommand´ de v´rifier les checksums s’il sont donn´s par le
                      e     e                                  e
d´veloppeur.
  e

Il est aussi bon de consulter des listes de diffusion comme bugtraq pour savoir
si la version de logiciel que vous utilisez ne comporte pas de backdoors.

5.2.2     Les backdoors d´di´es aux connexions ` distance
                         e e                   a
  Ces backdoors peuvent tr`s bien faire partie de la premi`re cat´gorie.
                             e                                e      e
Comme il l’a ´t´ montr´, certains logiciels peuvent autoriser un acc`s pour
             ee       e                                             e


                                       43
un mot de passe particulier. Toutefois, ce paragraphe va se focaliser sur des
applications en ´coute sur un port bien d´fini utilis´es par les pirates pour
                 e                          e          e
obtenir un shell. Un logiciel pr´alablement install´ par le pirate est en attente
                                e                  e
de connexion sur un port discret. La plupart de ces programmes sont en
´coute sur des num´ros de ports ayant une valeur assez ´lev´e (sup´rieur `
e                   e                                        e e         e      a
5000). Le pirate n’a plus qu’` se connecter sur ce programme pour r´cup´rer
                              a                                         e    e
son acc`s sur la machine.
       e

Comment s’en proteger ?
   Nmap peut se r´l`ver ˆtre une aide pr´cieuse pour les d´busquer. Si, en
                     ee    e                  e           e
proc´dant au scan d’une machine, vous constatez qu’un port non autoris´ est
     e                                                                e
en ´coute, il serait bon de v´rifier celui-ci.
   e                         e

Les sites ` consulter :
          a

CERT : http://www.cert.org (en anglais)

Bugtraq :

http://citadelle.intrinsec.com/mailing/current/HTML/ml_bugtraq/ (en
anglais)

http://www.bugtraq-france.com




                                       44
5.3     Les Rootkits
    Le rootkit est un programme permettant d’automatiser la dissimulation
et l’effacement des traces d’un pirate sur une machine. L’objectif d’un root-
kit est de modifier les commandes permettant d’administrer le syst`me, de
                                                                    e
cacher les ports ouverts par le pirate...

Les premiers rootkits ´taient assez basiques, ils modifiaient juste les com-
                       e
mandes ls, ps, netstat...

L’administrateur pouvait d´tecter ces modifications sur les logiciels concern´s.
                          e                                                 e
Alors une seconde g´n´ration de rootkits apparut. Il faut savoir que des com-
                   e e
mandes comme ps, ls ... font appels ` des bibliotheques partag´es pour fonc-
                                    a                           e
tionner. Les nouveaux rootkits modifiaient donc le code de ces biblioth`ques
                                                                         e
pour modifier le comportement de ces commandes ` l’avantage du pirate.
                                                   a

Encore une fois, ceci ´tait d´tectable. Donc une troisi`me g´neration de root-
                      e      e                         e    e
kits est n´e afin de modifier directement le comportement du noyau, par le
          e
biais de modules charg´s en m´moire (LKM). C’est ` l’heure actuelle la der-
                        e       e                     a
niere g´n´ration.
       e e

Diff´rents rootkits sont disponibles sur Linux.
   e

Je ne donnerai (volontairement) pas dans cette partie une description compl`te
                                                                           e
de l’utilisation des rootkits. Cela n’a aucun interˆt pour ce guide.
                                                   e

La plupart des rootkits utilisent le principe des backdoors (voir section 5.2)
pour permettre au pirate de se connecter selon son envie sur un syst`me.
                                                                      e

Comment s’en prot´ger ?
                 e
   1) Les checksums.

Une base de donn´es de checksums sur les diff´rents fichiers syst`me peut
                     e                            e               e
d´j` constituer une bonne parade. Je vous conseille d’effectuer des check-
  ea
sums a la fin d’une installation sur les diff´rents fichiers comme ls, ps, stat
      `                                      e
ifconfig ... et sur les diff´rentes biblioth`ques partag´es.
                          e               e           e

Cette base de donn´e devrait ˆtre stock´e sur un CDROM ou tout autre
                    e        e         e
support non r´inscriptible.
             e



                                      45
2) Compiler les programmes vitaux en statique

Comme je l’ai dit pr´c´demment, certaines commandes font appels ` des
                        e e                                            a
librairies partag´es et des utilitaires comme ”md5sum” (qui sert ` faire des
                 e                                                 a
checksums) sous Linux font appels ` des librairies partag´es. D’o` son com-
                                      a                   e       u
portement pourrait ˆtre modifi´ indirectement par un rootkit attaquant les
                      e           e
librairies partag´es. Pour ´viter ce genre de d´sagr´ement, compilez une par-
                 e          e                  e    e
tie des programmes vitaux en statique, ainsi vous disposerez d’une trousse
de secours en cas d’infection par rootkits.

Bien sˆr, pour compiler les programmes vitaux en statique, faut-il encore
        u
disposer d’un OS qui permette d’acc´der aux sources de ces programmes vi-
                                   e
taux...

3) Chkrootkit

Chkrootkit (pour CHecK ROOTKIT) vous permet de d´tecter la pr´sence
                                                            e            e
d’un rootkit, il fonctionne sous Linux (FreeBsd...) et est t´l´chargeable libre-
                                                            ee
ment sur www.chkrootkit.org/.

4) Compilez votre noyau en statique. Vous ´viterez ainsi le chargement de
                                          e
modules externes.




                                      46
5.4      L’interception des mots de passe en r´seau.
                                              e
   Une autre technique utilis´e pour collecter des informations (mots de
                                 e
passe par exemple) est l’utilisation d’un sniffer. Le sniffer place la carte r´seau
                                                                            e
dans le mode transparent (promiscious), ce qui veut dire que la carte inter-
cepte tous les paquets sur le segment r´seau, mˆme ceux qui ne lui sont pas
                                         e         e
destin´s.
      e

Plusieurs types de sniffers existent ; certains affichent les donn´es intercept´es
                                                                e            e
                         1
brutes comme Tcpdump , ce qui donne lieu ` des fichiers de log tr`s volu-
                                                a                       e
mineux. D’autres sniffers permettent de r´cup´rer les mots de passe en les
                                             e    e
affichant directement ` l’´cran associ´ avec le login, l’adresse du client et celle
                      a e              e
du serveur (comme dsniff2 ).

Ethereal3 permet par exemple d’afficher toutes les transactions ayant cours
sur le r´seau.
        e

Cependant, le sniffer reste un outil puissant pour la d´tection d’intrusion
                                                         e
car, premi`rement, il garde une trace de tous les ´changes ayant cours sur le
           e                                        e
r´seau. Deuxi`ment, il se r´v`le tr`s utile pour d´masquer un scan (un grand
 e            e            e e     e              e
nombre de paquets envoy´s d’un seul coup), de tracer l’adresse d’un pirate,
                          e
de voir si des commandes particuli`res sont demand´es sur le reseau.
                                     e                e

La plupart des rootkits contiennent un programme pour sniffer.

Les NDIS utilisent un sniffer pour analyser les transactions r´seau.
                                                             e

Comment s’en prot´ger ?
                 e
    L`, c’est tr`s difficile. Un sniffer est passif, il n’envoie aucun paquet, il
     a          e
ne fait qu’intercepter. Mais la carte r´seau ´tant en mode transparent, son
                                       e     e
comportement s’en trouve chang´, son temps et sa fa¸on de r´pondre ` cer-
                                 e                       c      e      a
tains paquets sont modifi´s. On peut d´tecter la pr´sence d’un sniffer grˆce `
                          e            e             e                  a a
                                                             4
ce changement de comportement. Le programme AntiSniff de Lopht Heavy
Industries peut envoyer des paquets ”tests” et en d´duire si la carte est en
                                                       e
mode transparent donc susceptible de sniffer.
  1
      disponible sur www.tcpdump.org
  2
      disponible sur www.packetstormsecurity.org
    3
      disponible sur www.packetstormsecurity.org
    4
      disponible sur windowsN T c et Linux ` l’adresse http ://packetstormsecu-
                                                 a
rity.nl/sniffers/antisniff/


                                       47
Une deuxi`me parade pour d´jouer le sniffing est de ”tunneler” toutes les
           e                  e
transactions. Cela veut dire encrypter toutes les transactions r´seaux. Utili-
                                                                e
ser IpvSec ou des VPN, ssh sur votre r´seau s’av`re ˆtre une d´fense efficace
                                       e         e e           e
contre le sniffing.

L’utilisation de tunnels est trait´e dans la section 4.3.
                                  e




                                      48
Chapitre 6

Dispositifs destructeurs




               49
Introduction
   Les dispositifs destructeurs sont utilis´s pour paralyser, saturer ou d´truire
                                           e                               e
un syst`me d’information. Ils constituent l’esp`ce la plus nuisible dans le do-
       e                                         e
maine de la s´curit´ car ils peuvent ˆtre la source de perte de donn´es. Le
             e      e                  e                                  e
but de ce chapitre est d’expliquer leurs fonctionnements et la fa¸on de les
                                                                      c
combattre.




                                       50
6.1      Le virus
    Le virus est un programme dont le seul but est de consommer ou de pa-
ralyser des ressources syst`me. Le virus s’autoduplique pour mieux infecter
                           e
le syst`me, il se propage en infectant tour ` tour les fichiers. Les effets d’une
       e                                    a
contamination varient : fichiers effac´s, disque dur format´, saturation des
                                       e                      e
disques, modification du MBR...

La grande majorit´ d’entre eux existent sur les plates-formes M icrosof t c ,
                   e
ils infectent en particulier les fichiers COM ou EXE. De plus, de nouvelles
formes sont apparues comme les macro-virus qui attaquent les fichiers de
donn´es (word ou excel).
      e

Les syst`mes UNIX ne sont pas ´pargn´s ! Les administrateurs UNIX doivent
         e                     e      e
faire face ` des virus comme Winux. N´anmoins, la gestion des droits sous
           a                            e
UNIX se r´v`le ˆtre un facteur limitant pour la propagation de virus.
           e e e

Les virus sont de plus en plus ´volu´s, ils peuvent s’automodifier pour ´chapper
                               e    e                                  e
a
` une ´ventuelle d´tection (virus polymorphes). D’autres types peuvent ten-
        e           e
ter de leurrer le syst`me en s’installant dans des secteurs d´fecteux ou non
                        e                                      e
utilis´s (virus furtifs) ...
      e

Comment s’en prot´ger ?
                 e
   Les anti-virus commerciaux comme Norton Antivirus ou McAfee VirusS-
can sont de bons outils pour traquer les virus. Toutefois, il convient de les
mettre r´guli`rement ` jour pour profiter pleinement de leurs capacit´s.
        e    e       a                                                e

Il est aussi important de suivre l’´volution et l’apparition de nouveaux vi-
                                     e
rus ; pour cela, consulter les sites (ainsi que pour tous les autres dispositifs
destructeurs d´crits dans ce chapitre) :
               e

CERT : www.cert.org (en anglais)

Le site du CNRS :

http://www.services.cnrs.fr/wws/info/sos-virus

http://www.cnrs.fr/Infosecu/Virus.html




                                      51
6.2      Les vers
    Les vers sont du mˆme acabit que les virus, sauf qu’ils n’utilisent pas
                        e
n´cessairement un fichier pour se propager. Ils sont aussi capables de se
 e
dupliquer et de se d´placer au travers d’un r´seau informatique. Les vers
                      e                        e
utilisent diff´rents supports pour se propager.
             e

Les vers simples utiliseront des failles propres ` certains logiciels (exemple
                                                 a
du ver de Morris en 1988 qui paralysa une grande partie de l’Internet).

Les macro-vers utiliseront les pi`ces jointes contenant des documents bu-
                                 e
reautiques infect´s (exemple du ver Nimda).
                 e

Les vers d’email sont contenus dans une pi`ce jointe comprenant un code
                                          e
malicieux ex´cut´ automatiquement par le logiciel de courrier ´lectronique
            e e                                               e
ou manuellement par l’utilisateur.

Comment s’en prot´ger ?
                 e
   Comme pour les virus, l’antivirus se r´v`le ˆtre une parade efficace.
                                         e e e

Consultez les listes cit´es dans la section 6.1.
                        e




                                       52
6.3      Les bombes logiques
    Les bombes logiques sont aussi n´fastes que les virus ou les vers et sont
                                        e
la cause de d´gats similaires. La diff´rence est que la bombe logique a besoin
             e                        e
d’un d´tonateur pour s’activer, c’est-`-dire qu’elle attend une date ou une
       e                                  a
action bien pr´cise de l’utilisateur pour exploser.
               e

Comment s’en prot´ger ?
                 e
    Utilisez un anti-virus performant (Mc Afee, Norton ...) r´guli`rement mis
                                                             e    e
a
` jour.

Consultez les sites d´crits dans la section 6.1.
                     e




                                      53
6.4     Les attaques par d´ni de services
                          e
   Ce type d’attaques est la plus ´nervante qui soit. Elles ont pour but de
                                  e
saturer le r´seau ou le syst`me.
            e               e

6.4.1     Le SYN flood
   Cette technique consiste ` saturer un serveur en envoyant une multi-
                            a
tude de paquets TCP avec le flag SYN arm´, cela aura pour but de cr´er une
                                        e                         e
multitude de connexions demandant un grand nombre de ressources syst`me.
                                                                     e

La plupart des attaques par SYN-flood sont bien d´tect´es par diff´rents
                                                e    e          e
firewalls.

Comment s’en prot´ger ?
                 e
   Exemple avec iptables

[root@nowhere /root]# iptables -A FORWARD -p tcp –syn -
m limit –limit 1/s -j ACCEPT

(Pour plus de details sur cette commande, je vous conseille de lire, le docu-
ment ”Packet Filtering HOWTO : Using iptables” (Chapitre 7.3) de Rusty
Wagner)

6.4.2     L’UDP Flood
    De la mˆme mani`re que pour le SYN flooding, l’attaquant envoie un
             e         e
grand nombre de requˆtes UDP sur une machine. Le trafic UDP ´tant prio-
                       e                                         e
ritaire sur le trafic TCP, ce type d’attaque peut vite troubler et saturer le
trafic transitant sur le r´seau.
                         e

La plus c´l`bre attaque utilisant l’UDP-flooding est le ”Chargen Denial of
          ee
Service Attack”. Un pirate envoie une requˆte sur le port echo d’une machine
                                             e
A indiquant comme port source celui du port chargen d’une machine B. Le
service chargen de la machine B renvoie un caract`re sur le port echo de la
                                                     e
machine A. Ensuite le service echo de A renvoie ce caract`re sur chargen.
                                                              e
chargen le re¸oit, en ajoute un autre et les renvoie sur le port echo de A qui
             c
les renvoient ` son tour sur chargen ... et cela continue jusqu’` la saturation
              a                                                 a
de la bande passante.



                                      54
Comment s’en prot´ger ?
                 e
   Il est conseill´ de d´sactiver les services chargen et echo.
                  e     e

Si vous ne voulez pas d´sactiver chargen et echo, configurez votre firewall
                        e
pour ´viter le ”Chargen Denial of Service Attack” en limitant le traffic UDP :
     e

[root@nowhere /root]# iptables -A FORWARD -p udp -m limit
–limit 1/s -j ACCEPT

6.4.3     Fragmentation de paquets
    Plus connu sous le nom de ”Teardrop Attack”, ”Bonk” ou encore ”Boink”,
cette attaque utilise une faille propre ` certaines piles TCP/IP. Cette vuln´rabilit´
                                        a                                   e       e
concerne la gestion de la fragmentation IP.

Ce probl`me apparaˆ lorsque la pile re¸oit le deuxi`me fragment d’un paquet
         e          ıt                 c            e
TCP contenant comme donn´e le premier fragment. La pile TCP/IP peut
                              e
s’av´rer incapable de g´rer cette exception et le reste du traffic.
    e                  e

Cette faille est tr`s connue sur les piles de W indows95et98 c .
                   e

6.4.4     Ping of death
    Le principe est d’envoyer un paquet ICMP avec une quantit´ de donn´es
                                                                 e         e
sup´rieure ` la taille maximale d’un paquet IP . Encore une fois, la pile peut
    e       a
s’av´rer incapable de g´rer cette exception et le reste du traffic.
    e                   e

6.4.5     Attaque par r´flexion : Smurfing
                       e
    Cette attaque est bas´e sur le protocole ICMP. Lorsqu’on envoie un ping
                           e
a
` un r´seau en broadcast (par exemple 255.255.255.0), le paquet est envoy´
       e                                                                     e
a
` chacune des machines du r´seau.
                               e
    Un pirate envoie un ping en broadcast sur un r´seau (A) avec une adresse
                                                     e
IP source correspondant ` celle de la machine cible (B). Le flux entre le port
                           a
ping de la cible (B) et du r´seau (A) sera mulitpli´ par le nombre de machines
                             e                     e
sur le r´seau (A).
        e
    Cela conduit ` une saturation de la bande passante du r´seau (A) et du
                  a                                            e
syst`me de traitement de paquets de (B).
    e




                                       55
Comment s’en prot´ger ?
                 e
   Configurez votre firewall pour limiter le traffic ICMP.
   [root@nowhere /root]# iptables -A FORWARD -p icmp –
icmp-type echo- request -m limit –limit 1/s -j ACCEPT
   (Pour plus de d´tails sur cette commande, je vous conseille de lire, le
                  e
document ”Packet Filtering HOWTO : Using iptables” (Chapitre 7.3) de
Rusty Wagner)

6.4.6    D´nis de services distribu´s
          e                        e
   Plusieurs types d’attaques sont lanc´es en parall`le ` partir de plusieurs
                                       e            e a
sources.

6.4.7    Bombes e-mail
   Le ”mail-bombing” consiste ` envoyer de gros ou de nombreux fichiers `
                                 a                                        a
un utilisateur pour saturer sa boˆ de r´ception de courrier ´lectronique.
                                  ıte  e                    e

Comment s’en prot´ger ?
                 e
    La plupart des logiciels de contrˆle de contenu assure un filtrage du cour-
                                     o
rier pour d´tecter ce type d’attaque
           e




                                     56
Chapitre 7

S´curisation des mots de passe
 e




               57
Introduction
    Le but de ce chapitre est de donner au lecteur toutes les informations
n´cessaires sur les techniques utilis´es pour tester la r´sistance des protec-
  e                                  e                   e
tions par mot de passe.

Il faut savoir que les mots de passe utilis´s sur un syst`me d’information sont
                                           e             e
encrypt´s pour garantir leur confidentialit´. Ces mots de passe encrypt´s sont
         e                                   e                          e
stock´s dans des listes de mots de passe sur des fichiers syst`mes pr´d´finis.
      e                                                         e      e e

Un pirate peut fort bien r´cup´rer ces listes et tester la fiabilit´ des mots
                             e    e                                e
de passe. Il utilise pour cela l’outil ad´quat : un perceur de mot de passe.
                                         e

La plupart des algorithmes d’encryptage repose sur l’utilisation de fonctions
a
` sens unique. Ceci veut simplement dire qu’il est impossible de d´crypter le
                                                                    e
mot de passe ` partir sa forme encrypt´e. L’attaque consiste alors ` encrypter
             a                        e                            a
diff´rentes combinaisons de caract`res et de comparer cette forme encrypt´e
   e                               e                                        e
a
` celle du mot de passe voulu. Si les deux chaˆ  ınes correspondent, alors la
suite de caract`res est celle du mot de passe.
               e

Il y a deux types d’attaques pour le craquage de mots de passe qui seront
d´finies dans ce chapitre.
  e




                                      58
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau
Guide de sécurité_réseau

Weitere ähnliche Inhalte

Was ist angesagt?

Chip_Ninja____Rapport_soutenance_finale
Chip_Ninja____Rapport_soutenance_finaleChip_Ninja____Rapport_soutenance_finale
Chip_Ninja____Rapport_soutenance_finaleChady Dimachkie
 
Object detection and recognition in digital images
Object detection and recognition in digital imagesObject detection and recognition in digital images
Object detection and recognition in digital imagesSakher BELOUADAH
 
Cours achirecture des ordi 1
Cours achirecture des ordi 1Cours achirecture des ordi 1
Cours achirecture des ordi 1fofanaabou
 
Rapport de Soutenance 3
Rapport de Soutenance 3Rapport de Soutenance 3
Rapport de Soutenance 3BartOunay
 
Fag montage et démontage des roulements wl 80100 3_fr_fr
Fag montage et démontage des roulements wl 80100 3_fr_frFag montage et démontage des roulements wl 80100 3_fr_fr
Fag montage et démontage des roulements wl 80100 3_fr_frAbdelghaniB
 
Reduction de modele_et_controle_de_lecou (1)
Reduction de modele_et_controle_de_lecou (1)Reduction de modele_et_controle_de_lecou (1)
Reduction de modele_et_controle_de_lecou (1)Boughraraanis
 
Bitdefender is 2014_user_guide_fr
Bitdefender is 2014_user_guide_frBitdefender is 2014_user_guide_fr
Bitdefender is 2014_user_guide_frIlo Rium
 
Lexique de-commandes-cisco
Lexique de-commandes-ciscoLexique de-commandes-cisco
Lexique de-commandes-ciscoTouré Kunda
 
Performances d’un système virtualisé avec v mware esxi
Performances d’un système virtualisé avec v mware esxiPerformances d’un système virtualisé avec v mware esxi
Performances d’un système virtualisé avec v mware esxiprivateperso
 
Tutoriel Ruby on Rails : apprendre Rails par l'exemple de Michael Hartl
Tutoriel Ruby on Rails : apprendre Rails par l'exemple de Michael HartlTutoriel Ruby on Rails : apprendre Rails par l'exemple de Michael Hartl
Tutoriel Ruby on Rails : apprendre Rails par l'exemple de Michael HartlMarc Maurer
 
Mr phd thesis
Mr phd thesisMr phd thesis
Mr phd thesisAbirHezzi
 
Introduction au statistiques inférentielle
Introduction au statistiques inférentielleIntroduction au statistiques inférentielle
Introduction au statistiques inférentielleTaha Can
 

Was ist angesagt? (20)

Chip_Ninja____Rapport_soutenance_finale
Chip_Ninja____Rapport_soutenance_finaleChip_Ninja____Rapport_soutenance_finale
Chip_Ninja____Rapport_soutenance_finale
 
Object detection and recognition in digital images
Object detection and recognition in digital imagesObject detection and recognition in digital images
Object detection and recognition in digital images
 
Maths
MathsMaths
Maths
 
Bedhboperation r41 fr
Bedhboperation r41 frBedhboperation r41 fr
Bedhboperation r41 fr
 
Cours achirecture des ordi 1
Cours achirecture des ordi 1Cours achirecture des ordi 1
Cours achirecture des ordi 1
 
MCC_PhDThesis
MCC_PhDThesisMCC_PhDThesis
MCC_PhDThesis
 
Rapport de Soutenance 3
Rapport de Soutenance 3Rapport de Soutenance 3
Rapport de Soutenance 3
 
Jmc habile
Jmc habileJmc habile
Jmc habile
 
Rapport final-FIROZI-V2
Rapport final-FIROZI-V2Rapport final-FIROZI-V2
Rapport final-FIROZI-V2
 
Fag montage et démontage des roulements wl 80100 3_fr_fr
Fag montage et démontage des roulements wl 80100 3_fr_frFag montage et démontage des roulements wl 80100 3_fr_fr
Fag montage et démontage des roulements wl 80100 3_fr_fr
 
Reduction de modele_et_controle_de_lecou (1)
Reduction de modele_et_controle_de_lecou (1)Reduction de modele_et_controle_de_lecou (1)
Reduction de modele_et_controle_de_lecou (1)
 
Theorie du signal
Theorie du signalTheorie du signal
Theorie du signal
 
Ft 1751 V1.0 0207
Ft 1751 V1.0 0207Ft 1751 V1.0 0207
Ft 1751 V1.0 0207
 
Bitdefender is 2014_user_guide_fr
Bitdefender is 2014_user_guide_frBitdefender is 2014_user_guide_fr
Bitdefender is 2014_user_guide_fr
 
Lexique de-commandes-cisco
Lexique de-commandes-ciscoLexique de-commandes-cisco
Lexique de-commandes-cisco
 
Performances d’un système virtualisé avec v mware esxi
Performances d’un système virtualisé avec v mware esxiPerformances d’un système virtualisé avec v mware esxi
Performances d’un système virtualisé avec v mware esxi
 
Tutoriel Ruby on Rails : apprendre Rails par l'exemple de Michael Hartl
Tutoriel Ruby on Rails : apprendre Rails par l'exemple de Michael HartlTutoriel Ruby on Rails : apprendre Rails par l'exemple de Michael Hartl
Tutoriel Ruby on Rails : apprendre Rails par l'exemple de Michael Hartl
 
Memoire_final
Memoire_finalMemoire_final
Memoire_final
 
Mr phd thesis
Mr phd thesisMr phd thesis
Mr phd thesis
 
Introduction au statistiques inférentielle
Introduction au statistiques inférentielleIntroduction au statistiques inférentielle
Introduction au statistiques inférentielle
 

Andere mochten auch

Gfv vesta-tbd
Gfv vesta-tbdGfv vesta-tbd
Gfv vesta-tbdGFV Vesta
 
Interpretación de sueños
Interpretación de sueñosInterpretación de sueños
Interpretación de sueñosirenejorquera15
 
Les outils 2.0 pour la recherche : pourquoi ? comment ?
Les outils 2.0 pour la recherche :  pourquoi ? comment ?Les outils 2.0 pour la recherche :  pourquoi ? comment ?
Les outils 2.0 pour la recherche : pourquoi ? comment ?deuxieme-labo
 
Guide utilisateur africa-it
Guide utilisateur africa-itGuide utilisateur africa-it
Guide utilisateur africa-itAfrica-it
 
Dossier de production groupe n°143
Dossier de production groupe n°143Dossier de production groupe n°143
Dossier de production groupe n°143Mickael Nora
 
Mi punto de vista hacia la convivencia
Mi punto de vista hacia la convivenciaMi punto de vista hacia la convivencia
Mi punto de vista hacia la convivenciaEimi Yusei
 
Developper une Strategie de Contenu - Conférence AxeNet SMX 2013
Developper une Strategie de Contenu - Conférence AxeNet SMX 2013Developper une Strategie de Contenu - Conférence AxeNet SMX 2013
Developper une Strategie de Contenu - Conférence AxeNet SMX 2013Guillaume Eouzan
 
Fsn205 detection mensongeentrevuecognitive
Fsn205 detection mensongeentrevuecognitiveFsn205 detection mensongeentrevuecognitive
Fsn205 detection mensongeentrevuecognitiveSteph Cliche
 
Fiche pédagogique Les trois petits cochons
Fiche pédagogique Les trois petits cochonsFiche pédagogique Les trois petits cochons
Fiche pédagogique Les trois petits cochonssopris
 

Andere mochten auch (20)

Rapport taser
Rapport taserRapport taser
Rapport taser
 
Informatica
InformaticaInformatica
Informatica
 
Gfv vesta-tbd
Gfv vesta-tbdGfv vesta-tbd
Gfv vesta-tbd
 
Colación
ColaciónColación
Colación
 
Redesp2p
Redesp2pRedesp2p
Redesp2p
 
Ensayo
EnsayoEnsayo
Ensayo
 
Interpretación de sueños
Interpretación de sueñosInterpretación de sueños
Interpretación de sueños
 
Práctica 3. sociología
Práctica 3. sociología Práctica 3. sociología
Práctica 3. sociología
 
Les outils 2.0 pour la recherche : pourquoi ? comment ?
Les outils 2.0 pour la recherche :  pourquoi ? comment ?Les outils 2.0 pour la recherche :  pourquoi ? comment ?
Les outils 2.0 pour la recherche : pourquoi ? comment ?
 
Le Royaume-uni et la PAC
Le Royaume-uni et la PACLe Royaume-uni et la PAC
Le Royaume-uni et la PAC
 
Informatica
Informatica Informatica
Informatica
 
2008 Toyota Matrix 63,178 miles $11,900
2008 Toyota Matrix 63,178 miles $11,9002008 Toyota Matrix 63,178 miles $11,900
2008 Toyota Matrix 63,178 miles $11,900
 
Guide utilisateur africa-it
Guide utilisateur africa-itGuide utilisateur africa-it
Guide utilisateur africa-it
 
Pol 05-04
Pol 05-04Pol 05-04
Pol 05-04
 
Dossier de production groupe n°143
Dossier de production groupe n°143Dossier de production groupe n°143
Dossier de production groupe n°143
 
Mi punto de vista hacia la convivencia
Mi punto de vista hacia la convivenciaMi punto de vista hacia la convivencia
Mi punto de vista hacia la convivencia
 
Developper une Strategie de Contenu - Conférence AxeNet SMX 2013
Developper une Strategie de Contenu - Conférence AxeNet SMX 2013Developper une Strategie de Contenu - Conférence AxeNet SMX 2013
Developper une Strategie de Contenu - Conférence AxeNet SMX 2013
 
Fsn205 detection mensongeentrevuecognitive
Fsn205 detection mensongeentrevuecognitiveFsn205 detection mensongeentrevuecognitive
Fsn205 detection mensongeentrevuecognitive
 
Sucesiones
SucesionesSucesiones
Sucesiones
 
Fiche pédagogique Les trois petits cochons
Fiche pédagogique Les trois petits cochonsFiche pédagogique Les trois petits cochons
Fiche pédagogique Les trois petits cochons
 

Ähnlich wie Guide de sécurité_réseau

Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Alaaeddine Tlich
 
notes-de-cours-de-fouille-de-donnees.pdf
notes-de-cours-de-fouille-de-donnees.pdfnotes-de-cours-de-fouille-de-donnees.pdf
notes-de-cours-de-fouille-de-donnees.pdfCoulibalyYoussoufngo
 
courspython3.pdf
courspython3.pdfcourspython3.pdf
courspython3.pdfDendouga1
 
Conception et Développement d'un Network Management System ATM Nortel
Conception et Développement d'un Network Management System ATM NortelConception et Développement d'un Network Management System ATM Nortel
Conception et Développement d'un Network Management System ATM NortelTidiane Sylla
 
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...yosra fraiji
 
Cryotographie
CryotographieCryotographie
Cryotographienaimhajar
 
Deep Learning : Application à la reconnaissance d’objets de classes multiples...
Deep Learning : Application à la reconnaissance d’objets de classes multiples...Deep Learning : Application à la reconnaissance d’objets de classes multiples...
Deep Learning : Application à la reconnaissance d’objets de classes multiples...Haytam EL YOUSSFI
 
Le petit livre_du_hacker_2013
Le petit livre_du_hacker_2013Le petit livre_du_hacker_2013
Le petit livre_du_hacker_2013Steph Cliche
 
Le petit livre_du_hacker_2013
Le petit livre_du_hacker_2013Le petit livre_du_hacker_2013
Le petit livre_du_hacker_2013bbbooda
 
Android VoIP/SIP Softphone
Android VoIP/SIP SoftphoneAndroid VoIP/SIP Softphone
Android VoIP/SIP SoftphoneHamza Lazaar
 
PFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdfPFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdfBacemHlabba
 
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)safwenbenfredj
 
Cours base données
Cours base donnéesCours base données
Cours base donnéeskerosina
 

Ähnlich wie Guide de sécurité_réseau (20)

Protection-dun-réseau-dentreprise-via-un-firewall.pdf
Protection-dun-réseau-dentreprise-via-un-firewall.pdfProtection-dun-réseau-dentreprise-via-un-firewall.pdf
Protection-dun-réseau-dentreprise-via-un-firewall.pdf
 
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
 
Nagios
NagiosNagios
Nagios
 
Badis these
Badis theseBadis these
Badis these
 
notes-de-cours-de-fouille-de-donnees.pdf
notes-de-cours-de-fouille-de-donnees.pdfnotes-de-cours-de-fouille-de-donnees.pdf
notes-de-cours-de-fouille-de-donnees.pdf
 
siem.pdf
siem.pdfsiem.pdf
siem.pdf
 
courspython3.pdf
courspython3.pdfcourspython3.pdf
courspython3.pdf
 
Report MyProof
Report MyProofReport MyProof
Report MyProof
 
Conception et Développement d'un Network Management System ATM Nortel
Conception et Développement d'un Network Management System ATM NortelConception et Développement d'un Network Management System ATM Nortel
Conception et Développement d'un Network Management System ATM Nortel
 
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
 
Cryotographie
CryotographieCryotographie
Cryotographie
 
Deep Learning : Application à la reconnaissance d’objets de classes multiples...
Deep Learning : Application à la reconnaissance d’objets de classes multiples...Deep Learning : Application à la reconnaissance d’objets de classes multiples...
Deep Learning : Application à la reconnaissance d’objets de classes multiples...
 
Le petit livre_du_hacker_2013
Le petit livre_du_hacker_2013Le petit livre_du_hacker_2013
Le petit livre_du_hacker_2013
 
Le petit livre_du_hacker_2013
Le petit livre_du_hacker_2013Le petit livre_du_hacker_2013
Le petit livre_du_hacker_2013
 
Android VoIP/SIP Softphone
Android VoIP/SIP SoftphoneAndroid VoIP/SIP Softphone
Android VoIP/SIP Softphone
 
cours de Matlab
 cours de Matlab cours de Matlab
cours de Matlab
 
PFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdfPFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdf
 
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
 
Cours base données
Cours base donnéesCours base données
Cours base données
 
Polycopie_CNA_CD.pdf
Polycopie_CNA_CD.pdfPolycopie_CNA_CD.pdf
Polycopie_CNA_CD.pdf
 

Guide de sécurité_réseau

  • 1. Un petit guide pour la s´curit´ e e Alexandre Viardin (Mirabellug) copyright Alexandre Viardin Novembre 2003
  • 2. Table des mati`res e 1 S´curisation de base e 8 1.1 Premier conseil : Verrouillez les stations . . . . . . . . . . . . . 10 1.2 Pour Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3 Pour Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4 Le lecteur de disquettes . . . . . . . . . . . . . . . . . . . . . . 10 1.5 Le lecteur de CDROM . . . . . . . . . . . . . . . . . . . . . . 11 1.6 N’oubliez pas le mot de passe pour le BIOS . . . . . . . . . . 11 2 La collecte d’informations 12 2.1 Le Scanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.1.1 Qu’est ce qu’un scanner ? . . . . . . . . . . . . . . . . . 14 2.1.2 Comment marche Nmap ? . . . . . . . . . . . . . . . . 16 2.1.3 La d´termination du syst`me d’exploitation avec e e Nmap 18 2.1.4 Quel est l’intˆret d’utiliser Nmap ? . . . . . . . e . . . . 19 2.2 Identifier les versions des logiciels en ´coute . . . . . . e . . . . 21 2.2.1 Netcat . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3 Les failles applicatives 24 3.1 Les installations par d´faut . . . . . . . e . . . . . . . . . . . . . 26 3.2 Les mauvaises configurations . . . . . . . . . . . . . . . . . . . 26 3.3 Les bogues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3.1 Des d´nis de services applicatifs e . . . . . . . . . . . . . 26 3.3.2 Outrepassement de droits . . . . . . . . . . . . . . . . 27 3.3.3 Les scripts . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4 Les exploits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4 Les outils indispensables pour la protection 29 4.1 Le firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.1.1 La configuration . . . . . . . . . . . . . . . . . . . . . . 31 4.1.2 Les attaques contre les firewalls . . . . . . . . . . . . . 31 4.2 Les NIDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 1
  • 3. 4.2.1 Prelude . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.2.2 Snort . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.3 Le tunneling . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.3.1 Le protocole AH . . . . . . . . . . . . . . . . . . . . . 36 4.3.2 Le protocole ESP . . . . . . . . . . . . . . . . . . . . . 36 4.3.3 Le protocole IPcomp . . . . . . . . . . . . . . . . . . . 36 4.3.4 Le protocole IKE . . . . . . . . . . . . . . . . . . . . . 36 4.3.5 Les deux modes de fonctionnements de IPsec . . . . . . 37 4.3.6 Les limitations d’IPsec . . . . . . . . . . . . . . . . . . 37 4.4 Nessus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.4.1 Pour obtenir tout sur Nessus . . . . . . . . . . . . . . . 38 4.5 User Mode Linux - UML . . . . . . . . . . . . . . . . . . . . 39 5 Surveillance - Dissimulation - Maintien d’acc`s e 40 5.1 Les chevaux de Troie . . . . . . . . . . . . . . . . . . . . . . . 42 5.2 Les backdoors . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.2.1 Les backdoors pr´sentes dans les logiciels. . . . . e . . . 43 5.2.2 Les backdoors d´di´es aux connexions ` distance . e e a . . . 43 5.3 Les Rootkits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.4 L’interception des mots de passe en r´seau. . . . . . . . . e . . . 47 6 Dispositifs destructeurs 49 6.1 Le virus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 6.2 Les vers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.3 Les bombes logiques . . . . . . . . . . . . . . . . . . . . . . . 53 6.4 Les attaques par d´ni de services . . . e . . . . . . . . . . . . . 54 6.4.1 Le SYN flood . . . . . . . . . . . . . . . . . . . . . . . 54 6.4.2 L’UDP Flood . . . . . . . . . . . . . . . . . . . . . . . 54 6.4.3 Fragmentation de paquets . . . . . . . . . . . . . . . . 55 6.4.4 Ping of death . . . . . . . . . . . . . . . . . . . . . . . 55 6.4.5 Attaque par r´flexion : Smurfing e . . . . . . . . . . . . . 55 6.4.6 D´nis de services distribu´s . . e e . . . . . . . . . . . . . 56 6.4.7 Bombes e-mail . . . . . . . . . . . . . . . . . . . . . . 56 7 S´curisation des mots de passe e 57 7.1 L’attaque par dictionnaire . . . . . . . . . . . . . . . . . . . . 59 7.2 Le brute forcing . . . . . . . . . . . . . . . . . . . . . . . . . . 59 7.3 Tester la fiabilit´ de vos mots de e passe ! . . . . . . . . . . . . . 59 7.4 Choisir le bon mot de passe . . . . . . . . . . . . . . . . . . . 60 7.5 Pr´venir l’utilisateur . . . . . . e . . . . . . . . . . . . . . . . . 61 2
  • 4. 8 La base des attaques r´seaux e 62 8.1 D´tournement de flux . . . . . . . . . . . . . e . . . . . . . . . . 64 8.1.1 ARP-Poisoning : . . . . . . . . . . . . . . . . . . . . . 64 8.1.2 D´synchronisation TCP : . . . . . . . e . . . . . . . . . . 65 8.2 MIM - Man in the Middle . . . . . . . . . . . . . . . . . . . . 67 8.3 Encapsulation d’IP dans d’autres protocoles. . . . . . . . . . . 68 9 Description d’attaques sur diff´rents protocoles e 69 9.1 DHCP : Dynamic Host Configuration Protocol . . . . . . . . . 71 9.1.1 Attaque par ´puisement de ressources . . . e . . . . . . . 71 9.1.2 Faux serveurs DHCP . . . . . . . . . . . . . . . . . . . 71 9.2 DNS : Domain Name Server . . . . . . . . . . . . . . . . . . . 73 9.2.1 Le DNS ID spoofing . . . . . . . . . . . . . . . . . . . 73 9.2.2 Le DNS cache poisoning . . . . . . . . . . . . . . . . . 74 9.3 FINGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 9.4 FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 9.4.1 Le serveur FTP anonyme . . . . . . . . . . . . . . . . . 79 9.5 HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 9.5.1 Les serveurs trop bavards . . . . . . . . . . . . . . . . 81 9.5.2 Vuln´rabilit´s li´es aux applications web . e e e . . . . . . . 81 9.6 IDENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 9.7 IP et l’IP-Spoofing . . . . . . . . . . . . . . . . . . . . . . . . 84 9.7.1 Un peu de th´orie ... . . . . . . . . . . . . e . . . . . . . 84 9.7.2 Pr´venir l’IP spoofing grˆce ` Nmap . . . e a a . . . . . . . 87 9.8 NETBIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 9.9 NFS : Network File System . . . . . . . . . . . . . . . . . . . 91 9.9.1 Les attaques . . . . . . . . . . . . . . . . . . . . . . . . 91 9.10 NIS : Network Information Service . . . . . . . . . . . . . . . 92 9.10.1 Les attaques . . . . . . . . . . . . . . . . . . . . . . . . 92 9.11 PORTMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 9.12 Le protocole SMB . . . . . . . . . . . . . . . . . . . . . . . . . 94 9.12.1 Les scans de SMB shares . . . . . . . . . . . . . . . . . 94 9.13 SMTP - Les services de messagerie . . . . . . . . . . . . . . . 96 9.14 SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 9.14.1 Le ”SQL-INJECTION” . . . . . . . . . . . . . . . . . . 97 9.15 SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 9.16 TELNET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 9.17 XWINDOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 9.17.1 Les attaques . . . . . . . . . . . . . . . . . . . . . . . . 100 9.18 Peer To Peer (eDonkey, Kazaa ...) . . . . . . . . . . . . . . . . 101 3
  • 5. 10 S´curit´ avanc´e e e e 102 10.1 L’architecture s´curis´e . . . . . . . . . . . . . . . . . . . . . e e . 104 10.1.1 Le r´seau de d´part . . . . . . . . . . . . . . . . . . . e e . 104 10.1.2 Le premier niveau de s´curit´ . . . . . . . . . . . . . e e . 105 10.1.3 NDIS : Deuxi`me niveau de s´curisation . . . . . . . e e . 105 10.1.4 Les niveaux plus ´lev´s . . . . . . . . . . . . . . . . e e . 106 10.2 D´veloppez vos propres utilitaires s´curit´ . . . . . . . . . . e e e . 108 10.2.1 Le programme . . . . . . . . . . . . . . . . . . . . . . . 108 10.2.2 Comment obtenir et compiler le source entier du pro- gramme ? . . . . . . . . . . . . . . . . . . . . . . . . . 118 10.2.3 Documents . . . . . . . . . . . . . . . . . . . . . . . . 118 11 Annexes 119 11.1 Les sites et revues ` consulter r´gulierement . . . . . . . . . . 120 a e 11.2 Remerciements . . . . . . . . . . . . . . . . . . . . . . . . . . 122 4
  • 6. Avant-propos ”Qui connaˆt l’autre et se connaˆt, en cent combats ne sera point ı ı d´fait ; qui ne connaˆ l’autre mais se connaˆt, sera vainqueur une e ıt ı fois sur deux ; qui ne connaˆ pas plus l’autre qu’il ne se connaˆ ıt ıt sera toujours d´fait.” e L’art de la guerre - Sun Tzu Ce guide a ´t´ r´alis´ suite ` un audit de s´curit´ que j’ai r´alis´ pour ee e e a e e e e mon ´cole et aux deux conf´rences sur la s´curit´ r´seau pr´sent´es au groupe e e e e e e e d’utilisateurs Linux de NANCY (coucou le Mirabellug). Je ne suis pas sp´cialiste e en s´curit´ r´seau ; j’ai juste ´crit ce guide dans le but de donner ` des ad- e e e e a ministrateurs ou ` des particuliers, un descriptif technique et un manuel a d’autoformation ` la s´curit´ r´seau. a e e e La plupart des administrateurs ne sont pas sp´cialistes en securit´, et peuvent e e ˆtre perdus devant un probl`me de ce type. Le masse d’informations dispo- e e nible sur Internet est parfois confuse, dense ou tr`s technique. Ce guide sert e de point de d´part et d’introduction ` la s´curit´. e a e e Il a ´t´ pens´ dans un but ´volutif. Si vous voulez participer en ´crivant ou en ee e e e compl´tant des chapitres, n’h´sitez pas ` me contacter sur guidesecu@free.fr. e e a Le principe est simple : une description assez succinte sur une attaque et en- suite une description compl`te des m´thodes de protection. Vos exp´riences e e e personnelles et vos remarques sont aussi les bienvenues. Evidemment, ce guide est sous license GPL donc gratuit. La seule r´compense e que pourront recevoir les ´ventuels participants est la mention de leurs noms e en tant que collaborateurs. Ce guide se compose d’une dizaines de chapitres. 5
  • 7. Chaque chapitre comporte une introduction. La plupart du temps, un cha- pitre contient au moins une section divis´e en diff´rentes sous sections : une e e pour la description d’un probl`me de s´curit´ particulier, une deuxi`me pour e e e e d´crire les diff´rents moyens de s’en prot´ger et une troisi`me pour donner e e e e diff´rents liens vers des documents plus pr´cis sur le sujet. e e Le premier chapitre montre comment s´curiser une station pour ´viter toutes e e tentatives de piratage par un acc`s physique. e Le deuxi`me chapitre d´crit le fonctionnement des outils de r´cup´ration e e e e d’informations ` distance, notamment les scanners. Il montre l’utilit´ qu’ils a e ont pour vous prot´ger. e Le troisi`me chapitre introduit la notion de failles. e Le quatri`me chapitre introduit diff´rentes notions sur les firewalls et les e e principaux autres syst`mes de protection logiciels. e Le cinqui`me chapitre explique comment un pirate dissimule sa pr´sence e e sur un syst`me. e Le sixi`me chapitre s’int´resse aux dispositifs destructeurs (virus, bombes e e mails ...). Le septi`me chapitre d´crit les attaques sur les fichiers de mots de passe. e e Les huiti`me et neuvi`me chapitres traitent de diff´rents probl`mes pos´s e e e e e par certains protocoles r´seaux. e Le dixi`me chapitre est divis´ en deux parties : la premi`re explique comment e e e architecturer son r´seau de fa¸on s´curis´e. La deuxi`me partie est un cours e c e e e sur le developpement d’outils d´di´s uniquement ` la s´curit´. e e a e e O` trouver ce guide ? u C’est tr`s simple, il y a deux adresses : e Le site officiel : http://guidesecu.ifrance.com/guide/guidesecu.pdf 6
  • 8. Sur le site du Mirabellug : http://www.mirabellug.org/docs/securite/guidesecu.pdf Les OS vis´s : e La majorit´ des programmes d´fensifs utilis´s et d´crits dans ce guide sont e e e e disponibles sous LINUX. Je n’oublierai pas de parler de la s´curit´ pour les e e produits Microsoft. Cependant, Linux poss`de une certaine avance sur Mi- e crosoft dans le domaine de la s´curit´ (notamment par un plus grand nombre e e de logiciels performants et gratuits). Les autres OS comme SunOS, VMS, MacOS, Plan9, Novell,... seront pass´s e sous silence mais si vous voulez voir des chapitres pr´cis sur certains OS ap- e paraitre, contactez moi par mail. Bonne Lecture ! 7
  • 10. Introduction Le but de ce chapitre est de donner diff´rentes m´thodes pour s´curiser e e e physiquement une machine. Il faut savoir qu’une grande partie des piratages sont lanc´s par des pirates ayant un acc`s physique sur un r´seau. e e e Dans ce chapitre, nous ne nous focaliserons pas sur un serveur d´di´ ` un e e a service particulier, mais plutˆt sur les machines constituant les clients. Ces o machines sont en acc`s libre dans une salle non surveill´e. e e L’objectif est d’empˆcher une personne mal intentionn´e d’obtenir les acc`s e e e adiministrateur sur la machine qu’elle utilise. La plupart des utilitaires de pi- ratage ont besoin des acc`s administrateur pour fonctionner ; sans ces acc`s, e e la capacit´ de nuire est fortement diminu´e. e e 9
  • 11. 1.1 Premier conseil : Verrouillez les stations N’h´sitez pas ` poser un cadenas sur les tours des machines, cela empˆchera e a e tout d’abord le vol de mat´riel, mais cela ´vitera aussi d’avoir des disques e e durs mont´s en ”secret” avec toute une panoplie d’utilitaires install´s dessus. e e Le conseil ` suivre imp´rativement (et vous comprendrez pourquoi en li- a e sant les deux chapitres suivants) : il faut d´sactiver le boot sur le lecteur de e disquette et sur le lecteur de CDROM. 1.2 Pour Linux Evitez d’avoir l’option ”failsafe” au d´marrage propos´ par Lilo. Cette e e option peut permettre d’obtenir les acc`s root (sans mot de passe) pour la e maintenance du syst`me. e 1.3 Pour Windows Le syst`me de fichier NTFS permet une s´curisation accrue par rapport e e aux syst`mes de fichier FAT et FAT 32. Si vos machines W indows c fonc- e tionnent avec de la FAT, passez en NTFS. Je d´conseille fortement d’utiliser Windows 95, 98 et Me, le niveau de s´curit´ e e e offert par ces OS en natif n’´tant pas assez ´lev´. e e e 1.4 Le lecteur de disquettes Evitez le boot sur disquette, un utilitaire comme Trinux (qui est un OS Linux s’installant en RAM grˆce ` un nombre limit´ de disquettes) donne la a a e possibilit´ de monter tous les syst`mes de fichiers pr´sents sur le(s) disque(s) e e e dur(s) de la machine et d’en modifier le(s) contenu(s). De plus, Trinux est livr´ avec un panel assez impressionnant d’utilitaires exclusivement d´di´s ` e e e a la s´curit´. e e Le programme NTFS2DOS (sous DOS) permet de changer les partitions NTFS en partitions FAT et de pouvoir acc´der ` leurs contenus sans restric- e a tions. NTFS2DOS est lanc´ depuis une disquette de boot DOS. e 10
  • 12. 1.5 Le lecteur de CDROM Des utilitaires comme Knoopix (un OS Linux bootant sur un seul CD et contenant lui aussi un nombre impressionnant d’utilitaires divers) peuvent ˆtre utilis´s pour monter les diff´rents syst`mes de fichiers pr´sents sur le(s) e e e e e disque(s) dur(s). 1.6 N’oubliez pas le mot de passe pour le BIOS N’oubliez de prot´ger l’acc`s du BIOS par un mot de passe ! Attention e e certains BIOS peuvent comporter des failles logicielles permettant d’outre- passer ces protections. Encore une fois, il ne faut pas oublier de cadenasser les tours, afin d’´viter ` des utilisateurs (encore) mal intentionn´s de retirer e a e la pile du BIOS et d’outrepasser la protection par mot de passe. 11
  • 13. Chapitre 2 La collecte d’informations 12
  • 14. Introduction Dans ce chapitre, nous allons d´crire le fonctionnement des outils permet- e tant de r´cup´rer des informations ` distance. Ces utilitaires sont fr´quemment e e a e utilis´s par les pirates pour pr´parer de futures attaques. C’est pour cette e e raison qu’il est indispensable de les d´crire d`s le d´but. Vous apprendrez e e e ´galement ` les utiliser pour votre propre protection. e a 13
  • 15. 2.1 Le Scanner L’objectif du pirate est de rep´rer les serveurs offrant des services parti- e culiers et de les identifier. Pour obtenir ces informations, le pirate va utiliser un scanner. Le but de ce section est de pr´senter des m´thodes de protections contre le e e scan (en utilisant des r`gles de firewalling sous iptables/ipchains par exemple) e et de savoir utiliser un scanner pour anticiper les futures attaques. Le scanner d´crit dans ce chapitre est Nmap1 , un des scanners les plus utilis´s e e et un des plus performants. Je d´crirai dans une premi`re partie ce qu’est un scanner. Ensuite, je me e e focaliserai sur Nmap et je le pr´senterai d’un point de vue un peu plus tech- e nique, permettant de comprendre les diff´rentes m´thodes de protection. e e Attention : pour une capacit´ optimale de fonctionnement, Nmap doit ˆtre e e utilis´ avec les acc`s root ! e e 2.1.1 Qu’est ce qu’un scanner ? C’est tr`s simple : lorsqu’un serveur offre un service particulier (Web, mes- e sagerie, mail), il ex´cute un programme assurant ce service. Ce programme e est en attente de connexions. Les clients devant acc´der ` ce service doivent connaˆ e a ıtre l’adresse IP du serveur et le num´ro de port associ´ au service. e e Ce num´ro de port a ´t´ attribu´ par l’OS du serveur au programme ex´cutant e ee e e ce service. La plupart des services ont un num´ro de port bien d´fini. Par exemple, e e un serveur de messagerie utilise le port 25, un serveur Web le port 80... Lorsqu’un service est en ´coute sur un port, on dit que le num´ro de port e e associ´ ` ce service est ouvert. ea L’int´rˆt du scanner est tr`s simple : il permet de trouver dans un d´lai ee e e 1 Nmap est disponible sous W indows c et Linux ` l’adresse http ://www.insecure.org/, a la version d´crite dans ce chapitre ´tant celle disponible sous Linux. e e 14
  • 16. tr`s court, tous les ports ouverts sur une machine. e Il existe diff´rents types de scanner, certains se contentent juste de donner e le listing des ports ouverts, de donner le type et la version de l’OS tour- nant sur le serveur (ces fonctionnalit´s seront d´crites dans ce chapitre avec e e Nmap). D’autres scanners comme Nessus permettent de tester diff´rentes e failles connues sur ces services ( Nessus sera d´crit dans la section 4.4). e Exemple avec Nmap Utilisons Nmap pour connaˆ les services en ´coute sur la machine d’adresse ıtre e IP 192.168.1.1 [root@nowhere.net /root]# nmap 192.168.1.1 Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ ) Interesting ports on (192.168.1.1) : (The 1544 ports scanned but not shown below are in state : closed) Port State Service 21/tcp open ftp 53/tcp open domain 80/tcp open http 110/tcp open pop-3 111/tcp open sunrpc 113/tcp open auth 631/tcp open cups 845/tcp open unknown 901/tcp open samba-swat 10000/tcp open snet-sensor-mgmt Nmap run completed – 1 IP address (1 host up) scanned in 2 seconds. Nmap donne un aper¸u assez complet des diff´rents services s’ex´cutant sur c e e la machine dans un temps assez bref. On peut observer ici que des serveurs FTP, DNS, WEB, POP-3 ... sont en attente de connexions. 15
  • 17. 2.1.2 Comment marche Nmap ? Je pr´senterai de mani`re tr`s succinte Nmap et me focaliserai principa- e e e lement sur les fonctions les plus utilis´es. e Pour connaˆ les ports ouverts sur une machine, Nmap proc`de ` l’envoi ıtre e a de paquets sur tous les ports de cette machine et analyse les r´ponses. Bien e sˆr, il y a diff´rents types de scans, donc diff´rents types d’envois et donc, u e e diff´rents types de r´ponses. e e Nous nous int´resserons aux scans utilisant le protocole TCP (les scans UDP e et ICMP ´tant possibles eux aussi). e Le scan en ”vanilla TCP connect” Nmap proc`de ` l’appel de la fonction connect() sur tous les ports de la e a machine. Ce type de scan est facilement rep´rable. e Le scan en ”vanilla TCP connect” est le scan par d´faut avec Nmap, la e commande est : [root@nowhere.net /root]# nmap [ip de la machine cible] ou [root@nowhere.net /root]# nmap -sT [ip de la machine cible] Les scans furtifs Nous rentrons maintenant dans une classe de scans plus difficiles ` d´tecter : a e - Le scan en connexion demi-ouverte ou ”Syn-scan” : Nmap envoie sur chaque port un paquet TCP avec le flag SYN arm´ ; si e un port est ouvert, il renverra un paquet avec les flags SYN et ACK arm´s. e Illustration 16
  • 18. La commande se fait par l’appel de nmap avec l’option -sS : [root@nowhere.net /root]# nmap -sS [ip de la machine cible] - Les scans Xmas, FIN et NULL. Le scan FIN consiste en l’envoi de paquets TCP avec seulement le flag FIN arm´ : e La commande se fait par l’appel de nmap avec l’option -sF : [root@nowhere.net /root]# nmap -sF [ip de la machine cible] Le scan NULL consiste en l’envoi de paquets TCP avec seulement le flag NULL arm´ : e La commande se fait par l’appel de nmap avec l’option -sN : [root@nowhere.net /root]# nmap -sN [ip de la machine cible] Le Xmas scan (traduisez le scan de No¨l) consiste en l’envoi de paquets e TCP avec les flags FIN/URG/PUSH arm´s.e La commande se fait par l’appel de nmap avec l’option -sX : [root@nowhere.net /root]# nmap -sX [ip de la machine cible] 17
  • 19. Pour ces trois types de scans, les syst`mes r´pondent avec un paquet RST si e e le port est ferm´ et ne r´pondent pas si le port est ouvert. Le NULL scan ne e e fonctionne pas contre des plateformes Microsoft. Illustration 2.1.3 La d´termination du syst`me d’exploitation avec e e Nmap Si on lance Nmap avec l’option -O : [root@nowhere.net /root]# nmap -O 192.168.1.1 Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ ) Interesting ports on (192.168.1.1) : (The 1544 ports scanned but not shown below are in state : closed) Port State Service 21/tcp open ftp 53/tcp open domain 80/tcp open http 110/tcp open pop-3 111/tcp open sunrpc 113/tcp open auth 631/tcp open cups 845/tcp open unknown 18
  • 20. 901/tcp open samba-swat 10000/tcp open snet-sensor-mgmt Remote operating system guess : Linux 2.2.12 - 2.2.19 Nmap run completed – 1 IP address (1 host up) scanned in 3 seconds Notez bien l’avant-derni`re ligne : e Remote operating system guess : Linux 2.2.12 - 2.2.19 Nmap parvient ` d´terminer le syst`me d’exploitation tournant sur la ma- a e e chine cible. La machine cible utilisait un noyau 2.2.19. Nmap ne s’est pas tromp´. e Il faut savoir que chaque syst`me d’exploitation construit ses paquets d’une e mani`re bien particuli`re. Certains champs au niveau de la couche IP ou e e TCP sont propres ` chaque OS. Nmap contient une base de donn´es d’un a e grand nombre d’OS. Nmap envoie donc des paquets tests ` la machine cible a et compare les paquets re¸us en r´ponse ` ceux de sa base de donn´es et en c e a e d´duit le type d’OS. e Cette base de donn´es est mise ` jour en fonction des diff´rentes version e a e de Nmap. 2.1.4 Quel est l’intˆret d’utiliser Nmap ? e Nmap permet de pouvoir pr´voir les futures attaques, et aussi de pou- e voir connaˆ quels services tournent sur une machine. Une installation faite ıtre un peu trop vite peut laisser des services en ´coute (donc des ports ouverts e sans que cela soit n´cessaire) et donc vuln´rables ` une attaque. N’h´sitez e e a e pas ` utiliser Nmap contre vos serveurs pour savoir quels ports sont en ´coute. a e Nmap est un logiciel tr`s complet et tr`s ´volutif, et il est une r´f´rence e e e ee dans le domaine du scanning. Comment s’en prot´ger ? e Configurer votre firewall pour empˆcher les scans e 19
  • 21. [root@nowhere /root]# iptables -A FORWARD -p tcp –tcp-flags SYN,ACK, FIN,RST RST -m limit –limit 1/s -j ACCEPT Cette commande permet de d´tecter l’envoi un grand nombre de paquets e TCP avec les flags FIN et/ou SYN et/ou ACK et/ou RST arm´(s). V´rifiez e e que votre firewall (si ce n’est pas iptables) supporte la d´tection de scans. e (Pour plus de d´tails sur cette commande, je vous conseille de lire le docu- e ment ”Packet Filtering HOWTO : Using iptables” (Chapitre 7.3) de Rusty Wagner). Documents Divers articles ´cris par le d´veloppeur de Nmap sur le scanning (en an- e e glais) : http://www.phrack.org/show.php?p=51&a=11 http://www.phrack.org/show.php?p=54&a=9 http://www.phrack.org/show.php?p=57&a=7 20
  • 22. 2.2 Identifier les versions des logiciels en ´coute e Maintenant que notre pirate connaˆ les diff´rents services en ´coute, son ıt e e objectif va ˆtre de d´couvrir les noms et les versions des logiciels utilis´s pour e e e assurer ces services. L’objectif de ce chapitre est de pr´senter une parade pour ´viter de don- e e ner trop d’informations sur votre syst`me. e Le pirate peut d´j` essayer de se connecter sur diff´rents ports grˆce aux ea e a programmes clients associ´s pour glaner des informations. e Rien que telnet donne beaucoup d’informations : [root@nowhere.net /root]# telnet 192.168.1.1 Trying 192.168.1.1... Connected to 192.168.1.1. Escape character is ”CTRL-C”. Welcome to muetdhiver Linux Mandrake release 7.2 (Odyssey) for i586 Kernel 2.2.17-21mdk on an i586 login : Avec la r´ponse : e Linux Mandrake release 7.2 (Odyssey) for i586 Kernel 2.2.17-21mdk on an i586 Trop de renseignements apparaissent. Mˆme si le port telnet est ferm´, le pirate peut glaner d’autres informa- e e tions sur les autres services. Pour cela, il peut proc´der ` une connexion telnet sur le port associ´ ` un e a ea autre service en ´coute : e Exemple d’un telnet sur le port FTP ( port 21) [root@nowhere.net /root]# telnet 192.168.1.1 21 21
  • 23. Trying 192.168.1.1... Connected to 192.168.1.1. Escape character is ’CTRL-C’. 220 ProFTPD 1.2.5rc1 Server (ProFTPD Default Installation) [neuromancer] La ligne qui nous int´resse le plus est celle-ci : e 220 ProFTPD 1.2.5rc1 Server (ProFTPD Default Installation) [neu- romancer] La version du logiciel nous est donn´e. Le pirate va alors rechercher e des informations sur les faiblesses de s´curit´ de celui-ci. e e Cependant, sur certains services, le client telnet sera inefficace. Le pirate peut alors utiliser un programme con¸u pour ´crire et lire de donn´es sur c e e machine cible et sur le port voulu. Ces programmes permettent d’envoyer des scripts directement sur le logiciel souhait´ sans se soucier des limites pro- e tocolaires. Le plus r´put´ de ces programmes est sans doute Netcat. e e 2.2.1 Netcat Netcat permet d’´tablir une connexion (TCP ou UDP) sur un port sou- e hait´ et d’y envoyer ou d’y recevoir des donn´es. e e Voici un exemple : [root@nowhere.net /root]# nc 192.168.1.1 21 220 ProFTPD 1.2.5rc1 Server (ProFTPD Default Installation) [neuromancer] On obtient directement la version du logiciel utilis´. Netcat2 comporte plein e d’autres fonctionnalit´s (comme l’envoi de scripts ...). e Le pirate n’a plus qu’` trouver une faille applicative (voir chapitre suivant) a sur le logiciel correspondant. 2 Netcat est t´l´chargeable sur : http ://packetstormsecurity.nl/UNIX/netcat/ ee 22
  • 24. Comment s’en prot´ger ? e Retirer les banni`res donnant les versions de logiciel et les messages d’aide e ou de bienvenue d’un service r´seau en ´coute qui peuvent donner des infor- e e mations sur votre syst`me. e Utilisez netcat contre vos serveurs pour rep´rer les services trop ”bavards”. e 23
  • 25. Chapitre 3 Les failles applicatives 24
  • 26. Introduction Nous allons aborder dans ce chapitre les failles li´es aux applications uti- e lis´es. e Nous nous focaliserons principalement sur les failles logicielles : les failles applicatives. Ces failles peuvent ˆtre de natures diverses : probl`mes de configuration, e e probl`mes au niveau du code du logiciel, probl`mes li´s ` de mauvaises in- e e e a terpr´tations de commandes ou de mauvaises ex´cutions de scripts. e e 25
  • 27. 3.1 Les installations par d´faut e Lors d’une installation, beaucoup de services peuvent ˆtre install´s par e e d´faut (un serveur Web, FTP ...). Ces services peuvent contenir les diff´rents e e types de failles introduites auparavant. L’important est de bien contrˆler lors de l’installation, les services qui seront o install´s sur le syst`me. Pour ˆtre bien sˆr de soi, il est aussi recommand´ de e e e u e ”scanner” la machine pour voir ce qui y tourne (voir section 2.1). Mˆme si certains logiciels ne comportent pas de failles connues, ils peuvent e quand mˆme donner des informations aux pirates (voir section 2.2). e 3.2 Les mauvaises configurations Lorsqu’une application est mal param´tr´e, elle peut laisser l’acc`s libre e e e a ` certaines bases de donn´es sensibles (fichiers de mots de passe, d’utilisa- e teurs) ou de permettre d’ex´cuter des commandes ou des scripts malveillants. e Il est important de bien lire le manuel avant d’activer un service (RTFM !) et de bien d´finir le ”qui fait quoi”. e Ce principe est simple : il suffit de bien d´finir les utilisateurs et les groupes e et de limiter leurs droits sur certains types de fichiers et certaines op´rations e d’ex´cution de commandes syst`me. e e Le plus important est de restreindre au maximun les acc`s ` certains fichiers e a sensibles et aux commandes syst`mes. e 3.3 Les bogues Les bogues sont dus ` des erreurs de programmation. Les bogues font a apparaˆ diff´rents types de probl`mes de securit´ : ıtre e e e 3.3.1 Des d´nis de services applicatifs e Ce type de faille empˆche le logiciel de fonctionner et ainsi de r´pondre e e aux requˆtes demand´es (d’o` l’appellation d´ni de service). La technique e e u e est simple, il suffit d’utiliser un bogue connu qui va faire planter le logiciel assurant un service. 26
  • 28. 3.3.2 Outrepassement de droits Les bogues de type d´passement de buffer ou d’exploitation de bogues de e format posent de gros probl`mes de s´curit´. Ils visent majoritairement des e e e applications setsuid (fonctionnant avec les acc`s root) pour permettre ` un e a attaquant d’obtenir un interpr´teur de commande sous l’uid root. e 3.3.3 Les scripts Malheureusement, une mauvaise programmation de scripts ou l’utilisation de fonctions bogu´es peut ˆtre source de failles de s´curit´. Il convient d’ˆtre e e e e e tr`s attentif au niveau du d´veloppement d’un script. e e 3.4 Les exploits Pour exploiter ces bogues, le pirate fait appel ` des ”exploits”. Ces ”ex- a ploits” sont en fait de petits programmes permettant d’exploiter une faille dans un but pr´cis (obtenir un interpr´teur de commandes, acc´der ` certains e e e a fichiers, augmenter ses droits...). Les exploits peuvent aussi fonctionner ` distance, pour l’obtention d’un shell a (parfois avec les droits administrateur) sans mot de passe, ni nom d’utilisa- teur. Comment s’en proteger ? 1 - Recensez les applications vuln´rables. e Il est toujours bon de connaˆ les failles de vos logiciels avant les pirates. ıtre Des sites comme celui du CERT (Computer Emergency Response Team) pu- blie un rapport sur toute nouvelle faille de s´curit´. Le CERT permet aussi e e d’obtenir de l’aide en cas de piratage. Le site du CERT : www.cert.org (Anglais) Les archives bugtraq font partie des meilleures sources sur les nouvelles vuln´rabilit´s. Ces archives donnent des descriptions tr`s pr´cises sur des e e e e nouvelles failles de s´curit´. e e Le site BUGTRAQ : 27
  • 29. http://citadelle.intrinsec.com/mailing/current/HTML/ml_bugtraq/ (en anglais) http://www.bugtraq-france.com (en fran¸ais) c Certains sites comme www.packetstormsecurity.org ou www.securityfocus. com contiennent aussi de nombreuses informations. Le site securityfocus donne un classement1 des failles en fonction du type d’architecture ; il est facile de trouver rapidement le logiciel concern´. e 2 - Limitez les programmes s’ex´cutant avec les droits administrateur. e Il est toujours bon de r´p´rer les programmes s’ex´cutant avec les droits e e e administrateur. Ainsi, vous pouvez changer leurs droits pour qu’ils ne de- viennent pas un point critique pour la vuln´rabilit´ du syst`me. e e e Sous linux, la simple commande : [root@nowhere.net /root]# find / -perm +6000 vous permettra de lister tous les programmes s’ex´cutant avec les droits ad- e ministrateur. 3 - Les autres solutions. Les NDIS (d´crit dans le chapitre suivant) peuvent vous permettre de rep´rer e e les attaques exploitant des failles connues sur certains types de logiciel. On peut aussi ”patcher” son noyau pour ´viter l’ex´cution d’exploits utilisant e e des bogues de d´passement de buffer. Le patch OpenWall2 vous permet de e prot´ger votre noyau Linux. e 1 http ://www.securityfocus.com/search dans la rubrique ”Vulnerabilites” 2 librement t´l´chargeable sur www.openwall.com ee 28
  • 30. Chapitre 4 Les outils indispensables pour la protection 29
  • 31. Introduction Les firewalls, les tunnels et les IDS/NDIS sont des outils indispensables pour d´tecter, parer ou ´viter de nombreuses attaques. Nous les d´crirons e e e dans ce chapitre, ainsi que la mani`re de les utiliser de fa¸on optimale. e c 30
  • 32. 4.1 Le firewall La configuration d’un firewall peut s’av´rer ˆtre un sujet tr`s difficile ` e e e a traiter. Cette configuration est surtout ´tablie en fonction de vos besoins per- e sonnels. L’objectif de ce chapitre est de donner des conseils ` suivre pour bien utiliser a un firewall. Ensuite, nous nous int´resserons aux diff´rentes m´thodes d’at- e e e taques contre les firewalls. 4.1.1 La configuration Pour bien configurer son firewall, il suffit de bien respecter les conseils suivants : - Essayez de limiter l’acc`s ` votre r´seau ` des utilisateurs connus utilisant e a e a une adresse IP statique. Vous pourrez ainsi rejeter toutes les autres requˆtes e venant d’utilisateurs utilisant une adresse IP non autoris´e. Vous effectuez e de la sorte un filtrage au niveau IP. - Fermez tous les ports en ´coute sur les diff´rents serveurs et ouvrez seule- e e ment ceux dont vous avez besoin. - Filtrez ces ports, c’est ` dire rejetez toutes les autres requˆtes sur les autres a e ports que ceux en ´coute. e - Empˆchez toutes les connexions sortantes sur des services non autoris´s. e e Pour cela, il suffit de d´finir un nombre limit´ de services auxquels les ser- e e veurs et les clients peuvent acc´der (mail, ftp, web...). Ensuite, il faut confi- e gurer le firewall pour rejeter les connexions depuis l’int´rieur vers l’ext´rieur e e sur des services diff´rant de ceux d´finis. e e 4.1.2 Les attaques contre les firewalls La premi`re ´tape lors d’une attaque est de d´terminer les r`gles de fire- e e e e walling. Le but est simple : savoir quels ports ne sont pas filtr´s. e 31
  • 33. Avec le scan Nmap peut d´terminer quels ports sont ou ne sont pas filtr´s. e e Voici un exemple : [root@nowhere.net /root]# nmap 192.168.1.2 Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ ) Interesting ports on (192.168.1.2) : (The 1549 ports scanned but not shown below are in state : closed) Port State Service 21/tcp filtered ftp 22/tcp filtered ssh 111/tcp open sunrpc 515/tcp open printer 1024/tcp open kdm Nmap run completed – 1 IP address (1 host up) scanned in 1 second Les ports 21 (ftp) et 22 (ssh) sont filtr´s. e Comment s’en prot´ger ? e Prot´gez-vous contre le scanning (voir section 2.1). e Si le scan ne marche pas, d’autres m´thodes peuvent ˆtre utilis´s comme e e e le firewalking. Le firewalking Cette technique de d´voilement des r`gles de firewalling repose sur un e e unique champ de l’en-tˆte IP, le TTL (pour Time To Live), ce champ repr´sentant e e la dur´e de vie d’un paquet. Il est fix´ d`s son envoi par le syst`me d’exploi- e e e e tation et est diminu´ d’une unit´ ` chaque fois qu’il traverse un ´quipement e ea e assurant le routage ; quand ce champ est ´gal ` 0, le paquet disparaˆ e a ıt. Chaque passage d’un routeur ` un autre est appel´ un saut. a e C’est ce champ qui est utilis´ par le logiciel traceroute. Pour faire un ”tra- e ceroute”, le logiciel envoie un premier paquet UDP avec un TTL de 1 ; au premier routeur, le TTL est d´cr´ment´ ` 0. Le routeur renvoie donc un e e e a 32
  • 34. code d’erreur ”ICMP ttl-exceeded”, ce qui permet de r´cup´rer l’adresse du e e premier routeur. Ensuite traceroute va envoyer un deuxi`me paquet avec un e TTL de 2, il sera d´cr´ment´ au passage du premier routeur (TTL=1). Le e e e deuxi`me routeur va le recevoir et le d´cr´menter : le champ TTL sera de e e e nouveau ´gal ` 0. Le deuxi`me routeur renverra donc un message d’erreur : e a e on r´cup`re ainsi l’adresse du deuxi`me routeur. e e e Si il y a N sauts jusqu’au r´seau final, on r´it`re l’op´ration N fois. e e e e On peut utiliser cette technique avec diff´rents protocoles : UDP, TCP, ICMP. e Le firewalking repose sur cette technique pour d´terminer les r`gles de fi- e e 1 rewalling. Firewalk (le programme impl´mentant le firewalking) d´termine e e le nombre de routeurs entre la machine source et la machine cible (situ´e e derri`re le firewall). Ensuite, il envoie des paquets tests avec un TTL ´gal ` e e a ce nombre de routeurs + 1. Si le paquet est accept´, il traverse le firewall et e on obtient une r´ponse ; sinon il n’y a aucune r´ponse. e e Firewalk envoie diff´rents types de paquets (TCP, UDP) pour d´terminer les e e r`gles de firewalling. N´anmoins, de nombreux param`tres comme la conges- e e e tion du r´seau, le nombre de routeurs s´parant la cible et l’´metteur peuvent e e e fausser l’analyse de firewalk. 1 Disponible librement sur http ://www.packetfactory.net/ 33
  • 35. 4.2 Les NIDS Les outils les plus pratiques ! Ces utilitaires permettent de d´tecter une attaque et de vous en informer. Un e IDS (pour Intrusion Detection System) analyse tout ce qui se passe sur une station. Il d´tecte les outrepassements de droits (obtention du compte root e d’une mani`re suspecte) et d’autres types d’attaques, il contient une base de e donn´es sur diff´rentes vuln´rabilt´s. e e e e Les NIDS (Network Intrusion Detection System) travaillent de la mˆme e mani`re, mais sur les donn´es transitant sur le r´seau. Il peut d´tecter en e e e e temps r´el une attaque s’effectuant sur l’ une des vos machines. Il contient e une base de donn´es avec tous les codes malicieux et peut d´tecter leurs en- e e vois sur une des machines. Le NIDS travaille comme un sniffer (voir section 5.4), sauf qu’il analyse automatiquement les flux de donn´es pour d´tecter e e une attaque. Cette section pr´sentera deux NIDS : Snort et Prelude-NIDS. A noter que e ces outils sont distribu´s comme logiciel libre. Je ne rappellerai pas que le e logiciel libre a une avance consid´rable dans le domaine de la s´curit´ par e e e rapport ` ses concurrents ”propri´taires”. a e 4.2.1 Prelude Prelude-NIDS2 est un des d´tecteurs d’intrusions les plus connus. Prelude e est disponible et libre sur les plateformes Linux, FreeBSD et Windows. Prelude poss`de une achitecture modulaire et distribu´e. Modulaire, car ses e e composants sont ind´pendants, et peuvent ˆtre facilement mis ` jour. Dis- e e a tribu´e, car ces composants ind´pendants interagissent les uns avec les autres. e e Cela permet d’avoir divers composants install´s sur diff´rentes machines et e e de r´duire ainsi la surchage d’applications. e Ces diff´rents composants sont les sondes et les managers. Les sondes peuvent e ˆtre de deux types : r´seau ou local. Une sonde r´seau analyse tout le traffic, e e e pour y d´tecter d’´ventuelles signatures d’attaques. La sonde locale assure e e la surveillance d’une seule machine, il analyse le comportement du syst`mee pour y d´tecter des tentatives d’exploitation de vuln´rabilit´s internes. Les e e e 2 t´l´chargeable librement sur www.prelude-ids.org/ ee 34
  • 36. sondes signalent les tentatives d’attaques par des alertes. Ces alertes sont re¸u par le manager qui les interpr`te et les stocke. c e Pour une description compl`te de Prelude (installation, configuration et uti- e lisation) consultez ce document : http://lehmann.free.fr/PreludeInstall/InstallPrelude.html 4.2.2 Snort Snort3 est un NIDS lui aussi. Il n’est pas structur´ comme Prelude. Snort e est un programme ”monolithique”, il ne comporte pas de module comme Pre- lude, ce qui peut rendre son impl´mentation dans un r´seau un peu moins e e souple que Prelude. Snort fonctionne en trois modes (Sniffer, PacketLogger et NIDS). Les deux premiers modes ne sont pas int´ressants pour la d´tection e e d’intrusion. Le troisi`me mode permet lui d’analyser le trafic r´seau pour y e e d´tecter d’ ´ventuelles attaques. e e Pour une description compl`te de Snort (installation, configuration et uti- e lisation ) consultez ce site : http://www.snort.org/docs/ (en anglais). 3 t´l´chargeable librement sur www.snort.org ee 35
  • 37. 4.3 Le tunneling Nous allons d´crire dans cette section diff´rentes m´thodes pour s´curiser e e e e vos transactions, c’est-`-dire cr´er un VPN (Virtual Private Network). Un a e r´seau priv´ virtuel (VPN) est utilis´ pour ´tablir des communications s´curis´es e e e e e e en s’appuyant sur un r´seau existant non s´curis´. Le principal outil utilis´ e e e e pour la cr´ation de VPN est IPsec. e IPsec est facultatif sur IPv4 mais est obligatoire sur IPv6. IPsec a d’autres avantages que la s´curisation du trafic, il permet par exemple d’´conomiser e e la bande passante grˆce ` la compression des en-tˆtes des paquets. a a e IPsec fonctionne sous deux modes diff´rents : le mode transport et le mode e tunnel. Ces deux modes seront d´cris dans ce qui suit. e IPsec est compos´ de plusieurs protocoles diff´rents : AH, ESP, IPcomp et e e IKE. 4.3.1 Le protocole AH Le protocole AH (Authentification Header) permet de garantir l’authen- ticit´ des paquets ´chang´s en leur inscrivant une somme de contrˆle (de e e e o l’en-tˆte IP jusqu’` la fin du paquet) chiffr´e. e a e 4.3.2 Le protocole ESP Le protocole ESP (Encapsulating Security Payload) encrypte toutes les donn´es du paquet garantissant leur confidentialit´. e e 4.3.3 Le protocole IPcomp Le protocole IPcomp (IP payload compression) permet de compresser un paquet avant de le chiffrer avec ESP. 4.3.4 Le protocole IKE Le protocole IKE (Internet Key Exchange) est utilis´ pour l’´change des e e cl´s utilis´s pour l’encryptage. e e 36
  • 38. 4.3.5 Les deux modes de fonctionnements de IPsec AH, ESP et IPcomp fonctionnent dans le mode transport ou le mode tunnel. Le mode ”transport” encrypte directement les ´changes entre deux e machines. Le mode ”tunnel” encapsule les paquets encrypt´s dans de nou- e veaux en-tˆte IPv4/IPv6. Il est con¸u pour les passerelles VPN. e c 4.3.6 Les limitations d’IPsec IPsec pose quelques probl`mes dus ` son impl´mentation. Certains probl`mes e a e e apparaˆ ıssent au niveau des messages de broadcast et multicast. IPsec est dif- ficile ` filtrer sur les firewalls existants. Il est aussi impossible ` g´rer pour a a e les translations d’adresse (NAT). Documents Description g´n´rale des tunnels et impl´mentation sous Linux : e e e http://www.miscmag.com/articles/index.php3?page=315 http://www.securiteinfo.com/crypto/IPSec.shtml Description g´n´rale des tunnels et impl´mentation sous W indows c : e e e http://www.laboratoire-microsoft.org/articles/network/ipsec/ 37
  • 39. 4.4 Nessus Nessus est un outil de s´curit´ permettant de scanner une ou plusieurs e e machines. Il permet aussi de tester diff´rentes attaques pour savoir si une ou e plusieurs machines sont vuln´rables. e Il est tr`s utile lors de tests de p´n´tration (pen test) et fait gagner un e e e temps incroyable. Nessus se compose d’une partie serveur (qui contient une base de donn´es re- e groupant diff´rents types de vuln´rabilit´s) et une partie client. L’utilisateur e e e se connecte sur le serveur grˆce au client et apr`s authentification, il ordonne a e au serveur de proc´der aux tests d’une ou plusieurs machines. Le client re¸oit e c ensuite les r´sultats du test. e Nessus est disponible sous Linux et Windows, et il est enti`rement gratuit. e 4.4.1 Pour obtenir tout sur Nessus Pour t´l´charger les sources, binaires, ou diff´rents documents concernant ee e Nessus, consultez le site : http ://www.nessus.org 38
  • 40. 4.5 User Mode Linux - UML User Mode Linux est un dispositif permettant de lan¸er un ou plusieurs c noyau(x) linux dans l’espace utilisateur (comme un simple programme). En clair, il permet d’avoir plusieurs machines virtuelles sur une seule machine physique hˆte ex´cutant Linux. Les avantages sont nombreux : o e - Si une machine virtuelle plante, le syst`me hˆte n’est pas affect´. e o e - Un utilisateur sera root sur une machine virtuelle, mais pas sur le syst`me e hˆte. o - Il permet aussi de tester diff´rents param`tres noyaux sans se soucier des e e cons´quences. e User Mode Linux permet notamment de s’affranchir de chroot (pour, par exemple, la r´alisation de serveurs FTP) et de toutes ses failles de s´curit´. e e e Documents La page web de User Mode Linux : http://user-mode-linux.sourceforge.net Un autre lien int´ressant pour User Mode Linux et la s´curit´ : e e e http://www.rstack.org/oudot/20022003/7/7_rapport.pdf 39
  • 41. Chapitre 5 Surveillance - Dissimulation - Maintien d’acc`s e 40
  • 42. Introduction Nous pr´senterons de ce chapitre les programmes utilis´s par les pirates e e pour dissimuler, surveiller et maintenir leur acc`s sur un syst`me d’informa- e e tion. Nous pr´senterons les moyens de s’en prot´ger. e e 41
  • 43. 5.1 Les chevaux de Troie Le principe du cheval de Troie est facile ` comprendre. Un programme ou a un code malveillant est int´gr´ ` une application par ajout ou par modifica- e ea tion de son code. Ainsi lors de l’ex´cution de ce programme inoffensif, le bout e de code malveillant pourra ex´cuter des commandes sp´cifiques (r´cup´ration e e e e de fichiers de mot de passe, alt´ration du syst`me...) ` l’insu de l’utilisateur. e e a Comment s’en prot´ger ? e La plupart des antivirus peuvent d´tecter les chevaux de Troie. N´anmoins, e e comparer la signature num´rique accompagnant les fichiers (cela se fait par e un calcul reposant sur un algorithme de chiffrement appliqu´ ` l’ensemble du ea fichier) avec la sienne permet de savoir directement si l’on est infect´. e Il est aussi conseill´ de consulter les sites suivants pour v´rifier que vos pro- e e grammes ne contiennent pas de chevaux de Troie : CERT : http://www.cert.org (Le CERT (Computer Emergency Response Team) est un organisme s’occupant des probl`mes de s´curit´ sur Internet. Il e e e recense les diff´rents probl`mes de s´curit´ et publie des articles (advisories) e e e e pour les d´crire. e Bugtraq : http://citadelle.intrinsec.com/mailing/current/HTML/ml_ bugtraq/ 42
  • 44. 5.2 Les backdoors Les backdoors sont des acc`s cach´s sur un syst`me ou sur une appli- e e e cation. Le principe d’une backdoor est similaire ` celui du cheval de Troie. a L’objectif est de modifier ou d’utiliser un programme pour acc`der discre- e tement ` un ordinateur distant, modifier le comportement d’un programme, a devenir administrateur. 5.2.1 Les backdoors pr´sentes dans les logiciels. e Parfois, certains logiciels (messagerie, utilitaires syst`mes) peuvent conte- e nir des backdoors, c’est-`-dire que, pour certaines commandes suivies d’ar- a guments particuliers ou avec un mot de passe bien d´fini, le logiciel peut e avoir un comportement diff´rent (permettre ` l’utilisateur de devenir root, e a renvoyer un shell syst`me ` l’utilisateur...). e a Ces ”trappes” sont inclues directement dans le code du logiciel. Certains d´veloppeurs sont soucieux de poss´der un acc`s sur tous les syst`mes uti- e e e e lisant leurs logiciels. Par exemple, Ken Thompson, l’un des p`res d’UNIX, e avoue avoir modifi´ l’application /bin/login en permettant l’acc`s direct au e e syst`me par la saisie d’un mot de passe pr´compil´ en dur. Thompson pou- e e e vait ainsi visiter tous les syst`mes utilisant son application modifi´e. e e Parfois, certains pirates diffusent des applications infest´es de backdoors. e Comment s’en prot´ger ? e Il convient de t´l´charger ses applications sur le site du distributeur ou ee du programmeur. Utiliser des serveurs de t´l´chargement non li´s ` l’auteur ee e a de l’application peut se r´l´ver dangereux. ee Il est aussi recommand´ de v´rifier les checksums s’il sont donn´s par le e e e d´veloppeur. e Il est aussi bon de consulter des listes de diffusion comme bugtraq pour savoir si la version de logiciel que vous utilisez ne comporte pas de backdoors. 5.2.2 Les backdoors d´di´es aux connexions ` distance e e a Ces backdoors peuvent tr`s bien faire partie de la premi`re cat´gorie. e e e Comme il l’a ´t´ montr´, certains logiciels peuvent autoriser un acc`s pour ee e e 43
  • 45. un mot de passe particulier. Toutefois, ce paragraphe va se focaliser sur des applications en ´coute sur un port bien d´fini utilis´es par les pirates pour e e e obtenir un shell. Un logiciel pr´alablement install´ par le pirate est en attente e e de connexion sur un port discret. La plupart de ces programmes sont en ´coute sur des num´ros de ports ayant une valeur assez ´lev´e (sup´rieur ` e e e e e a 5000). Le pirate n’a plus qu’` se connecter sur ce programme pour r´cup´rer a e e son acc`s sur la machine. e Comment s’en proteger ? Nmap peut se r´l`ver ˆtre une aide pr´cieuse pour les d´busquer. Si, en ee e e e proc´dant au scan d’une machine, vous constatez qu’un port non autoris´ est e e en ´coute, il serait bon de v´rifier celui-ci. e e Les sites ` consulter : a CERT : http://www.cert.org (en anglais) Bugtraq : http://citadelle.intrinsec.com/mailing/current/HTML/ml_bugtraq/ (en anglais) http://www.bugtraq-france.com 44
  • 46. 5.3 Les Rootkits Le rootkit est un programme permettant d’automatiser la dissimulation et l’effacement des traces d’un pirate sur une machine. L’objectif d’un root- kit est de modifier les commandes permettant d’administrer le syst`me, de e cacher les ports ouverts par le pirate... Les premiers rootkits ´taient assez basiques, ils modifiaient juste les com- e mandes ls, ps, netstat... L’administrateur pouvait d´tecter ces modifications sur les logiciels concern´s. e e Alors une seconde g´n´ration de rootkits apparut. Il faut savoir que des com- e e mandes comme ps, ls ... font appels ` des bibliotheques partag´es pour fonc- a e tionner. Les nouveaux rootkits modifiaient donc le code de ces biblioth`ques e pour modifier le comportement de ces commandes ` l’avantage du pirate. a Encore une fois, ceci ´tait d´tectable. Donc une troisi`me g´neration de root- e e e e kits est n´e afin de modifier directement le comportement du noyau, par le e biais de modules charg´s en m´moire (LKM). C’est ` l’heure actuelle la der- e e a niere g´n´ration. e e Diff´rents rootkits sont disponibles sur Linux. e Je ne donnerai (volontairement) pas dans cette partie une description compl`te e de l’utilisation des rootkits. Cela n’a aucun interˆt pour ce guide. e La plupart des rootkits utilisent le principe des backdoors (voir section 5.2) pour permettre au pirate de se connecter selon son envie sur un syst`me. e Comment s’en prot´ger ? e 1) Les checksums. Une base de donn´es de checksums sur les diff´rents fichiers syst`me peut e e e d´j` constituer une bonne parade. Je vous conseille d’effectuer des check- ea sums a la fin d’une installation sur les diff´rents fichiers comme ls, ps, stat ` e ifconfig ... et sur les diff´rentes biblioth`ques partag´es. e e e Cette base de donn´e devrait ˆtre stock´e sur un CDROM ou tout autre e e e support non r´inscriptible. e 45
  • 47. 2) Compiler les programmes vitaux en statique Comme je l’ai dit pr´c´demment, certaines commandes font appels ` des e e a librairies partag´es et des utilitaires comme ”md5sum” (qui sert ` faire des e a checksums) sous Linux font appels ` des librairies partag´es. D’o` son com- a e u portement pourrait ˆtre modifi´ indirectement par un rootkit attaquant les e e librairies partag´es. Pour ´viter ce genre de d´sagr´ement, compilez une par- e e e e tie des programmes vitaux en statique, ainsi vous disposerez d’une trousse de secours en cas d’infection par rootkits. Bien sˆr, pour compiler les programmes vitaux en statique, faut-il encore u disposer d’un OS qui permette d’acc´der aux sources de ces programmes vi- e taux... 3) Chkrootkit Chkrootkit (pour CHecK ROOTKIT) vous permet de d´tecter la pr´sence e e d’un rootkit, il fonctionne sous Linux (FreeBsd...) et est t´l´chargeable libre- ee ment sur www.chkrootkit.org/. 4) Compilez votre noyau en statique. Vous ´viterez ainsi le chargement de e modules externes. 46
  • 48. 5.4 L’interception des mots de passe en r´seau. e Une autre technique utilis´e pour collecter des informations (mots de e passe par exemple) est l’utilisation d’un sniffer. Le sniffer place la carte r´seau e dans le mode transparent (promiscious), ce qui veut dire que la carte inter- cepte tous les paquets sur le segment r´seau, mˆme ceux qui ne lui sont pas e e destin´s. e Plusieurs types de sniffers existent ; certains affichent les donn´es intercept´es e e 1 brutes comme Tcpdump , ce qui donne lieu ` des fichiers de log tr`s volu- a e mineux. D’autres sniffers permettent de r´cup´rer les mots de passe en les e e affichant directement ` l’´cran associ´ avec le login, l’adresse du client et celle a e e du serveur (comme dsniff2 ). Ethereal3 permet par exemple d’afficher toutes les transactions ayant cours sur le r´seau. e Cependant, le sniffer reste un outil puissant pour la d´tection d’intrusion e car, premi`rement, il garde une trace de tous les ´changes ayant cours sur le e e r´seau. Deuxi`ment, il se r´v`le tr`s utile pour d´masquer un scan (un grand e e e e e e nombre de paquets envoy´s d’un seul coup), de tracer l’adresse d’un pirate, e de voir si des commandes particuli`res sont demand´es sur le reseau. e e La plupart des rootkits contiennent un programme pour sniffer. Les NDIS utilisent un sniffer pour analyser les transactions r´seau. e Comment s’en prot´ger ? e L`, c’est tr`s difficile. Un sniffer est passif, il n’envoie aucun paquet, il a e ne fait qu’intercepter. Mais la carte r´seau ´tant en mode transparent, son e e comportement s’en trouve chang´, son temps et sa fa¸on de r´pondre ` cer- e c e a tains paquets sont modifi´s. On peut d´tecter la pr´sence d’un sniffer grˆce ` e e e a a 4 ce changement de comportement. Le programme AntiSniff de Lopht Heavy Industries peut envoyer des paquets ”tests” et en d´duire si la carte est en e mode transparent donc susceptible de sniffer. 1 disponible sur www.tcpdump.org 2 disponible sur www.packetstormsecurity.org 3 disponible sur www.packetstormsecurity.org 4 disponible sur windowsN T c et Linux ` l’adresse http ://packetstormsecu- a rity.nl/sniffers/antisniff/ 47
  • 49. Une deuxi`me parade pour d´jouer le sniffing est de ”tunneler” toutes les e e transactions. Cela veut dire encrypter toutes les transactions r´seaux. Utili- e ser IpvSec ou des VPN, ssh sur votre r´seau s’av`re ˆtre une d´fense efficace e e e e contre le sniffing. L’utilisation de tunnels est trait´e dans la section 4.3. e 48
  • 51. Introduction Les dispositifs destructeurs sont utilis´s pour paralyser, saturer ou d´truire e e un syst`me d’information. Ils constituent l’esp`ce la plus nuisible dans le do- e e maine de la s´curit´ car ils peuvent ˆtre la source de perte de donn´es. Le e e e e but de ce chapitre est d’expliquer leurs fonctionnements et la fa¸on de les c combattre. 50
  • 52. 6.1 Le virus Le virus est un programme dont le seul but est de consommer ou de pa- ralyser des ressources syst`me. Le virus s’autoduplique pour mieux infecter e le syst`me, il se propage en infectant tour ` tour les fichiers. Les effets d’une e a contamination varient : fichiers effac´s, disque dur format´, saturation des e e disques, modification du MBR... La grande majorit´ d’entre eux existent sur les plates-formes M icrosof t c , e ils infectent en particulier les fichiers COM ou EXE. De plus, de nouvelles formes sont apparues comme les macro-virus qui attaquent les fichiers de donn´es (word ou excel). e Les syst`mes UNIX ne sont pas ´pargn´s ! Les administrateurs UNIX doivent e e e faire face ` des virus comme Winux. N´anmoins, la gestion des droits sous a e UNIX se r´v`le ˆtre un facteur limitant pour la propagation de virus. e e e Les virus sont de plus en plus ´volu´s, ils peuvent s’automodifier pour ´chapper e e e a ` une ´ventuelle d´tection (virus polymorphes). D’autres types peuvent ten- e e ter de leurrer le syst`me en s’installant dans des secteurs d´fecteux ou non e e utilis´s (virus furtifs) ... e Comment s’en prot´ger ? e Les anti-virus commerciaux comme Norton Antivirus ou McAfee VirusS- can sont de bons outils pour traquer les virus. Toutefois, il convient de les mettre r´guli`rement ` jour pour profiter pleinement de leurs capacit´s. e e a e Il est aussi important de suivre l’´volution et l’apparition de nouveaux vi- e rus ; pour cela, consulter les sites (ainsi que pour tous les autres dispositifs destructeurs d´crits dans ce chapitre) : e CERT : www.cert.org (en anglais) Le site du CNRS : http://www.services.cnrs.fr/wws/info/sos-virus http://www.cnrs.fr/Infosecu/Virus.html 51
  • 53. 6.2 Les vers Les vers sont du mˆme acabit que les virus, sauf qu’ils n’utilisent pas e n´cessairement un fichier pour se propager. Ils sont aussi capables de se e dupliquer et de se d´placer au travers d’un r´seau informatique. Les vers e e utilisent diff´rents supports pour se propager. e Les vers simples utiliseront des failles propres ` certains logiciels (exemple a du ver de Morris en 1988 qui paralysa une grande partie de l’Internet). Les macro-vers utiliseront les pi`ces jointes contenant des documents bu- e reautiques infect´s (exemple du ver Nimda). e Les vers d’email sont contenus dans une pi`ce jointe comprenant un code e malicieux ex´cut´ automatiquement par le logiciel de courrier ´lectronique e e e ou manuellement par l’utilisateur. Comment s’en prot´ger ? e Comme pour les virus, l’antivirus se r´v`le ˆtre une parade efficace. e e e Consultez les listes cit´es dans la section 6.1. e 52
  • 54. 6.3 Les bombes logiques Les bombes logiques sont aussi n´fastes que les virus ou les vers et sont e la cause de d´gats similaires. La diff´rence est que la bombe logique a besoin e e d’un d´tonateur pour s’activer, c’est-`-dire qu’elle attend une date ou une e a action bien pr´cise de l’utilisateur pour exploser. e Comment s’en prot´ger ? e Utilisez un anti-virus performant (Mc Afee, Norton ...) r´guli`rement mis e e a ` jour. Consultez les sites d´crits dans la section 6.1. e 53
  • 55. 6.4 Les attaques par d´ni de services e Ce type d’attaques est la plus ´nervante qui soit. Elles ont pour but de e saturer le r´seau ou le syst`me. e e 6.4.1 Le SYN flood Cette technique consiste ` saturer un serveur en envoyant une multi- a tude de paquets TCP avec le flag SYN arm´, cela aura pour but de cr´er une e e multitude de connexions demandant un grand nombre de ressources syst`me. e La plupart des attaques par SYN-flood sont bien d´tect´es par diff´rents e e e firewalls. Comment s’en prot´ger ? e Exemple avec iptables [root@nowhere /root]# iptables -A FORWARD -p tcp –syn - m limit –limit 1/s -j ACCEPT (Pour plus de details sur cette commande, je vous conseille de lire, le docu- ment ”Packet Filtering HOWTO : Using iptables” (Chapitre 7.3) de Rusty Wagner) 6.4.2 L’UDP Flood De la mˆme mani`re que pour le SYN flooding, l’attaquant envoie un e e grand nombre de requˆtes UDP sur une machine. Le trafic UDP ´tant prio- e e ritaire sur le trafic TCP, ce type d’attaque peut vite troubler et saturer le trafic transitant sur le r´seau. e La plus c´l`bre attaque utilisant l’UDP-flooding est le ”Chargen Denial of ee Service Attack”. Un pirate envoie une requˆte sur le port echo d’une machine e A indiquant comme port source celui du port chargen d’une machine B. Le service chargen de la machine B renvoie un caract`re sur le port echo de la e machine A. Ensuite le service echo de A renvoie ce caract`re sur chargen. e chargen le re¸oit, en ajoute un autre et les renvoie sur le port echo de A qui c les renvoient ` son tour sur chargen ... et cela continue jusqu’` la saturation a a de la bande passante. 54
  • 56. Comment s’en prot´ger ? e Il est conseill´ de d´sactiver les services chargen et echo. e e Si vous ne voulez pas d´sactiver chargen et echo, configurez votre firewall e pour ´viter le ”Chargen Denial of Service Attack” en limitant le traffic UDP : e [root@nowhere /root]# iptables -A FORWARD -p udp -m limit –limit 1/s -j ACCEPT 6.4.3 Fragmentation de paquets Plus connu sous le nom de ”Teardrop Attack”, ”Bonk” ou encore ”Boink”, cette attaque utilise une faille propre ` certaines piles TCP/IP. Cette vuln´rabilit´ a e e concerne la gestion de la fragmentation IP. Ce probl`me apparaˆ lorsque la pile re¸oit le deuxi`me fragment d’un paquet e ıt c e TCP contenant comme donn´e le premier fragment. La pile TCP/IP peut e s’av´rer incapable de g´rer cette exception et le reste du traffic. e e Cette faille est tr`s connue sur les piles de W indows95et98 c . e 6.4.4 Ping of death Le principe est d’envoyer un paquet ICMP avec une quantit´ de donn´es e e sup´rieure ` la taille maximale d’un paquet IP . Encore une fois, la pile peut e a s’av´rer incapable de g´rer cette exception et le reste du traffic. e e 6.4.5 Attaque par r´flexion : Smurfing e Cette attaque est bas´e sur le protocole ICMP. Lorsqu’on envoie un ping e a ` un r´seau en broadcast (par exemple 255.255.255.0), le paquet est envoy´ e e a ` chacune des machines du r´seau. e Un pirate envoie un ping en broadcast sur un r´seau (A) avec une adresse e IP source correspondant ` celle de la machine cible (B). Le flux entre le port a ping de la cible (B) et du r´seau (A) sera mulitpli´ par le nombre de machines e e sur le r´seau (A). e Cela conduit ` une saturation de la bande passante du r´seau (A) et du a e syst`me de traitement de paquets de (B). e 55
  • 57. Comment s’en prot´ger ? e Configurez votre firewall pour limiter le traffic ICMP. [root@nowhere /root]# iptables -A FORWARD -p icmp – icmp-type echo- request -m limit –limit 1/s -j ACCEPT (Pour plus de d´tails sur cette commande, je vous conseille de lire, le e document ”Packet Filtering HOWTO : Using iptables” (Chapitre 7.3) de Rusty Wagner) 6.4.6 D´nis de services distribu´s e e Plusieurs types d’attaques sont lanc´es en parall`le ` partir de plusieurs e e a sources. 6.4.7 Bombes e-mail Le ”mail-bombing” consiste ` envoyer de gros ou de nombreux fichiers ` a a un utilisateur pour saturer sa boˆ de r´ception de courrier ´lectronique. ıte e e Comment s’en prot´ger ? e La plupart des logiciels de contrˆle de contenu assure un filtrage du cour- o rier pour d´tecter ce type d’attaque e 56
  • 58. Chapitre 7 S´curisation des mots de passe e 57
  • 59. Introduction Le but de ce chapitre est de donner au lecteur toutes les informations n´cessaires sur les techniques utilis´es pour tester la r´sistance des protec- e e e tions par mot de passe. Il faut savoir que les mots de passe utilis´s sur un syst`me d’information sont e e encrypt´s pour garantir leur confidentialit´. Ces mots de passe encrypt´s sont e e e stock´s dans des listes de mots de passe sur des fichiers syst`mes pr´d´finis. e e e e Un pirate peut fort bien r´cup´rer ces listes et tester la fiabilit´ des mots e e e de passe. Il utilise pour cela l’outil ad´quat : un perceur de mot de passe. e La plupart des algorithmes d’encryptage repose sur l’utilisation de fonctions a ` sens unique. Ceci veut simplement dire qu’il est impossible de d´crypter le e mot de passe ` partir sa forme encrypt´e. L’attaque consiste alors ` encrypter a e a diff´rentes combinaisons de caract`res et de comparer cette forme encrypt´e e e e a ` celle du mot de passe voulu. Si les deux chaˆ ınes correspondent, alors la suite de caract`res est celle du mot de passe. e Il y a deux types d’attaques pour le craquage de mots de passe qui seront d´finies dans ce chapitre. e 58