Annotation of embedaddon/hping2/docs/french/SPOOFED_SCAN.txt, revision 1.1.1.1

1.1       misho       1: Ce qui suit est le postage original (ndt : du moins sa traduction) à bugtraq
                      2: à propos de la méthode de scan usurpée/passive/indirecte. Voir le fichier
                      3: HPING2-HOWTO pour plus d'informations.
                      4: 
                      5: antirez
                      6: 
                      7: ---
                      8: 
                      9:   Salut,
                     10: 
                     11:         J'ai découvert une nouvelle méthode de scan de ports TCP.  Au
                     12:         contraire de toutes les autres elle vous permet de scanner en
                     13:         utilisant des paquets usurpés (ndt : dont l'adresse IP source est
                     14:         usurpée), ainsi les systèmes scannés ne peuvent pas voir votre
                     15:         adresse réelle. Afin de réaliser cela j'utilise trois particularités
                     16:         bien connues des mises en oeuvre TCP/IP de la plupart des OS.
                     17: 
                     18:           (1) * les systèmes répondent SYN|ACK à SYN si le port TCP cible
                     19:             est ouvert, et RST|ACK si le port TCP cible est fermé.
                     20: 
                     21:           (2) * Vous pouvez connaître le nombre de paquets que les systèmes
                     22:             envoient en utilisant le champ id de l'entête IP. Voir mes
                     23:             précédents postages 'à propos de l'entête IP' dans cette mailing
                     24:             liste.
                     25: 
                     26:           (3) * les systèmes répondent RST à SYN|ACK, ne répondent rien à
                     27:             RST.
                     28: 
                     29: 
                     30:         Les joueurs:
                     31: 
                     32:           système A - le système malfaisant, l'attaquant.
                     33:           système B - le système silencieux.
                     34:           système C - le système victime.
                     35: 
                     36:         A est votre système.
                     37:         B est un système particulier : il ne doit envoyer aucun paquet
                     38:          pendant que vous scannez C. Il y a énormément de systèmes à 'trafic
                     39:          nul' sur Internet, spécialement la nuit :)
                     40:         C est la victime, il doit être vulnérable aux scans SYN.
                     41: 
                     42:         J'ai appelé cette méthode de scan 'scan du système muet' (ndt :
                     43:         l'autre traduction de 'dumb' est bête) en référence aux
                     44:         caractéristiques du système B.
                     45: 
                     46: 
                     47:         Comment elle fonctionne :
                     48: 
                     49:         Le système A surveille le nombre de paquets sortants depuis B en
                     50:         utilisant le champ id de l'entête IP. Vous pouvez faire ceci
                     51:         simplement en utilisant hping :
                     52: 
                     53: #hping B -r
                     54: HPING B (eth0 xxx.yyy.zzz.jjj): no flags are set, 40 data bytes
                     55: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=0 ttl=64 id=41660 win=0 time=1.2 ms
                     56: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=1 ttl=64 id=+1 win=0 time=75 ms
                     57: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=2 ttl=64 id=+1 win=0 time=91 ms
                     58: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=3 ttl=64 id=+1 win=0 time=90 ms
                     59: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=4 ttl=64 id=+1 win=0 time=91 ms
                     60: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=5 ttl=64 id=+1 win=0 time=87 ms
                     61: -cut-
                     62: ..
                     63: .
                     64: 
                     65:         Comme vous pouvez le voir, les incréments du champ id sont toujours
                     66:         de 1. Ainsi ce système a la caractéristique requise pour jouer le
                     67:         rôle de B.
                     68: 
                     69:         Maintenant le système A envoie des paquets SYN au port X de C en
                     70:         usurpant l'adresse source de B.
                     71:         (avec hping => 0.67 c'est très facile, http://www.kyuzz.org/antirez)
                     72:         si le port X de C est ouvert, le système C enverra SYN|ACK à B (oui,
                     73:         le système C ne sait pas que le véritable expéditeur est A). Dans ce
                     74:         cas le système B répond au SYN|ACK avec un RST.
                     75:         Si nous envoyons au système C quelques paquets SYN il répondra à B
                     76:         quelques paquet SYN|ACK, ainsi B répondra à C quelques RST... ainsi
                     77:         nous verrons que le système B est en train d'envoyer des paquets !
                     78: 
                     79: .
                     80: ..
                     81: -cut-
                     82: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=17 ttl=64 id=+1 win=0 time=96 ms
                     83: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=18 ttl=64 id=+1 win=0 time=80 ms
                     84: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=19 ttl=64 id=+2 win=0 time=83 ms
                     85: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=20 ttl=64 id=+3 win=0 time=94 ms
                     86: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=21 ttl=64 id=+1 win=0 time=92 ms
                     87: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=22 ttl=64 id=+2 win=0 time=82 ms
                     88: -cut-
                     89: ..
                     90: .
                     91: 
                     92:         Le port est ouvert !
                     93: 
                     94:         Par contre, si le port X de C est fermé alors en envoyant à C
                     95:         quelques paquets SYN avec l'adresse usurpée de B, il répondra avec
                     96:         des paquets RST à B, et B ne répondra pas (voir 3). Ainsi nous
                     97:         verrons que le système B n'est en train d'envoyer aucun paquet :
                     98: 
                     99: .
                    100: ..
                    101: -cut-
                    102: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=52 ttl=64 id=+1 win=0 time=85 ms
                    103: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=53 ttl=64 id=+1 win=0 time=83 ms
                    104: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=54 ttl=64 id=+1 win=0 time=93 ms
                    105: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=55 ttl=64 id=+1 win=0 time=74 ms
                    106: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=56 ttl=64 id=+1 win=0 time=95 ms
                    107: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=57 ttl=64 id=+1 win=0 time=81 ms
                    108: -cut-
                    109: ..
                    110: .
                    111: 
                    112:         Le port est fermé.
                    113: 
                    114:         Tout ceci peut paraître compliqué à réaliser, mais utiliser deux
                    115:         sessions de hping dans des consoles virtuelles Linux ou sous X rend
                    116:         cela plus simple.
                    117:         La première session surveille le système B : hping B -r
                    118:         La seconde session envoie des paquets SYN spoofés : hping C -a B -S
                    119: 
                    120:         Désolé si mon anglais n'est pas clair.
                    121:         Cependant ce postage n'est pas adéquat pour décrire exhaustivement
                    122:         cette méthode de scan, ainsi je vais écrire un article à ce sujet,
                    123:         en particulier comment mettre en oeuvre ceci dans un scanner de
                    124:         ports (i.e.  nmap), et à propos des caractéristiques des joueurs et
                    125:         des OS utilisés.
                    126: 
                    127: bonne nouvelle année,
                    128: antirez

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>