renifleur LAN Windows. Renifleurs. Activer le mode promiscuité

Les analyseurs de paquets réseau, ou renifleurs, ont été développés à l'origine pour résoudre les problèmes de réseau. Ils sont capables d'intercepter, d'interpréter et de sauvegarder les paquets transmis sur le réseau pour une analyse plus approfondie. D'une part, il permet aux administrateurs système et aux ingénieurs du support technique de surveiller la façon dont les données sont transférées sur le réseau, de diagnostiquer et de résoudre les problèmes qui surviennent. En ce sens, les renifleurs de paquets sont un outil puissant pour diagnostiquer les problèmes de réseau. D'autre part, comme de nombreux autres outils puissants initialement destinés à l'administration, au fil du temps, les renifleurs ont été utilisés à des fins complètement différentes. En effet, un renifleur entre les mains d'un attaquant est un outil plutôt dangereux et peut être utilisé pour s'emparer de mots de passe et d'autres informations confidentielles. Cependant, ne pensez pas que les renifleurs sont une sorte d'outil magique à travers lequel tout pirate peut facilement visualiser les informations confidentielles transmises sur le réseau. Et avant de prouver que le danger posé par les renifleurs n'est pas aussi grand qu'il est souvent présenté, examinons de plus près les principes de leur fonctionnement.

Comment fonctionne le renifleur de paquets

Plus loin dans cet article, nous ne considérerons que les renifleurs logiciels conçus pour les réseaux Ethernet. Un renifleur est un programme qui fonctionne au niveau de la carte réseau NIC (Network Interface Card) (couche de liaison) et intercepte furtivement tout le trafic. Étant donné que les renifleurs fonctionnent au niveau de la couche liaison de données du modèle OSI, ils n'ont pas à respecter les règles des protocoles de niveau supérieur. Les renifleurs contournent les mécanismes de filtrage (adresses, ports, etc.) que les pilotes Ethernet et la pile TCP/IP utilisent pour interpréter les données. Les renifleurs de paquets capturent tout ce qui passe par le fil. Les renifleurs peuvent enregistrer les images au format binaire et les décrypter ultérieurement pour révéler les informations de niveau supérieur cachées à l'intérieur (Figure 1).

Pour que le renifleur puisse intercepter tous les paquets transitant par la carte réseau, le pilote de la carte réseau doit prendre en charge le mode de fonctionnement promiscuité (promiscuous mode). C'est dans ce mode de fonctionnement de l'adaptateur réseau que le renifleur est capable d'intercepter tous les paquets. Ce mode de fonctionnement de l'adaptateur réseau est automatiquement activé lorsque le renifleur démarre ou est défini manuellement par les paramètres correspondants du renifleur.

Tout le trafic intercepté est transmis au décodeur de paquets, qui identifie et répartit les paquets dans les niveaux appropriés de la hiérarchie. Selon les capacités d'un renifleur particulier, les informations présentées sur les paquets peuvent ensuite être analysées et filtrées plus en détail.

Limitations du renifleur

Les renifleurs représentaient le plus grand danger à l'époque où les informations étaient transmises sur le réseau en texte clair (sans cryptage) et où les réseaux locaux étaient construits sur la base de concentrateurs (hubs). Cependant, cette époque est révolue pour toujours et, de nos jours, l'utilisation de renifleurs pour accéder à des informations confidentielles n'est en aucun cas une tâche facile.

Le fait est que lors de la construction de réseaux locaux basés sur des concentrateurs, il existe un certain support de transmission de données commun (câble réseau) et tous les nœuds du réseau échangent des paquets, en concurrence pour l'accès à ce support (Fig. 2), et le paquet envoyé par un réseau nœud est transmis à tous les ports du concentrateur et ce paquet est écouté par tous les autres nœuds du réseau, mais seul le nœud auquel il est adressé le reçoit. De plus, si un renifleur de paquets est installé sur l'un des nœuds du réseau, alors il peut intercepter tous les paquets du réseau liés à ce segment de réseau (un réseau formé par un concentrateur).

Les commutateurs sont plus intelligents que les hubs de diffusion et isolent le trafic réseau. Le commutateur connaît les adresses des périphériques connectés à chaque port et transfère les paquets uniquement entre les ports requis. Cela vous permet de décharger d'autres ports sans leur transmettre chaque paquet, comme le fait un concentrateur. Ainsi, un paquet envoyé par un certain nœud de réseau est transmis uniquement au port de commutation auquel le destinataire du paquet est connecté, et tous les autres nœuds de réseau sont incapables de détecter ce paquet (Fig. 3).

Par conséquent, si le réseau est construit sur la base d'un commutateur, le renifleur installé sur l'un des ordinateurs du réseau ne peut intercepter que les paquets que cet ordinateur échange avec d'autres nœuds du réseau. Par conséquent, afin de pouvoir intercepter les paquets que l'ordinateur ou le serveur intéressant l'attaquant échange avec le reste des nœuds du réseau, il est nécessaire d'installer le sniffer sur cet ordinateur (serveur), ce qui n'est en fait pas si Facile. Cependant, il convient de garder à l'esprit que certains renifleurs de paquets sont exécutés à partir de la ligne de commande et peuvent ne pas avoir d'interface graphique. De tels renifleurs, en principe, peuvent être installés et exécutés à distance et de manière invisible pour l'utilisateur.

En outre, vous devez également garder à l'esprit que bien que les commutateurs isolent le trafic réseau, tous les commutateurs gérés disposent d'une fonctionnalité de redirection de port ou de mise en miroir de port. C'est-à-dire que le port du commutateur peut être configuré de manière à ce que tous les paquets arrivant sur d'autres ports du commutateur soient dupliqués sur celui-ci. Si dans ce cas un ordinateur avec un renifleur de paquets est connecté à un tel port, alors il peut intercepter tous les paquets échangés entre les ordinateurs de ce segment de réseau. Cependant, en règle générale, la possibilité de configurer le commutateur n'est disponible que pour l'administrateur réseau. Cela, bien sûr, ne signifie pas qu'il ne peut pas être un intrus, mais l'administrateur réseau dispose de nombreuses autres façons de contrôler tous les utilisateurs du réseau local, et il est peu probable qu'il vous surveille de manière aussi sophistiquée.

