Analyse de la detection d'intrusion avec Nmap et Queso
par Toby Miller traduit par NightBird
derniere mise a jour 28 Aout 2000


1.1 INTRODUCTION

Le but de ce papier est d'aider les analystes de detections d'intrusion et les administrateurs de firewall a identifier les scans faits par NMAP et QUESO. Ce papier fournira une analyse des scans des logiciels NMAP et QUESO. Ce type d'analyse est vitale pour les personnes qui effectue de l'administration de firewall et qui ont besoin de comprendre les details lies aux personnes qui scannent et aux scans proprement dit.

1.2 BACKGROUND

Un Scanner de ports est un outil utilise aussi bien par les administrateurs systemes que par les attaquants pour identifier les vulnerabilites dans un systeme d'exploitation. Un scanner de port identifie les vulnerabilites en envoyant des paquets normaux et anormaux aux ports d'un ordinateur et attendant une reponse pour determiner quels ports sont "ouverts". A partir de ces donnees, un administrateur systeme, ou un attaquant, peut determiner quelles failles ont besoin d'etre reparees ou quelles failles peut etre exploitees.

Il y a plusieurs differents types de scanners de ports. Il y a ceux qui sont gratuit comme NMAP et QUESO, qui permettent une tres grande flexibilite en scannant les vulnerabilites. Il y a les scanners commerciaux disponible qui necessitent une license d'utilisation. La comparaison entre les produits commerciaux et les produits gratuits n'est pas l'objectif de ce papier.

1.3 NMAP ET QUESO 1.3.1 NMAP

