- - H@CKOFF No6 - * - Les sniffers - * - By Sniffdoz & Tobozo- - <---------------------------- . . .this size . . . --------------------------------> ¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø _/ _/ _/_/ _/_/_/ _/ _/ _/_/ _/_/_/_/ _/_/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/_/_/_/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/ _/ _/ _/_/ _/ _/ ¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø ******************************************************************* | Voici le H@ckoff No6 consacre au sniffage des reseaux. | | Un grand merci a Cakeii pour sa contribution majeure a | | l'elaboration de cet article et a Sniffdoz pour les tests. | | Pourquoi le sniffage? Bin en fait les premiers numeros de | | Hackoff etaient plutot orientes neuneus et il en faut pour | | tout le monde. En plus les connexions par cable vont se | | developper de plus en plus chez les fournisseurs d'acces | | ce qui permettra a nos amis newbies de se trouver de nouvelles | | activites apres avoir teste le nuke et le flood (hehehe). | | A l'heure ou ce texte est tape, l'article n'est pas complete | | a 100% mais d'autres numeros suivront avec des infos completant | | cette petite lecon. Si malgre tout vous restez frustres devant | | le cote concis de ce cours magistral, envoyez vos questions a : | | sniffdoz@yahoo.com | ******************************************************************* ¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø Les Sniffers c'est pourquoi faire ? Un sniffer sert à capturer les trames sur un reseau. C'est avant tout un outils d'entreprise il sert à analyser les trames en local ou distant, ce type d'utilitaire est plus en vogue dans le monde du hacking que dans l'administration systeme. Ce qui va etre explique ici (on s'en doute) n'est pas destine a vous aider a optimiser votre reseau d'entreprise, mais plutot a l'eprouver. Comment un sniffer fonctionne-t-il, sur quelle partie du reseau agit-il, est ce une methode totalement transparente et enfin quels sont les softs qui en exploitent mieux ses fonctionnalites ? Les sniffers actuels peuvent analyser les couches et protocoles suivants : -Ethernet standard -TCP/IP -IPX -DECNet. -OSI -XNS -NetWare -NetBeui II peuvent agir sur la partie hard, la partie soft, ou les deux combines. LE PRINCIPE: Les ordinateurs sont dotes d'une carte reseau (reelle ou virtuelle). Les donnees que 2 ordinateurs s'echangent doivent passer par la carte reseau du premier, y être transformees en une trame, transiter par le cable, et passer par la carte reseau du second. Du côte de l'ordinateur, la carte echange des paquets de donnees, et du côte reseau, elle module et demodule des trames. La trame ne transporte pas que des donnees, mais aussi l'adresse de l'ordinateur de destination, et même celle de sa carte reseau. Cela suppose une sequence d'operations, au cours de laquelle les donnees de depart seront 'encapsulees' de ces informations necessaires à leur routage. Chaque carte reseau est estampillee, en usine, d'un numero unique, que l'on appelle l'adresse MAC. d'autres part, toute machine reliee à un reseau possède sa propre adresse IP, affectee par l'administrateur système. POURQUOI 2 ADRESSES ? Simplement pour des raisons de securite et de transit. Il y a des bons et des mauvais cote si on considere l'activite du hacking. Deux adresse simplement pour le 'hard@ et l'autre pour le 'soft' nous avons un reseau dit physique et l'ip represente le cote virtuel du reseau ce qui nous permet simplement d'authentifier un reseau de 2 manières ou 3 si on veut mettre netbeui par exemple ainsi cree des sous reseau. Entre autres, cela permet de ne pas avoir trop d'ennuis si on change d'ordinateur, car l'adresse MAC change alors forcement. Pour etablir la correspondance entre les adresses IP et les adresses MAC, un protocole ARP (Adress Resolution Protocol) est utilise. Cela maintient simplement une table en memoire. Lors de la dernière etape de l'encapsulation, l'enveloppe contenant la bonne adresse MAC est ajoutee après consultation de cette table. Les donnees ainsi "tatouees" beneficient de deux niveaux d'authentification, ce qui permet theoriquement d'eviter que les trames soient lues par la mauvaise machine. LA TRAME DE NOTRE HISTOIRE : Lorsqu'un carte voit passer une trame, elle la "renifle" en examinant son enveloppe externe. La carte va comparer l'adresse MAC de destination à la sienne propre, si ce n'est pas la sienne elle ne lit pas le paquets. Il existe un mode de fonctionnent special des cartes reseau: le mode "mele" ("promiscuous mode"), dans lequel celles-ci vont sans discernement recopier toutes les trames et les transmettre à l'ordinateur, sans les faire disparaitre du reseau. Toute carte reseau peut être mise dans ce mode. L'une de ses applications est l'interconnection de 2 reseaux. Pour cela, l'ordinateur doit avoir 2 cartes reseau, chacune reliee à un reseau, en mode mele. On programme l'ordinateur de sorte que les trames de chaque reseau soient transmises integralement et sans destruction à l'autre. C'est aussi ce mode qui permet de sniffer, puisqu'il suffit de programmer l'ordinateur pour analyser les trames que lui envoie la carte. Utiliser un ordinateur pour renifler les trames qui transitent ne modifie pas les caractèristiques du reseau, et ne permet pas de detecter l'indiscret. Mais.... VOIR L'OEIL DANS LE TROU DE LA SERRURE ? On peut quand même essayer de voir si la carte d'un ordinateur suspect est ou non en mode mele. Mais est-ce possible dans tous les cas ? Selon une rumeur, on aurait trouve un truc permettant de savoir si la carte reseau d'un ordinateur "supect" est en mode mele. La marche à suivre serait même ridiculement simple : Supposons que son nom soit "LAMER". Il suffira de changer son entree dans la table ARP de votre machine : arp -s LAMER 00:FF:00:FF:00:FF Et ensuite, essayer la commande d'echo : ping LAMER Si la la machine vous repond, c'est que c'est un ancien Linux, en mode mele. N'oubliez pas de retablir l'integrite de votre table ARP : arp -d LAMER Notez que cela ne donne rien avec les versions recentes de Linux ou sur un autre OS. En effet cela est du à un bug dans /linux/net/ipv4/arp.c la fonction arp_rcv0 contrôle quand envoyer les reponses ARP. Mais le test est foireux, et cela fonctionnera si l'adresse IP est bonne, même si l'adresse ARP n'est pas la même. Le programme neped.c automatise cette manipulation pour toutes les machines d'un reseau. On peut le telecharger sur : www.rootshell.com/archive-j457nxiqi3gq59dv/199809/neped.c A present pour les cochons qui veulent contrer la manoeuvre, il suffit de reconfigurer votre carte avant de declencher votre sniffeur : /sbin/ipconfig eth0 -arp Cela empechera votre carte reseau de repondre aux requêtes ARP, et donc d'être detectee. PARTIE SOFT Comme nous l'avons vu, un sniffer permet de recuperer les infos passant sur le reseau : password, informations confidentielles, etc... La seule contrainte pour pouvoir utiliser un sniffer est d'avoir un accès aux drivers de la carte reseau de la machine sur laquelle on se trouve. Cet accès est en general interdit par les administrateurs système Unix ou WindowsNT mais un simple PC autonome (sous Windows95 par exemple) disposant d'une carte reseau est suffisant pour se connecter "sauvagement" sur un cable de reseau (en utilisant eventuellement une "prise-vampire"). Dans la seconde etape il nous faut un soft pour 'lire' les packets. Sniffer un reseau demande une certaine pratique et connaissance des reseaux, il ne faut pas par exemple recuperer toutes les trames car vous auriez vite fait de saturer votre disque dur. Un cracker ne sniffe generalement que les 200 à 300 premiers octets de chaque trame (Les logins et les passwords sont dans cette portion). Si vous avez des grandes capacites de stockage, vous pouvez conserver tous ce qui passe et vous amuser a decortiquer ca apres... OU RECUPERER UN SNIFFER: Je vous evite les sniffers commercialises qui vont de 1000 frs à 15000 frs. Il existe beaucoup de sniffer en freeware et shareware. Certains sont excellents pour apprendre à manier cet outils et comprendre les particularites des reseaux. La plupart sont developpe pour UNIX (ou Linux). Voici pour exemple une liste de sniffers commercial : ATM Sniffer analyser from network associates www.networkassociates.com shomiti system century lan analysez www.shomiti.com packetview by klos technologies www.klos.com lanwatch wwww.guesswork.com J'en ai teste quelques un, et la liste ci-dessous sera mise a jour petit a petit (si vous en avez teste, n'hesitez pas a m'envoyer les resultats) : -Esniff Esniff est un standard, base sur UNIX, il a ete realise par la revue Phrack Magazine (online). Il necessite un compilateur C. www.asmodeus.com/archive/IP_toolz/ESNIFF.C http://www.rootshell.com/archive-j457nxiqi3gq59dv/199707/Esniff.c.html http://www.rootshell.com/archive-j457nxiqi3gq59dv/199707/solsniffer.c.html Version solaris 2.X www.chaostic.com/filez/exploites/Esniff.c ftp://ftp.ualg.pt/Linux/system/security/sniffers/Esniff.c -Gobbler Gobbler est un excellent outils si vous voulez apprendre à vous servir des sniffers, il a ete conçu pour MS-DOS, mais il tourne sur windows95. A l'execution du programme cela peut vous sembler un peu confus. Le menu n'est pas très parlant, il apparait en appuyant sur la barre d'espace. Appuyer sur F1 pour obtenir de l'aide. Gobbler peut-être utilise sur un machine locale pour regarder ce qui passe sur le reseau ou sur une machine distante. Ce programme offre un ensemble de fonctions sur le fitrage des packets et vous pouvez specifier le type de packet qui vous interesse. Il fait partie des meilleurs sniffers en freeware http://www.cse.rmit.edu.au/~rdssc/courses/ds738/watt/other/gobbler.zip ftp://ftp.cc.utexas.edu/microlib/dos/network/gobbler.zip ftp://ftp.isar.net/pub/DOS/IP/gobbler.zip -ETHLOAD ETHLOAD est freeware sniffer de packet ecrit en C, pour les reseaux ethernet et token ring, il fonctionne avec la plupart des interfaces reseaux, il peut analyser les protocoles suivants : -TCP/IP -DECnet -OSI -XNS -NetWare -NetBeui Par contre le code source n'est pas disponible. ETHLOAD est capable de sniffer les sessions rlogin et telnet, en revanche cela necessite une cle, qui n'est fournie qu'après certification auprès de l'auteur (du boulot pour les crackers?). ETHLOAD est excellent pour le DOS et Novell ftp://ftp.ic-marl.de/pub/ethernet/ETHLD104.ZIP ftp://ftp.fh-wiesbaden.de/pub/msdos/lan/ETHLD104.ZIP www.apricot.co.uk/ftp/bbs/atsbbs/allfiles.htm -LinSniff C'est un password sniffeur, il tourne sur linux et necessite les fichiers reseaux (tcp.h, ip.h, inet.h, if_ther.h, et la suite). http://www.rootshell.com/archive-j457nxiqi3gq59dv/199804/linsniff.c.html ftp://ftp.win.or.jp/pub/network/misc/exploits/Exploit_Code_Archive/linsniff.c ftp://ftp.musictown.mec.edu/pub/matt/linsniff.c Empecher un attaque au sniffer Maintenant nous allons voir comment fonctionne un sniffer et les danger qui l'entourent. Je vous previens tout de suite : eviter une attaque de sniff est loin d'être simple, 2 approches : -Detecter et eliminer le sniffer -Proteger les donnees contre le sniffer Nous allons regarder la premiere methode de près : DETECTER ET ELIMINER UN SNIFFER Decter un sniffer et extremement difficile, car c'est un programme passif. Il ne genere pas un ralentissement sur le reseau, a moins que le sniffer ne recupère toutes les trames (ce qui est stupide). Il existe quelques softs pour tester la presence d'un sniffer : -Snifftest Snifftest (ecrit par "Beavis and Butthead") essaiera de detecter un sniffer sur sunOS et solaris. IL teste le reseau afin de voir les cartes qui ne sont pas en promiscuous mode (mode mele). ftp://ftp.win.or.jp/pub/network/misc/exploits/Exploit_Code_Archive/snifftest.c -Promisc Promisc peut detecter un sniffer sur Linux. (j'ai appris depuis qu'il tourne aussi sur SunOs, mais je n'ai pas encore verifie) http://geek-girl.com/bugtraq/1997_3/0411.html -CPM CPM est un outil connu sous SunOS4.0, il peut detecter les cartes en promiscuous mode. ftp://info.cert.org/pub/tools/cpm/cpm.1.2.tar.gz Le problème reste que ces utilitaires ne fonctionnent que sur SunOS ou Solaris. Detecter un sniffer dans un reseau heterogène est extremement difficile - difficile, ca l'est surtout si vous ne checkez pas physiquement le reseau. -by sniffdoz- ¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø Voila c'est tout pour ce hackoff mais rassurez vous une page est en plein developpement et en perpetuelle evolution sur le site de Serial Savate System : http://members.tripod.com/cakeii/sniff.htm Des commentaires, des questions, des insultes, ecrivez aux membres du gang : cakeii@yahoo.com tobozo@biosys.net sniffdoz@yahoo.com nums@rocketmail.com Et n'oubliez pas de visiter les sites : --------------------- http://come.to/legang --------------------- http://www.n0past.com ---------------------