Une autre raison pour laquelle les renifleurs ne sont plus aussi dangereux qu'auparavant est que, de nos jours, les données les plus importantes sont transmises sous forme cryptée. Les services ouverts et non cryptés disparaissent rapidement d'Internet. Par exemple, lors de la visite de sites Web, le protocole SSL (Secure Sockets Layer) est de plus en plus utilisé ; SFTP (Secure FTP) est utilisé à la place du FTP ouvert, et d'autres services qui n'utilisent pas le cryptage par défaut utilisent de plus en plus des réseaux privés virtuels (VPN).

Ainsi, ceux qui s'inquiètent de la possibilité d'une utilisation malveillante des renifleurs de paquets doivent garder à l'esprit ce qui suit. Tout d'abord, pour constituer une menace sérieuse pour votre réseau, les renifleurs doivent résider dans le réseau lui-même. Deuxièmement, les normes de cryptage d'aujourd'hui rendent extrêmement difficile l'interception d'informations confidentielles. Par conséquent, à l'heure actuelle, les renifleurs de paquets perdent progressivement leur pertinence en tant qu'outils pour les pirates, mais restent en même temps un outil efficace et puissant pour diagnostiquer les réseaux. De plus, les renifleurs peuvent être utilisés avec succès non seulement pour diagnostiquer et localiser les problèmes de réseau, mais également pour auditer la sécurité du réseau. En particulier, l'utilisation d'analyseurs de paquets permet de détecter le trafic non autorisé, de détecter et d'identifier les logiciels non autorisés, d'identifier les protocoles inutilisés pour les supprimer du réseau, de générer du trafic pour les tests d'intrusion afin de tester le système de protection, de travailler avec des systèmes de détection d'intrusion (Intrusion Detection Système, IDS).

Présentation des renifleurs de paquets logiciels

Tous les renifleurs logiciels peuvent être grossièrement divisés en deux catégories : les renifleurs qui prennent en charge le lancement à partir de la ligne de commande et les renifleurs qui ont une interface graphique. Dans le même temps, nous notons qu'il existe des renifleurs qui combinent ces deux fonctionnalités. De plus, les renifleurs diffèrent les uns des autres par les protocoles qu'ils prennent en charge, la profondeur d'analyse des paquets interceptés, la possibilité de configurer des filtres et la possibilité de compatibilité avec d'autres programmes.

En règle générale, la fenêtre de tout renifleur doté d'une interface graphique se compose de trois zones. Le premier affiche un résumé des paquets capturés. Typiquement, cette zone affiche un minimum de champs, à savoir : heure de capture des paquets ; Adresses IP de l'expéditeur et du destinataire du paquet ; Adresses MAC source et destination des paquets, adresses des ports source et destination ; type de protocole (couche réseau, transport ou application) ; quelques informations sommaires sur les données interceptées. La deuxième zone affiche des informations statistiques sur le package individuel sélectionné, et enfin, la troisième zone présente le package sous forme de caractères hexadécimaux ou ASCII.

Presque tous les renifleurs de paquets permettent l'analyse des paquets décodés (c'est pourquoi les renifleurs de paquets sont également appelés analyseurs de paquets ou analyseurs de protocole). Le renifleur distribue les paquets interceptés par couches et protocoles. Certains analyseurs de paquets sont capables de reconnaître le protocole et d'afficher les informations capturées. Ce type d'informations est généralement affiché dans la deuxième zone de la fenêtre du renifleur. Par exemple, n'importe quel renifleur est capable de reconnaître le protocole TCP, et les renifleurs avancés peuvent déterminer quelle application a généré ce trafic. La plupart des analyseurs de protocole reconnaissent plus de 500 protocoles différents et peuvent les décrire et les décoder par leur nom. Plus le renifleur est capable de décoder et de présenter à l'écran d'informations, moins vous avez à décoder manuellement.

Un problème que les renifleurs de paquets peuvent rencontrer est de ne pas pouvoir identifier correctement un protocole utilisant un port autre que le port par défaut. Par exemple, afin d'améliorer la sécurité, certaines applications bien connues peuvent être configurées pour utiliser des ports autres que les ports par défaut. Ainsi, au lieu du traditionnel port 80 réservé à un serveur web, ce serveur peut être contraint de se reconfigurer sur le port 8088 ou tout autre. Certains analyseurs de paquets dans cette situation ne sont pas en mesure de déterminer correctement le protocole et n'affichent que des informations sur le protocole de niveau inférieur (TCP ou UDP).

Il existe des renifleurs logiciels fournis avec des modules analytiques logiciels sous forme de plug-ins ou de modules intégrés qui vous permettent de créer des rapports contenant des informations analytiques utiles sur le trafic intercepté.

Une autre caractéristique de la plupart des renifleurs de paquets logiciels est la possibilité de configurer des filtres avant et après la capture du trafic. Des filtres séparent certains paquets du trafic général selon un critère donné, ce qui permet de se débarrasser d'informations inutiles lors de l'analyse du trafic.