NMAP est un scanner de ports librement distribue, developpe et maintenu par Fyodor ( http://www.insecure.org/). NMAP peut foncitonner sur un grand nombre d'OS tels que Linux, FreeBSD, Open BSD, Solaris et meme NT (merci a eEye security). NMAP est probablement le plus populaire scanner disponible gratuitement sur Internet. A cause de sa facilite d'utilisation, il peut etre utilise par n'importe qui d'un novice jusqu'a un expert. Depuis sa facilite d'utilisation et son portage sur la plupart des OS, une question apparait: comment nous (communaute IDS et firewall) pouvons detecter NMAP?

Detecter NMAP n'est pas une tache facile a faire. NMAP a plusieurs parametres disponibles pour l'utilisateur - couvrir tous les parametres et les options est au dela de l'objectif de ce papier. Dans un but d'explication, les parametres suivants seront utilises (chacun des parametres selectionnes sera decrit en detail par la suite):

Figure 1 (ci-dessous) montre le scan -sS avec des signatures communes associees a NMAP.


12:19:04.981033 attacker.com > victim.com: icmp: echo request (ttl 40, id 28524) 4500 001c 6f6c 0000 2801 2573 xxxx xxxx xxxx xxxx 0800 e152 16ad 0000 12:19:04.981033 attacker.com > victim.com: icmp: echo request (ttl 40, id 28524) 4500 001c 6f6c 0000 2801 2573 xxxx xxxx xxxx xxxx 0800 e152 16ad 0000 12:19:04.981207 victim.com > attacker.com: icmp: echo reply (ttl 255, id 0) 4500 001c 0000 0000 ff01 bdde xxxx xxxx xxxx xxxx 0000 e952 16ad 0000 12:19:04.981207 victim.com > attacker.com: icmp: echo reply (ttl 255, id 0) 4500 001c 0000 0000 ff01 bdde xxxx xxxx xxxx xxxx 0000 e952 16ad 0000 12:19:04.981574 attacker.com.58397 > victim.com.www: . ack 0 win 3072 (ttl 54, id 47895) 4500 0028 bb17 0000 3606 cbb6 xxxx xxxx xxxx xxxx e41d 0050 5720 0003 0000 0000 5010 0c00 6a41 0000 12:19:04.981574 attacker.com.58397 > victim.com.www: . ack 1 win 3072 (ttl 54, id 47895) 4500 0028 bb17 0000 3606 cbb6 xxxx xxxx xxxx xxxx e41d 0050 5720 0003 0000 0000 5010 0c00 6a41 0000 12:19:04.981687 victim.com.www > attacker.com.58397: R 0:0(0) win 0 (ttl 255, id 1) 4500 0028 0001 0000 ff06 bdcc xxxx xxxx xxxx xxxx 0050 e41d 0000 0000 0000 0000 5004 0000 cd70 0000 12:19:04.981687 victim.com.www > attacker.com.58397: R 0:0(0) win 0 (ttl 255, id 1) 4500 0028 0001 0000 ff06 bdcc xxxx xxxx xxxx xxxx 0050 e41d 0000 0000 0000 0000 5004 0000 cd70 0000 12:19:05.065741 attacker.com.58377 > victim.com.1531: S 1899041970:1899041970(0) win 3072 (ttl 54, id 22525) 4500 0028 57fd 0000 3606 2ed1 xxxx xxxx xxxx xxxx e409 05fb 7131 14b2 0000 0000 5002 0c00 35f8 0000 12:19:05.065741 attacker.com.58377 > victim.com.1531: S 1899041970:1899041970(0) win 3072 (ttl 54, id 22525) 4500 0028 57fd 0000 3606 2ed1 xxxx xxxx xxxx xxxx e409 05fb 7131 14b2 0000 0000 5002 0c00 35f8 0000 12:19:05.065924 victim.com.1531 > attacker.com.58377: R 0:0(0) ack 1899041971 win 0 (ttl 255, id 2) 4500 0028 0002 0000 ff06 bdcb xxxx xxxx xxxx xxxx 05fb e409 0000 0000 7131 14b3 5014 0000 41e5 0000 12:19:05.065924 victim.com.1531 > attacker.com.58377: R 0:0(0) ack 1 win 0 (ttl 255, id 2) 4500 0028 0002 0000 ff06 bdcb xxxx xxxx xxxx xxxx 05fb e409 0000 0000 7131 14b3 5014 0000 41e5 0000 12:19:05.066228 attacker.com.58377 > victim.com.522: S 1899041970:1899041970(0) win 3072 (ttl 54, id 45591) 4500 0028 b217 0000 3606 d4b6 xxxx xxxx xxxx xxxx e409 020a 7131 14b2 0000 0000 5002 0c00 39e9 0000 12:19:05.066228 attacker.com.58377 > victim.com.522: S 1899041970:1899041970(0) win 3072 (ttl 54, id 45591) 4500 0028 b217 0000 3606 d4b6 xxxx xxxx xxxx xxxx e409 020a 7131 14b2 0000 0000 5002 0c00 39e9 0000 Les deux RST ont ete coupes pour des raisons de place.
Figure 1: Scan NMAP -sS

D'abord, regardons quelques signatures communes NMAP. La figure 1 montre que NMAP envoie deux- (2) requetes echo (en rouge). Cela est fait pour s'assurer que la victime est "up" et en cours de fonctionnement. La seconde signature dans le scan est les deux paquets isoles ACK qui mettent le champ 32 bits d'acquittement a 0. (Figure 1 - rouge) Ce champ ACK doit toujours etre a 1 quand il est envoye dans un paquet ACK.

Pourquoi cela est fait? La raison pour mettre la champ ACK a 0 est simple: "stealth". Pourquoi NMAP envoie-t-il deux paquets ACK quand meme? RFC 793 peut vous eclairer sur cela et vous aider a comprendre pourquoi certains paquets sont utilises dans l'adressage d'un reseau. RFC 793 pp. 64 couvre comment TCP reponds a des paquets specifiques; ces reponses sont basees sur deux etats TCP. Ces etats sont CLOSED et LISTEN. Selon le RFC 793, quand un port est dans l'etat "CLOSED", les regles suivantes s'appliquent:

  • Tout segment entrant contenant un RST est ignore.
  • Tout segment ne contenant pas RST (i.e. SYN, FIN et ACK) provoquera l'envoi d'un RST en reponse.

Pour un port dans l'etat LISTEN, les regles suivantes s'appliquent:

  • Tout segment entrant contenant un RST est ignore, et
  • Tout segment entrant contenant un ACK provoquera l'envoi d'un RST en reponse.
  • Si le bit SYN est mis:
    • Si le segment entrant n'est pas autorise alors un RST est envoye en reponse.
    • Si le segment entrant est autorise alors un SYN|ACK est envoye en reponse (part 2 dans la poignee de mains a trois).

Connaissant cela, nous pouvons conclure que les deux paquets ACK sont envoyes pour verifier que la machine a scanner est "up" et en cours de fonctionnement.

Une autre signature commune de NMAP est la grande valeur des ports source. Normalement, les ports source de NMAP sont au dela de 20000 (cela peut etre change avec le parametre -p). L'idee derriere l'activation du port aussi haut est que quelques IDS et firewalls ignorerons ces scans a cause de cela. Cela est encore vrai aujourd'hui dans quelques cas, la plupart du temps, cela alerte l'administrateur qu'il est en train de se faire scanner.

Le premier parametre que nous allons detailler est -sS (figure 1). Le parametre -sS envoie un SYN a un port et attend une reponse. La reponse doit etre soit un SYN | ACK si le port est ouvert soit RST | ACK si le port est ferme. Ce scan est considere comme un "half-scan", la theorie est que NMAP enverra un SYN a l'ordinateur, si le port est ferme puis un reset est envoye en retour notifiant a NMAP que le port est ferme. Si NMAP envoie un SYN a un port ouvert, ce port repondra par une SYN | ACK. Une fois que NMAP a detecte le SYN | ACK, il renvoie automatiquement un RST. Ce RST arretera la connexion et dans quelques cas, l'ordinateur le logguera pas la tentative. Cela laisse aussi NMAP savoir quels ports sont ouverts et quels ports sont fermes.

Le parametre -sX effectue un scan "arbre de noel" (Xmas - Figure 2). A cause des flags TCP (FIN, PSH et URG) actives dans ce scan, quelques firewalls (pauvrement configures) autoriseront ces paquets. La figure 2 indique qu'une fois de plus que NMAP envoie deux requetes echo et paquets ACK pour s'assurer que la cible est "up" et en cours de fonctionnement.

Qu'est ce qui est si etrange avec les flags FIN, PSH et URG actifs en meme temps? Pour repondre a cette question, regardons ce que chaque flag fait:

  • FIN : "La machine qui envoie termine la transfert de donnees."1 c'est tout
  • PSH : "Actif quand le receveur doit transmettre ces donnees aux applications le plus vite possible."2 Vite et avec les donnees !
  • URG: "Le pointeur urgent est valide."3 "Autorise une machine de prevenir l'autre que des "donnees urgentes" sont mises dans le flux normal de donnees." 4 Parle pour lui-meme.
12:07:47.251547 attacker.com > victim.com: icmp: echo request (ttl 52, id 57064)
                       4500 001c dee8 0000 3401 a9f6 xxxx xxxx
                       xxxx xxxx 0800 98d3 5f2c 0000
12:07:47.251547 attacker.com > victim.com: icmp: echo request (ttl 52, id 57064)
                       4500 001c dee8 0000 3401 a9f6 xxxx xxxx
                       xxxx xxxx 0800 98d3 5f2c 0000
12:07:47.251720 victim.com > attacker.com: icmp: echo reply (ttl 255, id 2136)
                       4500 001c 0858 0000 ff01 b586 xxxx xxxx
                       xxxx xxxx 0000 a0d3 5f2c 0000
12:07:47.251720 victim.com > attacker.com: icmp: echo reply (ttl 255, id 2136)
                       4500 001c 0858 0000 ff01 b586 xxxx xxxx
                       xxxx xxxx 0000 a0d3 5f2c 0000
12:07:47.252111 attacker.com.40335 > attacker.com.www: . ack 0 win 2048 (ttl 53, id 1254)
                       4500 0028 04e6 0000 3506 82e8 xxxx xxxx
                       xxxx xxxx 9d8f 0050 1b98 0003 0000 0000
                       5010 0800 f057 0000
12:07:47.252111 attacker.com.40335 > victim.com.www: . ack 1 win 2048 (ttl 53, id 1254)
                       4500 0028 04e6 0000 3506 82e8 xxxx xxxx
                       xxxx xxxx 9d8f 0050 1b98 0003 0000 0000
                       5010 0800 f057 0000
12:07:47.252225 victim.com.www > attacker.com.40335: R 0:0(0) win 0 (ttl 255, id 2137)
                       4500 0028 0859 0000 ff06 b574 xxxx xxxx
                       7f00 0001 0050 9d8f 0000 0000 0000 0000
                       5004 0000 13ff 0000
12:07:47.252225 victim.com.www > attacker.com.40335: R 0:0(0) win 0 (ttl 255, id 2137)
                       4500 0028 0859 0000 ff06 b574 xxxx xxxx
                       xxxx xxxx 0050 9d8f 0000 0000 0000 0000
                       5004 0000 13ff 0000
12:07:47.336218 attacker.com.40315 > victim.com.824: FP 0:0(0) win 2048 urg 0 (ttl 53, id
43059)
                       4500 0028 a833 0000 3506 df9a xxxx xxxx
                       xxxx xxxx 9d7b 0338 0000 0000 0000 0000
                       5029 0800 0906 0000
12:07:47.336218 attacker.com.40315 > victim.com.824: FP 0:0(0) win 2048 urg 0 (ttl 53, id
43059)
                       4500 0028 a833 0000 3506 df9a xxxx xxxx
                       xxxx xxxx 9d7b 0338 0000 0000 0000 0000
                       5029 0800 0906 0000
12:07:47.336392 victim.com.824 > attacker.com.40315: R 0:0(0) ack 0 win 0 (ttl 255, id
2138)
                       4500 0028 085a 0000 ff06 b573 xxxx xxxx
                       xxxx xxxx 0338 9d7b 0000 0000 0000 0000
                       5014 0000 111b 0000
12:07:47.336392 victim.com.824 > attacker.com.40315: R 0:0(0) ack 1 win 0 (ttl 255, id
2138)
                       4500 0028 085a 0000 ff06 b573 xxxx xxxx
                       xxxx xxxx 0338 9d7b 0000 0000 0000 0000
                       5014 0000 111b 0000
Figure 2: Scan NMAP XMAS

En resume, la combination de FIN, PSH et URG dit que l'ordinateur commence a "demolir" la connexion, envoie les donnees le plus vite possible et enfin, les donnees "urgentes" seront envoyees dans le flux normal de donnees. Selon mon experience, cela ne se produit pas ( a moins que vous essayer d'explorer un reseau). Une autre signature de NMAP est quand il utilise le scan "arbre de noel" qui verifie le pointeur "urgent" - il est toujours mis a 0(bleu sur la figure 2).

