Retour : Accueil > >Repository > > Page précédente ;
Salut a tous ! Hé ui, nouveau tuto, ce coup ci sur une méthode de port scanning,nommée l'Idle Host Scanning, et consiste a faire du scan de port en "spoof". Pas trop compliquée, et utile, surtout si vous voulez faire des scans sur un PC sur peu de port, mais sur beaucoup de port, c'est trop long. Oubliez donc ;)
Ben wi, avant de faire le barbare sur le net et de scanner comme une dinde, faut p'têt se demander "Mais didiou, comment ca marche ce truc ?". C'est un bon reflèxe. Un meilleur reflèxe serait de se demander "Mais c'est quoi déja ? Comment ca fonctionne ? J'ai besoin de quoi ?"
Alors allons y, tentons d'expliquer les fonctionnements de ce système, en quoi ca consiste, a quoi ca sert, et tout le tintouin !
*A prononcer avec l'accent "maïtéin"*
Pour réussir cette recette, il nous faudra donc :
- hPing2 ( Nux ou Windows, peu importe )
- Une guitare
- Quelques notions de reseautique
- C'est tout :)
*Fin de l'accent ( ou sinon le tuto va être ridicule, prononcé ^^*
Pour commencer, un ptit rappel de réseautique, et du protocol TCP-IP. Nous allons voir la connexion entre deux machines, que nous nommerons A et B. La guitare ? C'est pour au cas ou vous y arriverez pas, ca destresse énormement Retournons à notre réseautique ;)
Bref, nous prendrons donc ici une machine nommée A, qui sera la machine que nous possédons. Nous tentons d'établir une connexion sur la machine B. Du coté TCP, ca se passe donc ainsi :
A --) Paquet avec le flag SYN ( SYNchronisation ) --) B
B --) Paquet avec le flag SYN/ACK ( ACKnowledgement, ca veut dire "Ok, jsuis d'accord" ) --) A
A --) Packet avec le flag ACK (-- B
Donc, on a 3 types de paquets ici, a la fin, tout le monde dialogue par "ACK". Mais voyons le shéma si l'un des deux n'a pas envoyé de flags SYN et que l'autre renvoie SYN/ACK ...
A --) Paquet avec le flag SYN/ACK --) B
B --) Paquet avec le flag RST ( RequeST ) --) A
Donc, le deuxieme PC renvoie un paquet avec le flag RST, qui coupe la connexion. C'est d'ailleurs la faille qui avait été trouvée pendantl es vacances sur le protocole TCP-IP et qui permettait d'injecter un paquet RST dans une connexion faite de ACK, et donc, de couper une connexion ... très pratique pour les DDOS, non ? M'enfin, c'est unautre sujet.
Bon, c'est bien joli tout ca, mais ca nous apporte quoi ? Héhé, j'y arrive :) Imaginez que nous ayons maintenant trois ordinateurs ... un A, nous, un B, un PC inactif ( C'est a dire qui n'envoie pas de requètes ni rien, n'a pas de traffic réseau, mais est en vie ), et C, le PC a scanner. Nous pingons donc le PC appelé B avec hPing, et il nous donne comme résultats :
( Ici, j'ai pris 127.0.0.1 comme exemple )
CODE
[root@localhost hping2-rc3]# hping 127.0.0.1 -r
HPING 127.0.0.1 (lo 127.0.0.1): NO FLAGS are set, 40 headers + 0 data bytes
len=40 ip=127.0.0.1 ttl=64 DF id=2491 sport=0 flags=RA seq=0 win=0 rtt=0.1 ms
len=40 ip=127.0.0.1 ttl=64 DF id=+1 sport=0 flags=RA seq=1 win=0 rtt=0.1 ms
len=40 ip=127.0.0.1 ttl=64 DF id=+1 sport=0 flags=RA seq=2 win=0 rtt=0.1 ms
len=40 ip=127.0.0.1 ttl=64 DF id=+1 sport=0 flags=RA seq=3 win=0 rtt=0.1 ms
len=40 ip=127.0.0.1 ttl=64 DF id=+1 sport=0 flags=RA seq=4 win=0 rtt=0.1 ms
A noter que les tests ici ont été fait sous Nux, mais qu'il existe une version de hPing pour Windows ( cf www.google.fr ). Bon, on voit donc ici que nous correspondons a la situation requise de B, puisque l'ID ne change que par incrémentation de 1. Donc, pas de requêtes ou autres d'envoyées ou recues par cet ordinateur. Génial ! :)
On prends donc notre hPing, et on envoie des requêtes sur le port 21 par exemple de C avec le flag SYN, en ayant mis l'adresse IP de B comme emetteur du paquet. Donc, le paquet TCP partira de A, sera lu par C, puis reviendra a B ( C croyant que le paquet venait de B ). Seulement, problème, B n'a jamais émis ce paquet !
Admettons maintenant que le port 21 de C soit ouvert... le port recevra donc un paquet SYN, et répondra par .. SYN/ACK a B, qui lui, n'aura rien demandé. Et il répondra par ? Par RST. Et si le port est fermé ? Hé bien alors C enverra un RST a B, qui ne lui répondra pas. Et nous, dans tout ca, on fait quoi ? Comment on récupère les résultats ? C'est la qu'intervient l'ID !
En effet, lorsque un PC recoit une requete ou en envoit, l'ID que nous avions vu dans les résultats de hPing augmente beaucoup plus que lorsque le PC ne recoit / envoie rien. Ainsi, si le PC n'a pas d'activité, alors l'ID n'est incrémenté que de 1, ou parfois 2. On aura donc des résultats de type
+1
+1
+2
+1
+1
+1
+2
+1
etc ...
Si le PC envoie et recoit des données, alors l'ID changera bien plus significativement, et on aura donc :
+1
+2
+3
+5
+6
+3
+1
+4
etc...
Pendant quelques temps, le temps que ca se calme ^^ On peut donc surveiller les activités de B ? Oui, farpaitement ! Donc, si on envoie un paquet SYN/ sur le port 21 de C, et qu'il répond par un SYN/ACK, ca veut donc dire que le port est ouvert, et B recevra donc un SYN/ACK, mais répondra par RST. Donc, activité réseau, c'est possible a detecter avec hPing ! Si le port est fermé ? C envoie RST a B, qui ne lui répondra rien, donc l'activité ( et l'ID ) ne bouge pas, calme plat, et pouf, on sait donc si le port est ouvert !
Cette partie sera plus courte que la partie I, puisque elle est assez simple a mettre en place.
Pour executer cette méthode, vous aurez besoin de :
- l'IP de B
- l'IP de C
- Toujours hPing :)
Vala, donc, on ouvre notre petit prompt, on ouvre aussi hPing, avec la commande suivante :
hping IP_de_B -r
Et pouf, ainsi, on a une surveillance du traffic réseau de B. Magnifique :)
Ensuite, on se charge d'envoyer les paquets sur C, avec la commande suivante :
hping IP_de_C -a IP_de_B -S -p Numéro_de_port
Et la, ô miracle des temps modernes, on peut donc observer voir si le port est ouvert ou non a travers les variations des ID. Vous comprenez là la difficulté a scanner 65 535 ports, c'est qu'il faudrait les faires tous ^^ Donc c'est pratique pour quelques ports, mais faut pas y passer sa journée, hu ...
Dans les logs de C, on voit bien que c'est B qui a tenté de se connecter, et nous, on a donc aucune traces ;) Merci le spoof !
Vala, j'avais dit que c'était court, hein ^^ Mais bon, c'est je trouve assez explicite :)
Houp la, c'est terminé ! Si vous avez questions, commentaires, ou autre, pas de soucis, je suis la, et ca fait toujours plaisir ( ou presque )
(~ Icingtaupe / SnowMole ~) (~ Snow_mole@hotmail.com ~)
Page précédente | Accueil site | Allez Up !