Renifleurs- ce sont des programmes qui interceptent
tout le trafic réseau. Les renifleurs sont utiles pour les diagnostics réseau (pour les administrateurs) et
pour intercepter les mots de passe (il est clair pour qui :)). Par exemple, si vous avez accès à
une machine réseau et y a installé un renifleur,
puis bientôt tous les mots de passe de
leurs sous-réseaux seront les vôtres. Les renifleurs mettent
carte réseau à l'écoute
mode (PROMISC), c'est-à-dire qu'ils reçoivent tous les paquets. En LAN, vous pouvez intercepter
tous les paquets envoyés depuis toutes les machines (si vous n'êtes séparés par aucun hub),
Donc
comment la radiodiffusion y est pratiquée.
Les renifleurs peuvent tout intercepter
packages (ce qui est très gênant, le fichier journal déborde terriblement vite,
mais pour une analyse plus détaillée du réseau, c'est le plus)
ou seulement les premiers octets de n'importe quel
ftp, telnet, pop3, etc. (c'est le plus amusant, généralement dans les 100 premiers octets
contient le nom d'utilisateur et le mot de passe. Renifleur maintenant
divorcé ... Il y a beaucoup de renifleurs
aussi bien sous Unix que sous Windows (même sous DOS il y en a :)).
Les renifleurs peuvent
supporte uniquement un axe spécifique (par exemple linux_sniffer.c qui
prend en charge Linux :)), ou plusieurs (par exemple, Sniffit,
fonctionne avec BSD, Linux, Solaris). Les renifleurs sont devenus si riches parce que
que les mots de passe sont transmis sur le réseau en texte clair.
De tels services
beaucoup. Ce sont telnet, ftp, pop3, www, etc. Ces prestations
aime beaucoup
personnes :). Après le boom des renifleurs, divers
algorithmes
cryptage de ces protocoles. SSH est apparu (alternative
telnet qui prend en charge
chiffrement), SSL (Secure Socket Layer - un développement de Netscape capable de chiffrer
session www). Toutes sortes de Kerberous, VPN (Virtual Private
réseau). Certains AntiSniff, ifstatus, etc. ont été utilisés. Mais ce n'est fondamentalement pas
changé de poste. Services qui utilisent
transmission du mot de passe en texte clair
yuzayutsya en tout :). Par conséquent, renifler sera pour longtemps :).

Implémentations Windows des renifleurs

renifleur
Il s'agit d'un simple renifleur pour intercepter
identifiants/mots de passe. Compilation standard (gcc -o linsniffer
linsniffer.c).
Le journal écrit dans tcp.log.

linux_sniffer
Linux_sniffer
requis quand vous voulez
étudier le réseau en détail. Standard
compilation. Donne tout shnyag supplémentaire,
comme isn, ack, syn, echo_request (ping), etc.

renifler
Sniffit - modèle avancé
renifleur écrit par Brecht Claerhout. Installer (besoin
libcap):
#./configurer
#Fabriquer
Maintenant, nous lançons
renifleur :
#./snifffit
utilisation : ./sniffit [-xdabvnN] [-P proto] [-A char] [-p
port] [(-r|-R) fichier d'enregistrement]
[-l sniflen] [-L logparam] [-F snifdevice]
[-M greffon]
[-D tty] (-t | -s ) |
(-i|-I) | -c ]
Plugins disponibles :
0 -- Factice
brancher
1 -- Plug-in DNS

Comme vous pouvez le voir, sniffit prend en charge de nombreux
options. Vous pouvez utiliser sniffak de manière interactive.
Renifler cependant
programme assez utile, mais je ne l'utilise pas.
Pourquoi? Parce que Sniffit a
gros problèmes de sécurité. Pour Sniffit "a, une racine distante et dos pour
Linux et Debian ! Tous les renifleurs ne se le permettent pas :).

CHASSE
il
mon reniflement préféré. Il est très facile à manipuler
supporte beaucoup de cool
puces et n'a actuellement aucun problème de sécurité.
En plus pas grand chose
pointilleux sur les bibliothèques (comme linsniffer et
Linux_sniffer). Il
peut intercepter les connexions en cours en temps réel et sous
vidage propre à partir d'un terminal distant. À
en général, détourner
règlezzz :). Recommander
le tout pour une utilisation renforcée :).
installer:
#Fabriquer
Cours:
#chasse-je

READSMB
Renifleur READSMB coupé de LophtCrack et porté sur
Unix (curieusement :)). Readsmb intercepte SMB
paquets.

TCPDUMP
tcpdump est un renifleur de paquets assez connu.
Écrit
encore plus célèbre est Van Jacobson, qui a inventé la compression VJ pour
PPP et écrit traceroute (et qui sait quoi d'autre ?).
Nécessite une bibliothèque
libpcap.
installer:
#./configurer
#Fabriquer
Maintenant, nous lançons
sa:
#tcpdump
tcpdump : écoute sur ppp0
Toutes vos connexions sortent vers
Terminal. Voici un exemple de sortie ping

ftp.technotronic.com :
02:03:08.918959
195.170.212.151.1039 > 195.170.212.77.domaine : 60946+ A ?
ftp.technotronic.com.
(38)
02:03:09.456780 195.170.212.77.domain > 195.170.212.151.1039 : 60946*
1/3/3 (165)
02:03:09.459421 195.170.212.151 > 209.100.46.7 : icmp : écho
demande
02:03:09.996780 209.100.46.7 > 195.170.212.151 : icmp : écho
Réponse
02:03:10.456864 195.170.212.151 > 209.100.46.7 : icmp : écho
demande
02:03:10.906779 209.100.46.7 > 195.170.212.151 : icmp : écho
Réponse
02:03:11.456846 195.170.212.151 > 209.100.46.7 : icmp : écho
demande
02:03:11.966786 209.100.46.7 > 195.170.212.151 : icmp : écho
Réponse

En général, le sniff est utile pour le débogage des réseaux,
dépannage et
etc.

Renifleur
Dsniff nécessite libpcap, ibnet,
libnids et OpenSSH. Enregistre uniquement les commandes saisies, ce qui est très pratique.
Voici un exemple de journal de connexion
sur unix-shells.com :

02/18/01
03:58:04 tcp mon.ip.1501 ->
handi4-145-253-158-170.arcor-ip.net.23
(telnet)
stalsen
asdqwe123
ls
pwd
qui
dernière
sortir

Ici
dsniff a intercepté la connexion avec le mot de passe (stalsen/asdqwe123).
installer:
#./configurer
#Fabriquer
#Fabriquer
installer

Protection contre les renifleurs

Le moyen le plus sûr de se protéger contre
renifleurs -
utiliser le CRYPTAGE (SSH, Kerberous, VPN, S/Key, S/MIME,
SHTTP, SSL, etc.). bien
et si vous ne souhaitez pas refuser les services en texte brut et établir des
paquets :)? Alors il est temps d'utiliser des packages anti-renifleur...