Finalement, nous allons regarder le paramatre -sF et le parametre -O. -sF scanne les machines avec le bit FIN mis. Le parametre -O recherche des empreintes (fingerprints) des OS. Si vous avez la possibilite avant de compiler NMAP, regarder le fichier d'empreintes. Il est impressionnant, la collection d'empreintes d'OS que Fyodor a regrouper est reellement fabuleuse. La figure 3 montre un scan -sF avec l'option -O active aussi.

11:00:09.360631 attacker.com.49044 > victim.com.219: F 0:0(0) win 4096 (ttl 59, id 45102)

11:00:09.360631 attacker.com.49044 > victim.com.219: F 0:0(0) win 4096 (ttl 59, id 45102)

11:00:09.361056 attacker.com.49044 > victim.com.48: F 0:0(0) win 4096 (ttl 59, id 30876)

11:00:09.361056 attacker.com.49044 > victim.com.48: F 0:0(0) win 4096 (ttl 59, id 30876)

11:00:12.820777 attacker.com.49051 > victim.com.sunrpc: S 561959278:561959278(0) win 4096
<wscale 10,nop,mss 265,timestamp 1061109567 0,eol> (ttl 59, id 11173)

11:00:12.820777 attacker.com.49051 > victim.com.sunrpc: S 561959278:561959278(0) win 4096
<wscale 10,nop,mss 265,timestamp 1061109567 0,eol> (ttl 59, id 11173)

