Dans mon dernier post, nous avons identifié que le système client a probablement été l'exécution de certaines genre d'outil pour sonder connus pour être des fichiers vulnérables. Nous avons encore à expliquer les paquets de réinitialisation cependant, ainsi que pourquoi le serveur a été de les ignorer.
En ce moment nous ne savons même pas où cette capture de paquets a été prise en relation avec les deux points d'extrémité. Je vais courir tshark en utilisant les "champs-T" passer à imprimer les informations TTL. En analysant les TTL, nous devrions être en mesure de déterminer où nous sommes renifler en relation avec le client et le serveur. Je vais aussi imprimer les identifiants IP pour voir s'il ya des anomalies dans l'ordre des paquets.
Voici la commande et la sortie:
tshark-r-T challenge1.cap champs e-frame.number-e-e ip.src tcp.srcport-e-e ip.ttl ip.id
1 148.78.247.10 26922 49 0x2a6b
2 12.33.247.4 80 64 0 × 0000
3 148.78.247.10 26922 49 0x2a95
4 148.78.247.10 26922 49 0x2a96
5 12.33.247.4 80 64 0 × 3743
6 12.33.247.4 80 255 0xb0f2
7 148.78.247.10 26922 255 0xb0f2
8 12.33.247.4 80 64 0 × 3744
9 12.33.247.4 80 64 0 × 3745
10 12.33.247.4 80 64 0 × 3746
11 12.33.247.4 80 64 0 × 3747
12 12.33.247.4 80 64 0 × 3748
13 12.33.247.4 80 64 0 × 3749
14 80 64 12.33.247.4 0x374a
15 80 64 12.33.247.4 0x374b
16 80 64 12.33.247.4 0x374c
17 80 64 12.33.247.4 0x374d
148.78.247.10 est le client. Nous le savons parce que l'ouverture de la session et sa communication en utilisant un port source supérieur. 12.33.247.10 est notre serveur HTTP de communiquer à partir du port 80.
En paquet de 1, nous voyons que le client a un TTL de 49. Le plus proche match débute TTL pour un système d'exploitation connue est de 64, donc cela nous dit que le client est un Linux, UNIX, ou le système Mac assise 15 sauts loin. En paquet de 2, nous voyons le serveur avec une valeur TTL de 64, donc il doit être l'un des systèmes d'exploitation mentionnés précédemment assis sur le réseau local. Donc, nous sommes sur le même domaine de collision que le serveur, mais assis 15 sauts loin du client.
Il ya un problème cependant. Regardez les paquets 6 et 7. Ici, nous voyons le TTL des deux systèmes de changement à 255. Un OS ne changera jamais c'est TTL lors d'une session, donc ce semble extrêmement suspect. De plus, nous avons déjà déterminé que le client est assis 15 sauts loin de nous. 255 est la plus grande valeur possible TTL comme le champ TTL est seulement un seul octet (8 octets de l'entête IP). Ainsi, même si l'adresse IP source prétend être le client distant, il n'ya aucun moyen que le paquet ait pu apparaître n'importe où, mais à partir du réseau local. Si le paquet a traversé un ou plusieurs routeurs, la valeur TTL serait plus faible.
Les informations d'identification IP ne semble pas correcte non plus. Dans les trois premiers paquets du client, nous voyons l'IP ID valeurs 0x2a6b (10859), 0x2a95 (10 901), et 0x2a96 (10902). Cela nous indique que le client est peut-être en utilisant un ID incrémentale une IP, nous n'avons tout simplement pas voir 42 des paquets entre les premier et deuxième paquets transmis. L'ID de la prochaine IP, nous voyons du client est 0xb0f2 (45298). OK, sauf si nous avons manqué plus de 34.000 paquets, cet ID IP ne jive.
Notez l'analyse ci-dessus ne serait-il pas théoriques ont été pour les valeurs TTL incompatibles. Avec seulement trois paquets à regarder, on ne peut pas identifier précisément l'incrément IP ID. Il est également possible, mais très très peu probable, que l'augmentation ID IP est complètement aléatoire et le système vient de se passer d'assigner deux incrémentale ID IP, l'un après l'autre. Pourtant, combiner les TTL et d'information IP ID ensemble et ils indiquent que ce paquet final pourrait ne pas provenir d'un même système.
Nous avons des données d'identité plusieurs adresses IP à partir du serveur de travailler avec, prenons donc un oeil à ça. Les identifiants sont:
- 0 (0)
- 0 × 3743 (14147)
- 0xb0f2 (45298)
- 0 × 3744 (14148)
- 0 × 3745 (14149)
- 0 × 3746 (14150)
- 0 × 3747 (14151)
- 0 × 3748 (14152)
- 0 × 3749 (14153)
- 0x374a (14154)
- 0x374b (14155)
- 0x374c (14156)
- 0x374d (14157)
Jetez un oeil à l'ID IP figurent dans la troisième, qui est de 6 paquets dans la trace. Notez que tous les ID de propriété intellectuelle d'autres sont incrémentales 1, mais cette IP ID ne lui appartient pas. En fait, nous pouvons montrer que les incréments de serveur c'est par une IP ID et qu'il n'y a aucun moyen de ce paquet provenant du serveur.
Humm. Je me demande si ces lignes suspectes paquets avec le réinitialise étranges que nous avons vu:
tshark-r-T challenge1.cap champs-e-e frame.number ip.src-e-e tcp.srcport ip.ttl-e-e ip.id tcp.flags.reset
1 148.78.247.10 26922 49 0x2a6b 0
2 12.33.247.4 80 64 0 × 0000 0
3 148.78.247.10 26922 49 0x2a95 0
4 148.78.247.10 26922 49 0x2a96 0
5 12.33.247.4 80 64 0 × 3743 0
6 12.33.247.4 80 255 0xb0f2 1
7 148.78.247.10 26922 255 1 0xb0f2
8 12.33.247.4 80 64 0 × 3744 0
9 12.33.247.4 80 64 0 × 3745 0
10 12.33.247.4 80 64 0 × 3746 0
11 12.33.247.4 80 64 0 × 3747 0
12 12.33.247.4 80 64 0 × 3748 0
13 12.33.247.4 80 64 0 × 3749 0
14 80 64 12.33.247.4 0x374a 0
15 80 64 12.33.247.4 0x374b 0
16 12.33.247.4 80 64 0 0x374c
17 12.33.247.4 80 64 0 0x374d
Ah ha! Donc, si on regarde les paquets avec l'étrange et les valeurs TTL IP ID, ce sont les paquets de réinitialisation étranges envoyés pendant la session.
Il me semble que certaines troisième système est de sauter dans la conversation afin de transmettre les paquets de réinitialisation. Depuis ces paquets étranges ont un TTL de 255, nous savons qu'il doit être sur le même domaine de collision que là où nous sommes reniflant. Depuis qu'il est sur le même domaine de collision, les informations d'en-tête Ethernet pourrait être utile:
tshark-r-T challenge1.cap champs e-frame.number e-ETH-e tcp.flags.reset
1 port Ethernet II, Src: HewlettP_ea: 20: ab (00:50:8 B: EA: 20: ab), Dst: DellComp_20: 7d: e3 (00: b0: d0: 20:07 D: e3) 0
2 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:07 D: e3), Dst: HewlettP_ea: 20: ab (00:50:8 B: EA: 20: ab) 0
3 Ethernet II, Src: HewlettP_ea: 20: ab (00:50:8 B: EA: 20: ab), Dst: DellComp_20: 7d: e3 (00: b0: d0: 20:07 D: e3) 0
4 Ethernet II, Src: HewlettP_ea: 20: ab (00:50:8 B: EA: 20: ab), Dst: DellComp_20: 7d: e3 (00: b0: d0: 20:07 D: e3) 0
5 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:07 D: e3), Dst: HewlettP_ea: 20: ab (00:50:8 B: EA: 20: ab) 0
6 Ethernet II, Src: D-Link_8f: E0: 0C (00:50: ba: 8f: E0: 0C), Dst: HewlettP_ea: 20: ab (00:50:8 B: EA: 20: ab) 1
7 Ethernet II, Src: D-Link_8f: E0: 0C (00:50: ba: 8f: E0: 0C), Dst: DellComp_20: 7d: e3 (00: b0: d0: 20:07 D: e3) 1
8 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:07 D: e3), Dst: HewlettP_ea: 20: ab (00:50:8 B: EA: 20: ab) 0
9 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:07 D: e3), Dst: HewlettP_ea: 20: ab (00:50:8 B: EA: 20: ab) 0
10 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:07 D: e3), Dst: HewlettP_ea: 20: ab (00:50:8 B: EA: 20: ab) 0
11 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:07 D: e3), Dst: HewlettP_ea: 20: ab (00:50:8 B: EA: 20: ab) 0
12 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:07 D: e3), Dst: HewlettP_ea: 20: ab (00:50:8 B: EA: 20: ab) 0
13 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:07 D: e3), Dst: HewlettP_ea: 20: ab (00:50:8 B: EA: 20: ab) 0
14 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:07 D: e3), Dst: HewlettP_ea: 20: ab (00:50:8 B: EA: 20: ab) 0
15 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:07 D: e3), Dst: HewlettP_ea: 20: ab (00:50:8 B: EA: 20: ab) 0
16 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:07 D: e3), Dst: HewlettP_ea: 20: ab (00:50:8 B: EA: 20: ab) 0
17 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:07 D: e3), Dst: HewlettP_ea: 20: ab (00:50:8 B: EA: 20: ab) 0
Ainsi, lorsque le client arrive à partir d'Internet, il passe à travers un système HP agit soit comme un routeur ou un firewall. Notre serveur Web est exécuté sur le matériel Dell. Notez notre réinitialise (paquets 6 et 7) sont les deux étant générés par le même système en utilisant une carte réseau D-Link.
Alors pourquoi le système D-Link essayer de tuer la session? Cela s'est produit juste après que le client a envoyé la demande de fichiers suspects. Il me semble que le système D-Link est en fait un système unique perfectionné de prévention des intrusions (IPS). Quand une attaque est détectée, l'IPS vise à prévenir l'attaque par la transmission de paquets de réinitialisation aux deux extrémités de la connexion.
Mais nous avons encore quelques questions sans réponse. L'attaque réussie et pourquoi le serveur semblent ignorer la tentative du IPS pour tuer la session?
Tourner dans le prochain épisode pour le savoir.