AntiSniff pour Windows
Ce produit a été lancé par un groupe bien connu
grenier. C'était le premier produit de ce genre.
AntiSniff comme indiqué dans
La description:
"AntiSniff est un outil piloté par une interface utilisateur graphique (GUI) pour
détection des cartes d'interface réseau (NIC) promiscuité sur votre réseau local
segment". En général, il attrape les cartes en mode promisc.
Prend en charge énorme
nombre de tests (test DNS, test ARP, test Ping, ICMP Time Delta
test, test d'écho, test PingDrop). Peut être scanné comme une seule voiture,
la grille aussi. Il y a
prise en charge des journaux. AntiSniff fonctionne sur win95/98/NT/2000,
bien que recommandé
plate-forme NT. Mais son règne fut de courte durée et bientôt
fois, un renifleur appelé AntiAntiSniffer est apparu :),
écrit par Mike
Perry (Mike Perry) (vous pouvez le trouver sur www.void.ru/news/9908/snoof.txt).
basé sur LinSniffer (discuté plus tard).

Le renifleur Unix détecte :
Renifleur
peut être trouvé avec la commande :

#ifconfig -a
lo Link encap:Local
bouclage
adresse inet : 127.0.0.1Masque : 255.0.0.0
EN HAUT.
LOOPBACK RUNNING MTU : 3924 Métrique : 1
Paquets RX : 2373 erreurs : 0
abandonné : 0 dépassements : 0 image : 0
Paquets TX : 2373 erreurs : 0 rejetées : 0
dépassements:0 transporteur:0
collisions:0 txqueuelen:0

ppp0 Lien
encap:Protocole point à point
adresse inet : 195.170.y.x
P-t-P : 195.170.y.x Masque : 255.255.255.255
UP POINTOPOINT PROMIS
EXÉCUTION NOARP MULTICAST MTU : 1500 Métrique : 1
Paquets RX : 3281
erreurs : 74 supprimées : 0 dépassements : 0 trame : 74
Paquets TX : 3398 erreurs : 0
abandonné : 0 dépassements : 0 transporteur : 0
collisions:0 txqueuelen:10

Comme
vous voyez que l'interface ppp0 est en mode PROMISC. Soit l'opérateur
sniff téléchargé pour
vérifications du réseau, ou vous avez déjà ... Mais rappelez-vous,
que ifconfig peut être en toute sécurité
échangez, utilisez donc le fil de déclenchement pour détecter
changements et toutes sortes de programmes
pour vérifier les reniflements.

AntiSniff pour Unix.
Fonctionne pour
BSD, Solaris et
linux. Prend en charge le test de temps ping/icmp, le test arp, le test d'écho, le dns
test, test etherping, en général, un analogue d'AntiSniff "et pour Win, uniquement pour
Unix :).
installer:
#make linux-all

Sentinelle
Utile aussi pour
attraper des renifleurs. Prend en charge de nombreux tests.
Justin
utiliser.
Installer : #make
#./sentinelle
./sentinelle [-t
]
Méthodes :
[-un test ARP]
[ -d test DNS
]
[ -i Test de latence de ping ICMP ]
[ -e Test d'Etherping ICMP
]
choix :
[-F ]
[ -v Afficher la version et
sortir]
[-n ]
[-JE
]

Les options sont si simples qu'aucun
commentaires.

SUITE

Voici quelques autres
utilitaires pour tester votre réseau (par
Unix):
packetstorm.securify.com/UNIX/IDS/scanpromisc.c -remote
Détecteur de mode PROMISC pour les cartes Ethernet (pour Red Hat 5.x).
http://packetstorm.securify.com/UNIX/IDS/neped.c
- Détecteur Ethernet Promiscuous Réseau (libcap & Glibc requis).
http://packetstorm.securify.com/Exploit_Code_Archive/promisc.c
-Scanne les périphériques du système pour détecter les reniflements.
http://packetstorm.securify.com/UNIX/IDS/ifstatus2.2.tar.gz
- ifstatus teste les interfaces réseau en mode PROMISC.

Lorsqu'un utilisateur ordinaire entend le terme "renifleur", il s'intéresse immédiatement à ce que c'est et pourquoi il est nécessaire.

Nous allons essayer de tout expliquer en termes simples.

Cependant, cet article sera destiné non seulement aux utilisateurs novices, mais également aux.

Définition

Renifleur est un analyseur de trafic. À son tour, le trafic est l'ensemble des informations qui transitent par les réseaux informatiques.

Cet analyseur regarde quelles informations sont transmises. Pour ce faire, il doit être intercepté. En fait, c'est une chose illégale, car de cette manière, les gens ont souvent accès aux données d'autres personnes.

Cela peut être comparé à un vol de train - l'intrigue classique de la plupart des westerns.

Vous transférez des informations à un autre utilisateur. Elle est conduite par un "train", c'est-à-dire un canal de réseau.

Les connards de la bande de Bloody Joe interceptent le train et le volent jusqu'à la peau. Dans notre cas, l'information va plus loin, c'est-à-dire que les attaquants ne la volent pas dans le vrai sens du terme.

Mais disons que ces informations sont des mots de passe, des enregistrements personnels, des photos, etc.

Les attaquants peuvent simplement tout réécrire et tout photographier. De cette façon, ils auront accès à des données sensibles que vous souhaiteriez cacher.

Oui, vous aurez toutes ces informations, elles vous parviendront.

Mais vous saurez que de parfaits inconnus savent la même chose. Mais au 21ème siècle, l'information est ce qu'il y a de plus précieux !

Dans notre cas, ce principe est utilisé. Certaines personnes arrêtent le trafic, en lisent les données et les envoient plus loin.