11:00:12.821526 victim.com.sunrpc > attacker.com.49051: S 2988831197:2988831197(0) ack
561959279 win 16165 <mss 265,nop,nop,timestamp 2872982 1061109567,nop,wscale 0>
(DF) (ttl 64, id 3059)

11:00:12.821526 victim.com.sunrpc > attacker.com.49051: S 2988831197:2988831197(0) ack
561959279 win 16165 <mss 265,nop,nop,timestamp 2872982 1061109567,nop,wscale 0>
(DF) (ttl 64, id 3059)

11:00:12.821923 attacker.com.49052 > victim.com.sunrpc: . win 4096 <wscale 10,nop,mss
265,timestamp 1061109567 0,eol> (ttl 59, id 25812)

11:00:12.821923 attacker.com.49052 > victim.com.sunrpc: . win 4096 <wscale 10,nop,mss
265,timestamp 1061109567 0,eol> (ttl 59, id 25812)

11:00:12.822090 attacker.com.49053 > victim.com.sunrpc: SFP 561959278:561959278(0)
win 4096 urg 0 <wscale 10,nop,mss 265,timestamp 1061109567 0,eol> (ttl 59, id 10538)

11:00:12.822090 attacker.com.49053 > victim.com.sunrpc: SFP 561959278:561959278(0)
win 4096 urg 0 <wscale 10,nop,mss 265,timestamp 1061109567 0,eol> (ttl 59, id 10538)

