Annotation of embedaddon/hping2/docs/french/HPING2-HOWTO.txt, revision 1.1
1.1 ! misho 1: N.B. : ce HOWTO n'est pas terminé, et par endroits très bête. Je laisse cela
! 2: ici seulement parce que peut être que c'est mieux que rien.
! 3:
! 4: HPING2 HOWTO
! 5:
! 6: Changes Log
! 7: -----------
! 8: Aug 7 1999 vi HPING2-HOWTO.txt
! 9: Aug 8 1999 __0000, __0001, __0002, __0003
! 10: Aug 10 1999 __0004
! 11:
! 12: Index
! 13: -----
! 14: [cherchez __XXXX afin de sauter au point que vous souhaitez]
! 15:
! 16: __0000: Avis de copyright
! 17: __0001: Qu'est ce que hping ?
! 18: __0002: Qu'est ce que j'ai besoin de connaître de TCP/IP pour
! 19: utiliser hping ?
! 20: __0003: Premiers pas avec hping
! 21: __0004: Le champ IP id et comment scanner des ports TCP en utilisant
! 22: de l'usurpation d'adresse.
! 23: __0005: Comment tester des règles de filtrage. (A faire)
! 24: __0006: Comment transférer des fichier au travers de firewalls. (A
! 25: faire)
! 26:
! 27: __000A: Exemple d'utilisation de hping (A faire)
! 28:
! 29: __0000: Avis de copyright, Licence, et tout ce genre de choses
! 30:
! 31: Copyright (C) Salvatore Sanfilippo, 1999.
! 32:
! 33: La permission est accordée de faire et distribuer des copies de ce manuel
! 34: à condition que l'avis de copyright et cet avis de permission soient
! 35: préservés sur toutes les copies.
! 36:
! 37: Permission est accordée de copier et distribuer des versions modifiées de
! 38: ce manuel sous les conditions de copie verbatim, à condition que le
! 39: travail dérivé soit distribué sous les termes d'un avis de permission
! 40: identique à celui-ci. Les traductions tombent dans la catégorie des
! 41: ''versions modifiées.''
! 42:
! 43: Garantie : Aucune.
! 44:
! 45: Recommandations : les redistributions commerciales sont autorisées et
! 46: encouragées; cependant, il est fortement recommandé que le redistributeur
! 47: contacte l'auteur avant redistribution, dans l'intérêt de garder les
! 48: choses à jour (vous pouvez m'envoyer une copie de ce que vous faites
! 49: pendant que vous y êtes). Les traducteurs sont également encouragés à
! 50: contacter l'auteur avant traduction. Le version imprimée aura plus
! 51: d'allure.
! 52: Recyclez.
! 53:
! 54: __0001 : Qu'est ce que hping ?
! 55:
! 56: Hping est un logiciel pour tester des piles TCP/IP, pour découvrir des
! 57: politiques de firewalls, pour scanner les ports TCP de nombreuses manières
! 58: différentes, pour transférer les fichiers au travers de firewalls et
! 59: beaucoup d'autres choses. En utilisant hping vous pouvez même faire
! 60: beaucoup de choses qui ne concernent pas la sécurité. Par exemples vous
! 61: pouvez tester les performances réseau, vérifier si un système tourne,
! 62: vérifier si le champ TOS est géré, etc.
! 63:
! 64: __0002 : Qu'est ce que j'ai besoin de connaître de TCP/IP pour utiliser
! 65: hping ?
! 66:
! 67: Si vous connaissez TCP/IP vous trouverez hping très utile, sinon vous
! 68: pouvez utiliser hping seulement pour faire des tests connus. Voir __000A
! 69: pour quelques exemples.
! 70:
! 71: __0003 : Premiers pas avec hping
! 72:
! 73: La plus simple utilisation de hping est la suivante :
! 74:
! 75: #hping host
! 76:
! 77: Cette commande envoie un paquet TCP sans drapeau au port 0 du système
! 78: cible chaque seconde et montre les réponses du système. Par exemple :
! 79:
! 80: # hping www.debian.org
! 81: ppp0 default routing interface selected (according to /proc)
! 82: HPING www.debian.org (ppp0 209.81.8.242): NO FLAGS are set, 40 headers + 0 data bytes
! 83: 40 bytes from 209.81.8.242: flags=RA seq=0 ttl=243 id=63667 win=0 time=369.4 ms
! 84: 40 bytes from 209.81.8.242: flags=RA seq=1 ttl=243 id=63719 win=0 time=420.0 ms
! 85: 40 bytes from 209.81.8.242: flags=RA seq=2 ttl=243 id=63763 win=0 time=350.0 ms
! 86: [Ctrl+C]
! 87: --- www.debian.org hping statistic ---
! 88: 3 packets tramitted, 3 packets received, 0% packet loss
! 89:
! 90: Comme vous pouvez le voir le système répond avec un paquet TCP avec les
! 91: drapeaux RST et ACK positionnés. Ainsi vous êtes capable d'effectuer un
! 92: 'ping TCP', utile quand ICMP est filtré. Par défaut le port 0 est utilisé
! 93: parce qu'il serait étrange qu'il soit à l'état LISTEN (ndt : en écoute).
! 94: Si nous envoyons un paquet TCP sans drapeau à un port à l'état LISTEN, de
! 95: nombreuses piles TCP/IP ne renverront pas de réponse. Ainsi nous sommes
! 96: capables de savoir si un port est dans l'état LISTEN. Par exemple :
! 97:
! 98: # hping www.debian.org -p 80
! 99: ppp0 default routing interface selected (according to /proc)
! 100: HPING www.debian.org (ppp0 209.81.8.242): NO FLAGS are set, 40 headers + 0 data bytes
! 101: [Ctrl+C]
! 102: --- www.debian.org hping statistic ---
! 103: 5 packets trasmitted, 0 packets received, 100% packet loss
! 104:
! 105: Puisque le port 80 de www.debian.org est en mode LISTEN nous n'obtenons
! 106: aucune réponse.
! 107:
! 108: Mais qu'arrive-t-il si nous essayons de 'hpinger' un port bloqué par un
! 109: firewall ? Cela dépend de la politique / configuration du firewall.
! 110: Habituellement nous obtenons un paquet ICMP ou rien. Par exemple :
! 111:
! 112: # hping www.yahoo.com -p 79
! 113: ppp0 default routing interface selected (according to /proc)
! 114: HPING www.yahoo.com (ppp0 204.71.200.67): NO FLAGS are set, 40 headers + 0 data bytes
! 115: ICMP Packet filtered from 206.132.254.41 (pos1-0-2488M.hr8.SNV.globalcenter.net)
! 116:
! 117: --- www.yahoo.com hping statistic ---
! 118: 14 packets tramitted, 0 packets received, 100% packet loss
! 119:
! 120: Le firewall de yahoo ne permet pas de connexion sur le port 79, donc il
! 121: répond avec un paquet ICMP Packet filtered (ICMP unreachable code 13).
! 122: Cependant il y a beaucoup de firewalls qui ignorent simplement le paquet.
! 123: Par exemple :
! 124:
! 125: # hping www.microsoft.com -p 79
! 126: ppp0 default routing interface selected (according to /proc)
! 127: HPING www.microsoft.com (ppp0 207.46.130.150): NO FLAGS are set, 40 headers + 0 data bytes
! 128:
! 129: --- www.microsoft.com hping statistic ---
! 130: 4 packets tramitted, 0 packets received, 100% packet loss
! 131:
! 132: Aucune réponse de microsoft. Est-ce que le port est bloqué ou en mode
! 133: LISTEN ? Découvrir cela est très simple. Nous essayons juste de mettre le
! 134: drapeau ACK au lieu d'envoyer un paquet TCP sans drapeau. Si le système
! 135: répond, peut-être que ce port est en mode LISTEN (mais il est possible
! 136: qu'il y ait une règle qui refuse les paquets TCP sans drapeau mais
! 137: autorise les paquets ACK).
! 138:
! 139: # hping www.microsoft.com -A -p 79
! 140: ppp0 default routing interface selected (according to /proc)
! 141: HPING www.microsoft.com (ppp0 207.46.130.149): A set, 40 headers + 0 data bytes
! 142:
! 143: --- www.microsoft.com hping statistic ---
! 144: 3 packets tramitted, 0 packets received, 100% packet loss
! 145:
! 146: Toujours pas de réponse, ainsi ce port semble être filtré. Quoi qu'il en
! 147: soit, il est possible que microsoft utilise un firewall 'intelligent' qui
! 148: sait que pour me connecter je dois d'abord envoyer un paquet SYN.
! 149:
! 150: # hping www.microsoft.com -S -p 79
! 151: ppp0 default routing interface selected (according to /proc)
! 152: HPING www.microsoft.com (ppp0 207.46.130.149): S set, 40 headers + 0 data bytes
! 153:
! 154: --- www.microsoft.com hping statistic ---
! 155: 3 packets tramitted, 0 packets received, 100% packet loss
! 156:
! 157: Ok.. il semble que le port 79 de microsoft est réellement filtré.
! 158: Pour clarification nous envoyons quelques paquets ACK au port 80 de
! 159: www.debian.org :
! 160:
! 161: # hping www.debian.org -p 80 -A
! 162: ppp0 default routing interface selected (according to /proc)
! 163: HPING www.debian.org (ppp0 209.81.8.242): A set, 40 headers + 0 data bytes
! 164: 40 bytes from 209.81.8.242: flags=R seq=0 ttl=243 id=5590 win=0 time=379.5 ms
! 165: 40 bytes from 209.81.8.242: flags=R seq=1 ttl=243 id=5638 win=0 time=370.0 ms
! 166: 40 bytes from 209.81.8.242: flags=R seq=2 ttl=243 id=5667 win=0 time=360.0 ms
! 167:
! 168: --- www.debian.org hping statistic ---
! 169: 3 packets tramitted, 3 packets received, 0% packet loss
! 170:
! 171: Nous pouvons voir les réponses même si le port 80 est en mode LISTEN parce
! 172: qu'un port en mode LISTEN ne devrait pas répondre à des paquets TCP avec
! 173: seulement un drapeau NULL, FIN, Xmas, ou Ymas. ACK et RST sont deux
! 174: drapeaux TCP importants qui permettent de tester des ACL (ndt : listes de
! 175: contrôle d'accès) et de deviner le champ ip->id en ne laissant pas de
! 176: trace dans les journaux (généralement).
! 177:
! 178: __0004 : Le champ IP id et comment scanner des ports TCP en utilisant de
! 179: l'usurpation d'adresse.
! 180:
! 181: Chaque paquet IP est identifié par un champ id de 16 bits. Grâce à ce
! 182: champ id les piles IP sont capables de gérer la fragmentation. De nombreux
! 183: OS traitent ip->id trivialement : incrémenter ce champ de 1 champ pour
! 184: chaque paquet envoyé. En utilisant ce champ id vous êtes au minimum
! 185: capable d'estimer le trafic et de scanner en usurpant l'adresse source.
! 186: OpenBSD >= 2.5 et beaucoup d'autres mettent en oeuvre un champ id
! 187: aléatoire non répétitif ainsi vous ne pouvez pas jouer avec le champ
! 188: ip->id. Le champ ip->id des systèmes Windows n'est pas positionné dans le
! 189: même ordre (ndt : dans le bon ordre), donc vous devez spécifier l'option
! 190: --winid ou -W si vous utilisez hping2 contre un système Windows.
! 191:
! 192: N.B. : Vous êtes capable de scanner un système avec un champ ip->id
! 193: sûre/aléatoire parce que pour spoofer vos paquets vous avez besoin
! 194: d'un système tiers avec un champ id incrémental, mais vous n'avez
! 195: pas besoin que la cible de votre scan ait un champ id incrémental.
! 196:
! 197: Comment estimer le trafic d'un système en utilisant le champ ip->id ?
! 198: C'est vraiment très simple :
! 199:
! 200: # hping www.yahoo.com -p 80 -A
! 201: ppp0 default routing interface selected (according to /proc)
! 202: HPING www.yahoo.com (ppp0 204.71.200.74): A set, 40 headers + 0 data bytes
! 203: 40 bytes from 204.71.200.74: flags=R seq=0 ttl=53 id=29607 win=0 rtt=329.4 ms
! 204: 40 bytes from 204.71.200.74: flags=R seq=1 ttl=53 id=31549 win=0 rtt=390.0 ms
! 205: 40 bytes from 204.71.200.74: flags=R seq=2 ttl=53 id=33432 win=0 rtt=390.0 ms
! 206: 40 bytes from 204.71.200.74: flags=R seq=3 ttl=53 id=35368 win=0 rtt=380.0 ms
! 207: 40 bytes from 204.71.200.74: flags=R seq=4 ttl=53 id=37335 win=0 rtt=390.0 ms
! 208: 40 bytes from 204.71.200.74: flags=R seq=5 ttl=53 id=39157 win=0 rtt=380.0 ms
! 209: 40 bytes from 204.71.200.74: flags=R seq=6 ttl=53 id=41118 win=0 rtt=370.0 ms
! 210: 40 bytes from 204.71.200.74: flags=R seq=7 ttl=53 id=43330 win=0 rtt=390.0 ms
! 211:
! 212: --- www.yahoo.com hping statistic ---
! 213: 8 packets tramitted, 8 packets received, 0% packet loss
! 214: round-trip min/avg/max = 329.4/377.4/390.0 ms
! 215:
! 216: Comme vous pouvez le voir le champ id augmente. Le paquet avec le numéro
! 217: de séquence 0 possède un champ id égal à 29607, le numéro 1 à 31549, ainsi
! 218: le système www.yahoo.com a envoyé 31549-29607 = 1942 paquets en environ
! 219: une seconde. En utilisant l'option -r ou --relid, hping affiche le delta
! 220: entre les champs id des deux derniers paquets reçus.
! 221:
! 222: # hping www.yahoo.com -P 80 -A -r
! 223: ppp0 default routing interface selected (according to /proc)
! 224: HPING www.yahoo.com (ppp0 204.71.200.68): A set, 40 headers + 0 data bytes
! 225: 40 bytes from 204.71.200.68: flags=R seq=0 ttl=53 id=65179 win=0 rtt=327.1 ms
! 226: 40 bytes from 204.71.200.68: flags=R seq=1 ttl=53 id=+1936 win=0 rtt=360.0 ms
! 227: 40 bytes from 204.71.200.68: flags=R seq=2 ttl=53 id=+1880 win=0 rtt=340.0 ms
! 228: 40 bytes from 204.71.200.68: flags=R seq=3 ttl=53 id=+1993 win=0 rtt=330.0 ms
! 229: 40 bytes from 204.71.200.68: flags=R seq=4 ttl=53 id=+1871 win=0 rtt=350.0 ms
! 230: 40 bytes from 204.71.200.68: flags=R seq=5 ttl=53 id=+1932 win=0 rtt=340.0 ms
! 231: 40 bytes from 204.71.200.68: flags=R seq=6 ttl=53 id=+1776 win=0 rtt=330.0 ms
! 232: 40 bytes from 204.71.200.68: flags=R seq=7 ttl=53 id=+1749 win=0 rtt=320.0 ms
! 233: 40 bytes from 204.71.200.68: flags=R seq=8 ttl=53 id=+1888 win=0 rtt=340.0 ms
! 234: 40 bytes from 204.71.200.68: flags=R seq=9 ttl=53 id=+1907 win=0 rtt=330.0 ms
! 235:
! 236: --- www.yahoo.com hping statistic ---
! 237: 10 packets tramitted, 10 packets received, 0% packet loss
! 238: round-trip min/avg/max = 320.0/336.7/360.0 ms
! 239:
! 240: Évidemment si on vérifie le champ id toutes les demi-secondes plutôt que
! 241: toutes les secondes, l'incrément sera diminué de moitié.
! 242:
! 243: # hping www.yahoo.com -P 80 -A -r -i u 500000
! 244: ppp0 default routing interface selected (according to /proc)
! 245: HPING www.yahoo.com (ppp0 204.71.200.68): A set, 40 headers + 0 data bytes
! 246: 40 bytes from 204.71.200.68: flags=R seq=0 ttl=53 id=35713 win=0 rtt=327.0 ms
! 247: 40 bytes from 204.71.200.68: flags=R seq=1 ttl=53 id=+806 win=0 rtt=310.0 ms
! 248: 40 bytes from 204.71.200.68: flags=R seq=2 ttl=53 id=+992 win=0 rtt=320.0 ms
! 249: 40 bytes from 204.71.200.68: flags=R seq=3 ttl=53 id=+936 win=0 rtt=330.0 ms
! 250: 40 bytes from 204.71.200.68: flags=R seq=4 ttl=53 id=+987 win=0 rtt=310.0 ms
! 251: 40 bytes from 204.71.200.68: flags=R seq=5 ttl=53 id=+952 win=0 rtt=320.0 ms
! 252: 40 bytes from 204.71.200.68: flags=R seq=6 ttl=53 id=+918 win=0 rtt=330.0 ms
! 253: 40 bytes from 204.71.200.68: flags=R seq=7 ttl=53 id=+809 win=0 rtt=320.0 ms
! 254: 40 bytes from 204.71.200.68: flags=R seq=8 ttl=53 id=+881 win=0 rtt=320.0 ms
! 255:
! 256: --- www.yahoo.com hping statistic ---
! 257: 9 packets tramitted, 9 packets received, 0% packet loss
! 258: round-trip min/avg/max = 310.0/320.8/330.0 ms
! 259:
! 260: N.B. Attention, en utilisant ip->id vous n'êtes capable que d'estimer *le
! 261: nombre de paquets envoyés/unité de temps*. Vous ne pouvez pas
! 262: toujours comparer différents systèmes. Le champ ip->id concerne
! 263: toutes les interfaces d'un système et par exemple si un système
! 264: utilise de la traduction d'adresse ou redirige les connexions TCP
! 265: vers un autre système (par exemple un firewall utilisé pour cacher un
! 266: serveur web) l'incrément du champ ip->id peut résulter en de fausses
! 267: augmentations.
! 268:
! 269: En 'hpingant' les boites windows sans utiliser l'option --winid vous
! 270: verrez que les incrément sont des multiples de 256 à cause d'un ordre des
! 271: octets inversé. Ceci peut être réellement utile pour déterminer le type
! 272: d'OS.
! 273:
! 274: #hping win95 -r
! 275: HPING win95 (eth0 192.168.4.41): NO FLAGS are set, 40 headers + 0 data bytes
! 276: 46 bytes from 192.168.4.41: flags=RA seq=0 ttl=128 id=47371 win=0 rtt=0.5 ms
! 277: 46 bytes from 192.168.4.41: flags=RA seq=1 ttl=128 id=+256 win=0 rtt=0.5 ms
! 278: 46 bytes from 192.168.4.41: flags=RA seq=2 ttl=128 id=+256 win=0 rtt=0.6 ms
! 279: 46 bytes from 192.168.4.41: flags=RA seq=3 ttl=128 id=+256 win=0 rtt=0.5 ms
! 280:
! 281: --- win95 hping statistic ---
! 282: 4 packets tramitted, 4 packets received, 0% packet loss
! 283: round-trip min/avg/max = 0.5/0.5/0.6 ms
! 284:
! 285: Les systèmes windows sont "marqués", ainsi pour découvrir si un système
! 286: est un Windows vous avez juste besoin d'envoyer quelques paquets.
! 287:
! 288: Comment effectuer des scans SYN spoofés en utilisant un champ id incrémental
! 289: ? Ce qui suit est le message original (ndt : du moins sa traduction) à
! 290: bugtraq à propos de la méthode de scan usurpée/indirecte/passive, dessous
! 291: j'essayerai d'expliquer les détails et comment cela est possible même avec
! 292: UDP avec quelques restrictions.
! 293:
! 294: ---- le postage à bugtraq à propos des scans usurpés ----
! 295:
! 296: Salut,
! 297:
! 298: J'ai découvert une nouvelle méthode de scan de ports TCP. Au
! 299: contraire de toutes les autres elle vous permet de scanner en
! 300: utilisant des paquets usurpés (ndt : dont l'adresse IP source est
! 301: usurpée), ainsi les systèmes scannés ne peuvent pas voir votre
! 302: adresse réelle. Afin de réaliser cela j'utilise trois particularités
! 303: bien connues des mises en oeuvre TCP/IP de la plupart des OS.
! 304:
! 305: (1) * les systèmes répondent SYN|ACK à SYN si le port TCP cible
! 306: est ouvert, et RST|ACK si le port TCP cible est fermé.
! 307:
! 308: (2) * Vous pouvez connaître le nombre de paquets que les systèmes
! 309: envoient en utilisant le champ id de l'entête IP. Voir mes
! 310: précédents postages 'à propos de l'entête IP' dans cette mailing
! 311: liste.
! 312:
! 313: (3) * les systèmes répondent RST à SYN|ACK, ne répondent rien à
! 314: RST.
! 315:
! 316:
! 317: Les joueurs:
! 318:
! 319: système A - le système malfaisant, l'attaquant.
! 320: système B - le système silencieux.
! 321: système C - le système victime.
! 322:
! 323: A est votre système.
! 324: B est un système particulier : il ne doit envoyer aucun paquet
! 325: pendant que vous scannez C. Il y a énormément de systèmes à 'trafic
! 326: nul' sur Internet, spécialement la nuit :)
! 327: C est la victime, il doit être vulnérable aux scans SYN.
! 328:
! 329: J'ai appelé cette méthode de scan 'scan du système muet' (ndt :
! 330: l'autre traduction de 'dumb' est bête) en référence aux
! 331: caractéristiques du système B.
! 332:
! 333:
! 334: Comment elle fonctionne :
! 335:
! 336: Le système A surveille le nombre de paquets sortants depuis B en
! 337: utilisant le champ id de l'entête IP. Vous pouvez faire ceci
! 338: simplement en utilisant hping :
! 339:
! 340: #hping B -r
! 341: HPING B (eth0 xxx.yyy.zzz.jjj): no flags are set, 40 data bytes
! 342: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=0 ttl=64 id=41660 win=0 time=1.2 ms
! 343: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=1 ttl=64 id=+1 win=0 time=75 ms
! 344: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=2 ttl=64 id=+1 win=0 time=91 ms
! 345: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=3 ttl=64 id=+1 win=0 time=90 ms
! 346: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=4 ttl=64 id=+1 win=0 time=91 ms
! 347: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=5 ttl=64 id=+1 win=0 time=87 ms
! 348: -cut-
! 349: ..
! 350: .
! 351:
! 352: Comme vous pouvez le voir, les incréments du champ id sont toujours
! 353: de 1. Ainsi ce système a la caractéristique requise pour jouer le
! 354: rôle de B.
! 355:
! 356: Maintenant le système A envoie des paquets SYN au port X de C en
! 357: usurpant l'adresse source de B.
! 358: (avec hping => 0.67 c'est très facile, http://www.kyuzz.org/antirez)
! 359: si le port X de C est ouvert, le système C enverra SYN|ACK à B (oui,
! 360: le système C ne sait pas que le véritable expéditeur est A). Dans ce
! 361: cas le système B répond au SYN|ACK avec un RST.
! 362: Si nous envoyons au système C quelques paquets SYN il répondra à B
! 363: quelques paquet SYN|ACK, ainsi B répondra à C quelques RST... ainsi
! 364: nous verrons que le système B est en train d'envoyer des paquets !
! 365:
! 366: .
! 367: ..
! 368: -cut-
! 369: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=17 ttl=64 id=+1 win=0 time=96 ms
! 370: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=18 ttl=64 id=+1 win=0 time=80 ms
! 371: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=19 ttl=64 id=+2 win=0 time=83 ms
! 372: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=20 ttl=64 id=+3 win=0 time=94 ms
! 373: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=21 ttl=64 id=+1 win=0 time=92 ms
! 374: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=22 ttl=64 id=+2 win=0 time=82 ms
! 375: -cut-
! 376: ..
! 377: .
! 378:
! 379: Le port est ouvert !
! 380:
! 381: Par contre, si le port X de C est fermé alors en envoyant à C
! 382: quelques paquets SYN avec l'adresse usurpée de B, il répondra avec
! 383: des paquets RST à B, et B ne répondra pas (voir 3). Ainsi nous
! 384: verrons que le système B n'est en train d'envoyer aucun paquet :
! 385:
! 386: .
! 387: ..
! 388: -cut-
! 389: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=52 ttl=64 id=+1 win=0 time=85 ms
! 390: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=53 ttl=64 id=+1 win=0 time=83 ms
! 391: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=54 ttl=64 id=+1 win=0 time=93 ms
! 392: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=55 ttl=64 id=+1 win=0 time=74 ms
! 393: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=56 ttl=64 id=+1 win=0 time=95 ms
! 394: 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=57 ttl=64 id=+1 win=0 time=81 ms
! 395: -cut-
! 396: ..
! 397: .
! 398:
! 399: Le port est fermé.
! 400:
! 401: Tout ceci peut paraître compliqué à réaliser, mais utiliser deux
! 402: sessions de hping dans des consoles virtuelles Linux ou sous X rend
! 403: cela plus simple.
! 404: La première session surveille le système B : hping B -r
! 405: La seconde session envoie des paquets SYN spoofés : hping C -a B -S
! 406:
! 407: Désolé si mon anglais n'est pas clair.
! 408: Cependant ce postage n'est pas adéquat pour décrire exhaustivement
! 409: cette méthode de scan, ainsi je vais écrire un article à ce sujet,
! 410: en particulier comment mettre en oeuvre ceci dans un scanner de
! 411: ports (i.e. nmap), et à propos des caractéristiques des joueurs et
! 412: des OS utilisés.
! 413:
! 414: bonne nouvelle année,
! 415: antirez
! 416:
! 417: ---- EOF ----
! 418:
! 419: Comme vous pouvez le voir un scan usurpé est trivial à réaliser,
! 420: particulièrement en utilisant hping2 vous êtes capable de spécifier un
! 421: intervalle en micro secondes (-i uX) ainsi vous n'avez pas besoin que le
! 422: système B soit un système totalement passif. Vous pouvez lire l'incrément
! 423: du champ id une fois toutes les secondes en envoyant 10 paquets SYN par
! 424: seconde. Si vous envoyez un nombre adéquat de paquets SYN par seconde,
! 425: l'incrément du champ id attendu est si important que vous êtes à même de
! 426: voir si le port est ouvert ou fermé même si le système B envoie d'autres
! 427: paquets. Exemple :
! 428:
! 429: # hping awake.host.org -p 80 -A -r
! 430: ppp0 default routing interface selected (according to /proc)
! 431: HPING server.alicom.com (ppp0 111.222.333.44): A set, 40 headers + 0 data bytes
! 432: 40 bytes from 111.222.333.44: flags=R seq=0 ttl=249 id=47323 win=0 rtt=239.7 ms
! 433: 40 bytes from 111.222.333.44: flags=R seq=1 ttl=249 id=+6 win=0 rtt=630.0 ms
! 434: 40 bytes from 111.222.333.44: flags=R seq=2 ttl=249 id=+6 win=0 rtt=280.0 ms
! 435: 40 bytes from 111.222.333.44: flags=R seq=3 ttl=249 id=+8 win=0 rtt=340.0 ms
! 436: 40 bytes from 111.222.333.44: flags=R seq=4 ttl=249 id=+5 win=0 rtt=440.0 ms
! 437: 40 bytes from 111.222.333.44: flags=R seq=5 ttl=249 id=+5 win=0 rtt=410.0 ms
! 438: 40 bytes from 111.222.333.44: flags=R seq=6 ttl=249 id=+8 win=0 rtt=1509.9 ms
! 439: 40 bytes from 111.222.333.44: flags=R seq=7 ttl=249 id=+4 win=0 rtt=1460.0 ms
! 440: 40 bytes from 111.222.333.44: flags=R seq=8 ttl=249 id=+7 win=0 rtt=770.0 ms
! 441: 40 bytes from 111.222.333.44: flags=R seq=9 ttl=249 id=+5 win=0 rtt=230.0 ms
! 442: ...
! 443:
! 444: comme vous pouvez le voir, ce système n'est pas inactif, il envoie environ
! 445: 6 paquets chaque seconde. Maintenant scannez le port 80 de www.yahoo.com
! 446: pour voir s'il est ouvert :
! 447:
! 448: root.1# hping -a server.alicom.com -S -p 80 -i u10000 www.yahoo.com
! 449: ppp0 default routing interface selected (according to /proc)
! 450: HPING www.yahoo.com (ppp0 204.71.200.74): S set, 40 headers + 0 data bytes
! 451:
! 452: [attendre quelques secondes et presser CTRL+C]
! 453:
! 454: --- www.yahoo.com hping statistic ---
! 455: 130 packets tramitted, 0 packets received, 100% packet loss
! 456: round-trip min/avg/max = 0.0/0.0/0.0 ms
! 457:
! 458: En observant la sortie de 'hping awake.host.org -p 80 -A -r' il est
! 459: simple de comprendre que le port 80 de www.yahoo.com est ouvert :
! 460:
! 461: 40 bytes from 111.222.333.44: flags=R seq=59 ttl=249 id=+16 win=0 rtt=380.0 ms
! 462: 40 bytes from 111.222.333.44: flags=R seq=60 ttl=249 id=+75 win=0 rtt=850.0 ms
! 463: 40 bytes from 111.222.333.44: flags=R seq=61 ttl=249 id=+12 win=0 rtt=1050.0 ms
! 464: 40 bytes from 111.222.333.44: flags=R seq=62 ttl=249 id=+1 win=0 rtt=450.0 ms
! 465: 40 bytes from 111.222.333.44: flags=R seq=63 ttl=249 id=+27 win=0 rtt=230.0 ms
! 466: 40 bytes from 111.222.333.44: flags=R seq=64 ttl=249 id=+11 win=0 rtt=850.0 ms
! 467:
! 468: notez que 16+75+12+27+11+1-6 = 136 et que nous avons envoyé 130 paquets.
! 469: Ainsi il est très probable que les incréments soient produits par nos
! 470: paquets.
! 471:
! 472: Conseil : en utilisant un système inactif pour réaliser un scan usurpé il
! 473: est utile de ne montrer que les réponses qui montrent un
! 474: incrément différent de 1. Essayez
! 475: `hping host -r | grep -v "id=+1"'
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>