Certes, dans le cas des renifleurs, tout n'est pas toujours aussi effrayant. Ils sont utilisés non seulement pour obtenir un accès non autorisé aux données, mais aussi pour analyser le trafic lui-même. Il s'agit d'une partie importante du travail des administrateurs système et uniquement des administrateurs de diverses ressources. Cela vaut la peine de parler de l'application plus en détail. Mais avant cela, nous aborderons le fonctionnement de ces mêmes renifleurs.

Principe d'opération

En pratique, les renifleurs peuvent être des appareils portables qui sont littéralement placés sur un câble et lisent des données et des programmes à partir de celui-ci.

Dans certains cas, il s'agit simplement d'un ensemble d'instructions, c'est-à-dire de codes qui doivent être saisis dans une certaine séquence et dans un certain environnement de programmation.

Si plus en détail que l'interception du trafic par de tels dispositifs peut être lu de l'une des manières suivantes :

1 En installant des concentrateurs au lieu de commutateurs. En principe, l'écoute d'une interface réseau peut se faire d'autres manières, mais elles sont toutes inefficaces.

2 En connectant un renifleur littéral à la coupure de canal. C'est exactement ce qui a été discuté ci-dessus - et un petit appareil est installé qui lit tout ce qui se déplace le long du canal.

3 Installation d'une branche à partir du trafic. Cette branche est acheminée vers un autre appareil, éventuellement décryptée, et envoyée à l'utilisateur.

4 Une attaque visant à rediriger complètement le trafic vers un renifleur. Bien entendu, une fois que les informations sont entrées dans le lecteur, elles sont à nouveau envoyées à l'utilisateur final, à qui elles étaient initialement destinées. dans sa forme la plus pure !

5 En analysant le rayonnement électromagnétique qui surviennent en raison du mouvement du trafic. C'est la méthode la plus complexe et la moins utilisée.

Voici un exemple du fonctionnement de la deuxième méthode.

Certes, il est montré ici que le lecteur est simplement connecté au câble.

En fait, le faire de cette façon est presque impossible.

Le fait est que l'utilisateur final remarquera toujours qu'à un certain endroit, il y a une rupture dans le canal.

Le principe même de fonctionnement d'un renifleur conventionnel repose sur le fait qu'au sein d'un segment, ils sont envoyés à toutes les machines connectées. Assez idiot, mais jusqu'à présent, il n'y a pas de méthode alternative! Et entre les segments, les données sont transmises à l'aide de commutateurs. C'est là qu'apparaît la possibilité d'intercepter des informations par l'une des méthodes ci-dessus.

En fait, cela s'appelle des cyberattaques et du piratage !

Soit dit en passant, si vous installez correctement ces mêmes commutateurs, vous pouvez complètement protéger le segment contre toutes sortes de cyberattaques.

Il existe d'autres méthodes de protection, dont nous parlerons à la toute fin.

Informations utiles:

Faites attention au programme. Il est utilisé pour analyser le trafic réseau et analyser les paquets de données, pour lesquels la bibliothèque pcap est utilisée. Cela réduit considérablement le nombre de packages disponibles pour l'analyse, car seuls les packages pris en charge par cette bibliothèque peuvent être analysés.

Application

Bien sûr, tout d'abord, ce concept a l'application décrite ci-dessus, c'est-à-dire les attaques de pirates et l'obtention illégale de données utilisateur.

Mais en plus de cela, les renifleurs sont également utilisés dans d'autres domaines, et plus particulièrement dans le travail des administrateurs système.

En particulier, de tels appareils Les programmes vous aident à effectuer les opérations suivantes :

Comme vous pouvez le voir, les appareils ou programmes que nous envisageons peuvent grandement faciliter le travail des administrateurs système et des autres personnes qui utilisent les réseaux. Et c'est nous tous.

Passons maintenant au plus intéressant - un aperçu des programmes de renifleur.

Nous avons compris ci-dessus qu'ils peuvent être fabriqués sous la forme d'appareils physiques, mais dans la plupart des cas, des appareils spéciaux sont utilisés.

Étudions-les.

Programmes de renifleur

Voici une liste des programmes de ce type les plus populaires :

commview. Le programme est payant, comme tous les autres de notre liste. Une licence minimale coûte 300 $. Mais la fonctionnalité du logiciel est la plus riche. La première chose à noter est la possibilité de règles d'auto-établissement. Par exemple, vous pouvez faire en sorte que (ces protocoles) soient complètement ignorés. Il convient également de noter que le programme vous permet d'afficher les détails et le journal de tous les paquets transférés. Il existe une version standard et une version Wi-Fi.

Spynet. C'est, en fait, le cheval de Troie dont nous sommes tous si fatigués. Mais il peut aussi être utilisé à des fins nobles dont nous avons parlé plus haut. Le programme intercepte et qui sont dans le trafic. Il existe de nombreuses caractéristiques inhabituelles. Par exemple, vous pouvez recréer les pages Internet visitées par la "victime". Il est à noter que ce logiciel est gratuit, mais il est assez difficile de le trouver.

BUTTSniffer. Il s'agit d'un renifleur dans sa forme la plus pure, qui aide à analyser les paquets réseau et non à intercepter les mots de passe et l'historique du navigateur d'autres personnes. C'est du moins ce que pensait l'auteur. En fait, sa création est utilisée, vous savez quoi. Il s'agit d'un programme batch normal qui fonctionne via la ligne de commande. Pour commencer, deux fichiers sont téléchargés et exécutés. Les paquets "capturés" sont stockés sur le disque dur, ce qui est très pratique.

Il existe de nombreux autres programmes de renifleurs. Par exemple, fsniff, WinDump, dsniff, NatasX, NetXRay, CooperSniffer, LanExplorer, Net Analyzer et bien d'autres sont connus. Choisissez n'importe lequel! Mais, en toute honnêteté, il convient de noter que le meilleur est CommView.

Nous avons donc analysé ce que sont les renifleurs, comment ils fonctionnent et ce qu'ils sont.

Passons maintenant de la place d'un pirate informatique ou d'un administrateur système à la place d'un utilisateur ordinaire.