11:00:12.822519 attacker.com.49054 > victim.com.sunrpc: . ack 0 win 4096 <wscale
10,nop,mss 265,timestamp 1061109567 0,eol> (ttl 59, id 36725)

11:00:12.822519 attacker.com.49054 > victim.com.sunrpc: . ack 1 win 4096 <wscale
10,nop,mss 265,timestamp 1061109567 0,eol> (ttl 59, id 36725)

11:00:12.822795 attacker.com.49055 > victim.com.34459: S 561959278:561959278(0) win 4096
<wscale 10,nop,mss 265,timestamp 1061109567 0,eol> (ttl 59, id 36400)

11:00:12.822795 attacker.com.49055 > victim.com.34459: S 561959278:561959278(0) win 4096
<wscale 10,nop,mss 265,timestamp 1061109567 0,eol> (ttl 59, id 36400)

11:00:12.823071 attacker.com.49056 > victim.com.34459: . ack 0 win 4096 <wscale
10,nop,mss 265,timestamp 1061109567 0,eol> (ttl 59, id 46890)
                        4500 003c b72a 0000 3b06 ca8f xxxx xxxx
                        xxxx xxxx bfa0 869b 217e d16e 0000 0000
                        a010 1000 81fb 0000 0303 0a01 0204 0109
                        080a 3f3f 3f3f 0000 0000 0000

11:00:12.823071 attacker.com.49056 > victim.com.34459: . ack 1 win 4096 <wscale
10,nop,mss 265,timestamp 1061109567 0,eol> (ttl 59, id 46890)
                        4500 003c b72a 0000 3b06 ca8f xxxx xxxx
                        xxxx xxxx bfa0 869b 217e d16e 0000 0000
                        a010 1000 81fb 0000 0303 0a01 0204 0109
                        080a 3f3f 3f3f 0000 0000 0000

11:00:12.823347 attacker.com.49057 > victim.com.34459: FP 561959278:561959278(0) win 4096
urg 0 <wscale 10,nop,mss 265,timestamp 1061109567 0,eol> (ttl 59, id 733)
                        4500 003c 02dd 0000 3b06 7edd xxxx xxxx
                        xxxx xxxx bfa1 869b 217e d16e 0000 0000
                        a029 1000 81e1 0000 0303 0a01 0204 0109
                        080a 3f3f 3f3f 0000 0000 0000

11:00:12.823347 attacker.com.49057 > victim.com.34459: FP 561959278:561959278(0) win 4096
urg 0 <wscale 10,nop,mss 265,timestamp 1061109567 0,eol> (ttl 59, id 733)
                        4500 003c 02dd 0000 3b06 7edd xxxx xxxx
                        xxxx xxxx bfa1 869b 217e d16e 0000 0000
                        a029 1000 81e1 0000 0303 0a01 0204 0109
                        080a 3f3f 3f3f 0000 0000 0000

11:00:12.823642 atttacker.com.49044 > victim.com.34459: udp 300 (ttl 57, id 60791)
                        4500 0148 ed77 0000 3911 952b xxxx xxxx
                        xxxx xxxx bf94 869b 0134 40db 6060 6060
                        6060 6060 6060 6060 6060 6060 6060 6060

11:00:12.823642 attacker.com.49044 > victim.com.34459: udp 300 (ttl 57, id 60791)
                        4500 0148 ed77 0000 3911 952b xxxx xxxx
                        xxxx xxxx bf94 869b 0134 40db 6060 6060
                        6060 6060 6060 6060 6060 6060 6060 6060
                        6060 6060 6060 6060 6060 6060 6060 6060

11:00:12.823746 victim.com > attacker.com: icmp: victim.com udp port 34459 unreachable [tos 0xc0]
(ttl 255, id 3067) 
                        45c0 0164 0bfb 0000 ff01 afdb xxxx xxxx
                        xxxx xxxx 0303 fc44 0000 0000 4500 0148
                        ed77 0000 3911 952b 7f00 0001 7f00 0001
                        bf94 869b 0134 40db 6060 6060 6060 6060

11:00:12.823746 victim.com > attacker.com: icmp: victim.com udp port 34459 unreachable [tos 0xc0]
(ttl 255, id 3067)
                        45c0 0164 0bfb 0000 ff01 afdb xxxx xxxx
                        xxxx xxxx 0303 fc44 0000 0000 4500 0148
                        ed77 0000 3911 952b 7f00 0001 7f00 0001
                        bf94 869b 0134 40db 6060 6060 6060 6060
Figure 3: NMAP -sF -O scan

La theorie derriere les scan -sF de NMAP est simple et nous en avons parle au debit de ce papier. Tout se fait au niveau TCP et selon l'etat du port (CLOSED ou LISTENING). Voila un resume rapide:

  1. Si le port est ferme et qu'un FIN est envoye, un reset sera renvoye en reponse.
  2. Dans ce cas, si un FIN est envoye et que le port est ouvert, alors TCP ignore le FIN et ne renvoie aucune reponse.

Cette methode peut passer au travers de quelques systemes de detection d'intrusion et de firewall parce que seulement quelques uns chercheront la combination FIN | ACK et pas juste FIN.

La fonction -O de NMAP identifie un OS probable. Comme vous pouve le voir sur la figure 3, NMAP est une combination de paquets qui incluent les paquets FIN | PUSH | URG, SIN | FIN | PSH, SYN et quelques paquets UDP. Selon mon experience, la plupart des paquets UDP font 300 octets.

1.3.2 QUESO

Bien que QUESO ne soit pas aussi populaire et robuste que NMAP, il fourni d'interessantes signatures a analyser.. QUESO a ete ecrit parsavage@apostols.org. Il est disponible sur n'importe quels sites proposant des scanners de ports - et en plus, il est gratuit.

QUESO envoie habituellement quatorze (14) paquets a chaque fois. Si vous lisez documentation.txt (fichier livre avec QUESO), il apparait que QUESO envoie sept (7) paquets a chaque fois. A travers mes recherches et mon experiences, par defaut QUESO en envoie quatorze (14). QUESO envoie les paquets suivants:

QUESO autorise l'utilisateur de "spoofer" sa propre adresse et de choisir quels ports vous voulez scanner. QUESO choisit de maniere aleatoire les ports source (4000 - 65000). La figure 4 nous montre a quoi ressemble un scan de QUESO:

17:24:43.328743 attacker.com.19909 > victim.com.sunrpc: S 1567977113:1567977113(0) win 4660
(ttl 255, id 51246)
                        4500 0028 c82e 0000 ff06 6095 xxxx xxxx
                        xxxx xxxx 4dc5 006f 5d75 6e99 0000 0000
                        5002 1234 f05f 0000
17:24:43.328743 attacker.com.19909 > victim.com.sunrpc: S 1567977113:1567977113(0) win 4660
(ttl 255, id 51246)
                        4500 0028 c82e 0000 ff06 6095 xxxx xxxx
                        xxxx xxxx 4dc5 006f 5d75 6e99 0000 0000
                        5002 1234 f05f 0000
17:24:43.352137 attacker.com.19910 > victim.com.sunrpc: S 1567977113:1567977113(0) ack 0 win
4660 (ttl 255, id 51247)
                        4500 0028 c82f 0000 ff06 6094 xxxx xxxx
                        xxxx xxxx 4dc6 006f 5d75 6e99 0000 0000
                        5012 1234 f04e 0000
17:24:43.352137 attacker.com.com.19910 > victim.com.sunrpc: S 1567977113:1567977113(0) ack 0
win 4660 (ttl 255, id 51247)
                        4500 0028 c82f 0000 ff06 6094 xxxx xxxx
                        xxxx xxxx 4dc6 006f 5d75 6e99 0000 0000
                        5012 1234 f04e 0000
17:24:43.370082 attacker.com.19911 > victim.com.sunrpc: F 1567977113:1567977113(0) win 4660
(ttl 255, id 51248)
                        4500 0028 c830 0000 ff06 6093 xxxx xxxx
                        xxxx xxxx 4dc7 006f 5d75 6e99 0000 0000
                        5001 1234 f05e 0000
17:24:43.370082 attacker.com.19911 > victim.com.sunrpc: F 1567977113:1567977113(0) win 4660
(ttl 255, id 51248)
                        4500 0028 c830 0000 ff06 6093 xxxx xxxx
                        xxxx xxxx 4dc7 006f 5d75 6e99 0000 0000
                        5001 1234 f05e 0000
17:24:43.390301 attacker.com.19912 > victim.com.sunrpc: F 1567977113:1567977113(0) ack 0 win
4660 (ttl 255, id 51249)
                        4500 0028 c831 0000 ff06 6092 xxxx xxxx
                        xxxx xxxx 4dc8 006f 5d75 6e99 0000 0000
                        5011 1234 f04d 0000
17:24:43.390301 attacker.com.19912 > victim.com.sunrpc: F 0:0(0) ack 1 win 4660 (ttl 255, id
51249)
                        4500 0028 c831 0000 ff06 6092 xxxx xxxx
                        xxxx xxxx 4dc8 006f 5d75 6e99 0000 0000
                        5011 1234 f04d 0000
17:24:43.410079 attacker.com.19913 > victim.com.sunrpc: SF 1567977113:1567977113(0) win 4660
(ttl 255, id 51250)
                        4500 0028 c832 0000 ff06 6091 xxxx xxxx
                        xxxx xxxx 4dc9 006f 5d75 6e99 0000 0000
                        5003 1234 f05a 0000
17:24:43.410079 attacker.com.19913 > victim.com.sunrpc: SF 1567977113:1567977113(0) win 4660
(ttl 255, id 51250)
                        4500 0028 c832 0000 ff06 6091 xxxx xxxx
                        xxxx xxxx 4dc9 006f 5d75 6e99 0000 0000
                        5003 1234 f05a 0000
17:24:43.430076 attacker.com.19914 > victim.com.sunrpc: P win 4660 (ttl 255, id 51251)
                        4500 0028 c833 0000 ff06 6090 xxxx xxxx
                        xxxx xxxx 4dca 006f 5d75 6e99 0000 0000
                        5008 1234 f054 0000