Nous sommes bien conscients que nos données peuvent être volées. Que faire pour éviter que cela se produise ? (ici). Il fonctionne extrêmement simplement - il analyse le réseau à la recherche de toutes sortes d'espions et signale s'il en trouve. C'est le principe le plus simple et le plus compréhensible qui permet de se protéger des cyberattaques.

3 Utilisez PromScan. En termes de propriétés et de tâches, ce programme est très similaire à AntiSniff pour Windows, alors choisissez-en un. Il existe également de nombreux liens de téléchargement sur le net (en voici un). Il s'agit d'un programme innovant qui vous permet de contrôler à distance les ordinateurs connectés au même réseau. Le principe de son fonctionnement est de déterminer les nœuds qui ne doivent pas être dans le réseau. En fait, ce sont très probablement les renifleurs. Le programme les détecte et le signale par un message éloquent. Très confortablement!.

4 Utiliser la cryptographie, et s'il est déployé, un système cryptographique à clé publique. Il s'agit d'un système spécial de cryptage ou de signature électronique. Son "truc" est que la clé est publique et que tout le monde peut la voir, mais il est impossible de modifier les données, car cela doit être fait sur tous les ordinateurs du réseau en même temps. Une méthode merveilleuse est comme un appât pour un voleur. Dans vous pouvez en savoir plus sur la blockchain, où un tel système est utilisé.

5 Ne téléchargez pas de programmes suspects, n'allez pas sur des sites suspects, etc. Chaque utilisateur moderne le sait, et pourtant c'est ce chemin qui est le principal pour introduire des chevaux de Troie et d'autres sales tours dans votre système d'exploitation. Par conséquent, soyez très responsable lorsque vous utilisez Internet en principe !

Si vous avez d'autres questions, posez-les dans les commentaires ci-dessous.

Nous espérons que nous avons pu tout expliquer dans un langage simple et compréhensible.

Dans cet article, nous verrons comment créer un renifleur simple pour le système d'exploitation Windows.
Qui s'en soucie, bienvenue sous le chat.

Introduction

Cible:écrire un programme qui capturera le trafic réseau (Ethernet, WiFi) transmis sur le protocole IP.
Fonds: Visual Studio 2005 ou supérieur.
L'approche décrite ici n'appartient pas personnellement à l'auteur et est utilisée avec succès dans de nombreux programmes commerciaux, ainsi que catégoriquement gratuits (bonjour, GPL).
Cet ouvrage s'adresse avant tout aux débutants en programmation réseau, qui ont cependant au moins des connaissances de base sur les sockets en général, et les sockets windows en particulier. Ici, j'écrirai souvent des choses bien connues, car le domaine est spécifique, si vous manquez quelque chose, il y aura du désordre dans votre tête.

J'espère que vous le trouverez intéressant.

Théorie (la lecture est facultative, mais souhaitable)