17:24:43.430076 attacker.com.19914 > victim.com.sunrpc: P win 4660 (ttl 255, id 51251)
                        4500 0028 c833 0000 ff06 6090 xxxx xxxx
                        xxxx xxxx 4dca 006f 5d75 6e99 0000 0000
                        5008 1234 f054 0000
17:24:43.450082 attacker.com.19915 > victim.com.sunrpc: S 1567977113:1567977113(0) win 4660
(ttl 255, id 51252)
                        4500 0028 c834 0000 ff06 608f xxxx xxxx
                        xxxx xxxx 4dcb 006f 5d75 6e99 0000 0000
                        50c2 1234 ef99 0000
17:24:43.450082 attacker.com.19915 > victim.com.sunrpc: S 1567977113:1567977113(0) win 4660
(ttl 255, id 51252)
                        4500 0028 c834 0000 ff06 608f xxxx xxxx
                        xxxx xxxx 4dcb 006f 5d75 6e99 0000 0000
                        50c2 1234 ef99 0000
Figure 4: scan QUESO

Regardons le scan (Figure 4), nous pouvons voir que les quatorze (14) paquets sont la. Nous avons besoin des dumps hexa pour les signatures qui n'apparaissent pas. La premiere signature est que nous avons deux (2) paquets FIN isoles. Ces paquets sont s'il n'y a pas de connexion. (pourquoi devrions-nous envoyer un FIN pour terminer une connexion qui n'a jamais existe.) et la FIN ne contient pas de ACK. Bien que, TCP utilise la poignee de main a trois pour etablir une connexion, il utilise une poignee de main a quatre pour se deconnecter. La processus de fin de connexion resemble a cela:

En regardant le scan, nous voyons le flag PSH mis a 1, cela devrait faire froncer quelques sourcils parce que en TCP, un flag PSH doit etre accompagner par un ACK (tant que la connexion existe).

Nous voyons que QUESO mets a 1 les flags SYN | FIN qui disent a la machine recevante d'OUVRIR et de FERMER une connexion en meme temps.

n/a n/a urg ack psh rst svn fin
8 4 2 1 8 4 2 1
Figure 5: le 13eme octet dans le header TCP

La plus interessante des signature que QUESO envoie est les deux (2) paquets SYN qui mettent a 1 les bits reserves de la figure 4 (en rose). La figure 5 montre a quoi ressemble le 13eme octet dans l'entete TCP. Les deux derniers bits sur la gauche (nommes n/a) sont reserves et ne devrait pas etre attribue. C'est facile a identifier, si vous voyez la valeur c2 dans le 13eme octet de l'entete TCP, vous savez que quelqu'un a des intentions "malicieuses" pour votre reseau.

1.4 CONCLUSION

En conclusion, ce papier a ete ecrit pour aider les administrateurs a comprendre quelques informations detaillees a propos de NMAP et QUESO. Avec ce niveau de comprehension, les analystes IDS et les administrateurs de firewall seront capable d'identifier ces scans et d'y repondre. Tout commentaire ou question peuvent etre adresse a infowar@erols.com.

1. W. Richard Stevens, TCP/IP Illustrated, Volume 1, Addison-Wesley, Massachusetts, 1994, pp. 227
2. W. Richard Stevens, TCP/IP Illustrated, Volume 1, Addison-Wesley, Massachusetts, 1994, pp. 227
3. W. Richard Stevens, TCP/IP Illustrated, Volume 1, Addison-Wesley, Massachusetts, 1994, pp. 227
4. W. Richard Stevens, TCP/IP Illustrated, Volume 1, Addison-Wesley, Massachusetts, 1994, pp. 292

Toby Miller travaillent actuellement a SYTEX Inc. base en Pennsylvanie. Toby detiens un B.S en systemes d'information. Toby is a analyste d'intrusion certifie par GIAC et un professionnel certifie Microsoft. Dans ses sept ans dans le secteur informatique, il a travaille dans de nombreux secteurs comme Firewalls, Administration Unix, NT et mainframe.

Traduit par NightBird