À l'heure actuelle, la grande majorité des réseaux d'information modernes reposent sur la base de la pile de protocoles TCP / IP. La pile de protocoles TCP/IP (Transmission Control Protocol/Internet Protocol) est un nom collectif pour les protocoles réseau de différents niveaux utilisés dans les réseaux. Dans cet article, nous nous intéresserons principalement au protocole IP - un protocole réseau routable utilisé pour la livraison non garantie de données divisées en soi-disant paquets (un terme plus correct est un datagramme) d'un nœud de réseau à un autre.
Les paquets IP destinés à la transmission d'informations nous intéressent particulièrement. Il s'agit d'un niveau suffisamment élevé du modèle de données de réseau OSI, lorsqu'il est possible de faire abstraction du dispositif et du support de transmission de données, en ne fonctionnant qu'avec une représentation logique.
Il est tout à fait logique que tôt ou tard apparaissent des outils d'interception, de contrôle, de comptabilisation et d'analyse du trafic réseau. De tels outils sont généralement appelés analyseurs de trafic, analyseurs de paquets ou renifleurs (de l'anglais sniff - sniff). Il s'agit d'un analyseur de trafic réseau, un programme ou un dispositif logiciel et matériel conçu pour intercepter puis analyser, ou analyser uniquement le trafic réseau destiné à d'autres nœuds.

Pratique (parler au point)

À l'heure actuelle, de nombreux logiciels ont été créés pour écouter le trafic. Le plus célèbre d'entre eux : Wireshark. Naturellement, l'objectif ne vaut pas la peine de récolter ses lauriers - nous nous intéressons à la tâche d'intercepter le trafic par "l'écoute" habituelle de l'interface réseau. Il est important de comprendre que nous n'allons pas nous engager dans le piratage et l'interception étranger Circulation. Il vous suffit de visualiser et d'analyser le trafic qui transite par notre hébergeur.

Pourquoi cela pourrait être nécessaire :

  1. Affichez le flux de trafic actuel via la connexion réseau (entrant/sortant/total).
  2. Redirigez le trafic vers un autre hôte pour une analyse plus approfondie.
  3. Théoriquement, vous pouvez essayer de l'utiliser pour pirater un réseau WiFi (nous n'allons pas le faire, n'est-ce pas ?).
Contrairement à Wireshark, qui est basé sur la bibliothèque libpcap/WinPcap, notre analyseur n'utilisera pas ce pilote. Qu'y a-t-il, nous n'aurons pas du tout de pilote, et nous n'allons pas écrire notre propre NDIS (horreur !) Vous pouvez lire à ce sujet dans ce fil. Il ne sera qu'un observateur passif utilisant seul Bibliothèque WinSock. L'utilisation d'un pilote dans ce cas est redondante.

Comment? Très simple.
L'étape clé pour transformer une simple application réseau en un analyseur de réseau consiste à basculer l'interface réseau en mode promiscuité, ce qui lui permettra de recevoir des paquets adressés à d'autres interfaces du réseau. Ce mode force la carte réseau à accepter toutes les trames, quel que soit leur destinataire sur le réseau.

A partir de Windows 2000 (NT 5.0), créer un programme à écouter sur un segment de réseau est devenu très facile, car son pilote réseau permet de mettre le socket en mode de réception de tous les paquets.

Activer le mode promiscuité
indicateur long = 1 ; DOUILLE prise; #define SIO_RCVALL 0x98000001 ioctlsocket(socket, SIO_RCVALL, &RS_Flag);
Notre programme fonctionne sur des paquets IP et utilise la bibliothèque Windows Sockets version 2.2 et des sockets bruts. Pour accéder directement à un paquet IP, le socket doit être créé comme suit :
Création d'un socket brut
s = socket(AF_INET, SOCK_RAW, IPPROTO_IP);
Ici au lieu d'une constante SOCK_STREAM(protocole TCP) ou SOCK_DGRAM(protocole UDP), on utilise la valeur SOCK_RAW. D'une manière générale, travailler avec des sockets bruts n'est pas seulement intéressant du point de vue de la capture de trafic. En fait, nous obtenons un contrôle total sur la formation du paquet. Ou plutôt, on le forme manuellement, ce qui permet, par exemple, d'envoyer un paquet ICMP spécifique...

Poursuivre. On sait qu'un paquet IP se compose d'un en-tête, d'informations de service et, en fait, de données. Je vous conseille de regarder ici pour rafraichir vos connaissances. Décrivons l'en-tête IP comme une structure (grâce à l'excellent article sur RSDN) :

Description de la structure du paquet IP
typedef struct _IPHeader ( unsigned char ver_len; // version et longueur de l'en-tête unsigned char tos; // type de service unsigned short length; // longueur du paquet entier unsigned short id; // Id unsigned short flgs_offset ; // flags et offset unsigned char ttl ; // protocole de char non signé à vie ; // protocole somme x courte non signée ; // somme de contrôle src longue non signée ; // adresse IP source destination longue non signée ; // adresse IP de destination non signée courte *params ; // paramètres (jusqu'à 320 bits) caractère non signé *données ; // données (jusqu'à 65 535 octets) )IPHeader ;
La fonction principale de l'algorithme d'écoute ressemblera à ceci :
Fonction de capture de paquet unique
IPHeader* RS_Sniff() ( IPHeader *hdr; int count = 0; count = recv(RS_SSocket, (char*)&RS_Buffer, sizeof(RS_Buffer), 0); if (count >= sizeof(IPHeader)) ( hdr = (LPIPHeader )malloc(MAX_PACKET_SIZE); memcpy(hdr, RS_Buffer, MAX_PACKET_SIZE); RS_UpdateNetStat(count, hdr); return hdr; ) sinon return 0; )
Tout est simple ici : on récupère une partie des données grâce à la fonction socket standard recv, puis copiez-les dans une structure telle que En-tête IP.
Et enfin, nous démarrons une boucle infinie de capture de paquets :
Capturer tous les paquets qui atteindront notre interface réseau
while (true) ( ​​​​IPHeader* hdr = RS_Sniff(); // traiter le paquet IP if (hdr) ( // imprimer l'en-tête dans la console ) )
Un peu hors sujet
Ci-après, l'auteur a préfixé certaines fonctions et variables importantes avec RS_ (de Raw Sockets). Le projet a été réalisé il y a 3-4 ans, et il y avait une idée folle d'écrire une bibliothèque à part entière pour travailler avec des sockets bruts. Comme c'est souvent le cas, après avoir obtenu des résultats significatifs (pour l'auteur), l'enthousiasme s'est estompé et l'affaire n'est pas allée plus loin que l'exemple de formation.

En principe, vous pouvez aller plus loin et décrire les en-têtes de tous les protocoles suivants ci-dessus. Pour cela, il faut analyser le terrain protocole dans la structure En-tête IP. Regardez l'exemple de code (oui, il devrait y avoir un commutateur, bon sang !), où l'en-tête est coloré en fonction du protocole du paquet encapsulé IP :

/* * Mise en surbrillance des paquets */ void ColorPacket(const IPHeader *h, const u_long haddr, const u_long whost = 0) ( if (h->xsum) SetConsoleTextColor(0x17); // si le pack n'est pas vide else SetConsoleTextColor(0x07 ) ); // package vide if (haddr == h->src) ( SetConsoleTextColor(BACKGROUND_BLUE | /*BACKGROUND_INTENSITY |*/ FOREGROUND_RED | FOREGROUND_INTENSITY); // package de retour "natif" ) else if (haddr == h->dest ) ( SetConsoleTextColor(BACKGROUND_BLUE | /*BACKGROUND_INTENSITY |*/ FOREGROUND_GREEN | FOREGROUND_INTENSITY); // paquet de réception "natif" ) if (h->protocol == PROT_ICMP || h->protocol == PROT_IGMP) ( SetConsoleTextColor(0x70) ; // paquet ICMP ) else if(h->protocol == PROT_IP || h->protocol == 115) ( SetConsoleTextColor(0x4F); // paquet IP-in-IP, L2TP ) else if(h->protocol = = 53 || h->protocol == 56) ( SetConsoleTextColor(0x4C); // TLS, IP with Encryption ) if(whost == h->dest || whost == h->src) ( SetConsoleTextColor (0x0A) ; ) )

Cependant, cela dépasse largement le cadre de cet article. Pour notre exemple de formation, il suffira de regarder les adresses IP des hôtes à partir desquels et vers lesquels le trafic va, et de calculer son montant par unité de temps (le programme fini est dans l'archive à la fin de l'article ).

Afin d'afficher les données d'en-tête IP, une fonction doit être implémentée pour convertir l'en-tête du datagramme (mais pas les données) en une chaîne. Comme exemple d'implémentation, nous pouvons proposer l'option suivante :

Conversion d'un en-tête IP en chaîne
inline char* iph2str(IPHeader *iph) ( const int BUF_SIZE = 1024; char *r = (char*)malloc(BUF_SIZE); memset((void*)r, 0, BUF_SIZE); sprintf(r, "ver=% d hlen=%d tos=%d len=%d id=%d flags=0x%X offset=%d ttl=%dms prot=%d crc=0x%X src=%s dest=%s", BYTE_H (iph->ver_len), BYTE_L(iph->ver_len)*4, iph->tos, ntohs(iph->length), ntohs(iph->id), IP_FLAGS(ntohs(iph->flgs_offset)), IP_OFFSET (ntohs(iph->flgs_offset)), iph->ttl, iph->protocol, ntohs(iph->xsum), nethost2str(iph->src), nethost2str(iph->dest)); return r; )
Sur la base des informations de base ci-dessus, nous obtenons un si petit programme (le terrible nom ss, abréviation de l'anglais simple sniffer), qui implémente l'écoute locale du trafic IP. Son interface est illustrée ci-dessous dans la figure.

Je fournis le code source et binaire tel quel, tel qu'il était il y a plusieurs années. Maintenant, j'ai peur de le regarder, et pourtant, c'est assez lisible (bien sûr, il ne faut pas être aussi sûr de soi). Même Visual Studio Express 2005 suffira pour la compilation.

Ce qu'on a fini avec :

  • Le renifleur s'exécute en mode utilisateur, mais nécessite des privilèges d'administrateur.
  • Les paquets ne sont pas filtrés et s'affichent tels quels (des filtres personnalisés peuvent être ajoutés - je suggère que nous abordions ce sujet en détail dans le prochain article, si cela vous intéresse).
  • Le trafic WiFi est également capturé (tout dépend du modèle de puce spécifique, cela peut ne pas fonctionner pour vous, comme cela a été le cas pour moi il y a quelques années), bien qu'il existe AirPcap, qui peut le faire à merveille, mais coûte de l'argent.
  • L'intégralité du flux de datagrammes est enregistrée dans un fichier (voir l'archive jointe à la fin de l'article).
  • Le programme s'exécute en tant que serveur sur le port 2000. Vous pouvez telnet à un hôte et surveiller les flux de trafic. Le nombre de connexions est limité à vingt (le code n'est pas de moi, je l'ai trouvé sur Internet et je l'ai utilisé pour des expériences, je ne l'ai pas supprimé - c'est dommage)
Merci pour votre attention, félicitations aux Khabrovites et Khabrovites et tout-tout-tout avec le Noël qui approche!

Un renifleur n'est pas toujours malveillant. En effet, ce type de logiciel est souvent utilisé pour analyser le trafic réseau afin de détecter et corriger les anomalies et assurer un fonctionnement ininterrompu. Cependant, le renifleur peut être utilisé avec une intention malveillante. Les renifleurs analysent tout ce qui les traverse, y compris les mots de passe et les informations d'identification non chiffrés, afin que les pirates ayant accès au renifleur puissent s'emparer des informations personnelles des utilisateurs. De plus, le renifleur peut être installé sur n'importe quel ordinateur connecté au réseau local, sans qu'il soit nécessaire de l'installer sur l'appareil lui-même - en d'autres termes, il ne peut pas être détecté pendant toute la durée de la connexion.

D'où viennent les renifleurs ?

Les pirates utilisent des renifleurs pour voler des données précieuses en surveillant l'activité du réseau et en collectant des informations personnelles sur les utilisateurs. En règle générale, les attaquants sont plus intéressés par les mots de passe et les informations d'identification des utilisateurs afin d'accéder aux comptes bancaires en ligne et aux achats en ligne qui les utilisent. Le plus souvent, les pirates installent des renifleurs dans des endroits où des connexions Wi-Fi non sécurisées sont distribuées, par exemple dans les cafés, les hôtels et les aéroports. Les renifleurs peuvent se faire passer pour un appareil connecté au réseau dans le cadre de l'attaque dite d'usurpation d'identité afin de voler des données précieuses.

Comment reconnaître un renifleur ?

Les renifleurs malveillants sont extrêmement difficiles à reconnaître virtuellement, car ils peuvent être installés presque n'importe où, ce qui représente une menace très sérieuse pour la sécurité du réseau. Les utilisateurs ordinaires n'ont souvent aucune chance de reconnaître qu'un renifleur surveille leur trafic réseau. Il est théoriquement possible d'installer un renifleur personnalisé qui renifle tout le trafic DNS pour d'autres renifleurs, mais il est beaucoup plus facile pour l'utilisateur moyen d'installer un logiciel anti-renifleur ou une solution antivirus qui inclut une protection de l'activité réseau pour arrêter toute intrusion non autorisée ou cacher leurs activités sur le réseau.

Comment supprimer un renifleur

Vous pouvez utiliser un antivirus très efficace pour détecter et supprimer tous les types de logiciels malveillants installés sur votre ordinateur pour les détecter. Cependant, pour supprimer complètement le renifleur de l'ordinateur, vous devez supprimer absolument tous les dossiers et fichiers qui s'y rapportent. Il est également fortement recommandé d'utiliser un antivirus avec un analyseur de réseau, qui vérifiera soigneusement le réseau local à la recherche de vulnérabilités et vous indiquera les actions à prendre si elles sont détectées.

Comment ne pas devenir victime d'un renifleur
  • Crypter toutes les informations que vous envoyez et recevez
  • Analysez votre réseau local à la recherche de vulnérabilités
  • Utilisez uniquement des réseaux Wi-Fi fiables et sécurisés
Protégez-vous des renifleurs

La première chose qu'un utilisateur peut faire pour se protéger des renifleurs est d'utiliser un antivirus de haute qualité, comme l'antivirus gratuit Avast, qui est capable d'analyser en profondeur l'ensemble du réseau à la recherche de problèmes de sécurité. Un moyen supplémentaire et très efficace de protéger les informations contre le sniffing consiste à crypter toutes les données envoyées et reçues en ligne, y compris les e-mails. poster. Avast SecureLine vous permet de crypter en toute sécurité tous les échanges de données et d'effectuer des actions en ligne dans des conditions d'anonymat à 100 %.