Dernière modification 1 avril 2007
tar xvfz libpcap-0.9.5.tar.gz
Cela va nous donner le répertoire libpcap-0.9.5, dans ce répertoire on tapera pour créer le Makefile:
./configure
A présent tapons :
make
NOTE : Les packages suivants sont nécessaires byacc et flex
Puis en tant que root
make install
Si vous avez choisi d'installer avec le package RPM, pour la suite
des
opérations il vous faudra aussi installer le package de
développement
libpcap0-devel
tar xvfz ethereal-0.99.0.tar.gz
Cela va nous donner le répertoire ethereal-0.99.0. On installera préalablement les packages suivants libglib-devel et libgtk+2-devel. Dans le répertoire d'ethereal, on tapera :
./configure
A la fin de la commande, on a un résumé des principales options choisies
The Ethereal package has been configured with the following options.Puis
make
En tant que root, tapez maintenant:
make install
Editer le fichier /etc/ld.so.conf
et rajoutez la ligne
/usr/local/lib/ethereal/plugins/0.99.0
Pour que le fichier soit pris en compte tapez maintenant
ldconfig
Un répertoire contenant divers fichiers (plugins et autres) a
été
installé sous /usr/local/lib/ethereal, et les
exécutables
se trouvent sous /usr/local/bin.


eth1 correspond à l'interface réseau à observer, appuyez sur Start. Une fenêtre comptant le nombre de paquets capturés avec le protocole utilisé va apparaître :

Le trafic est maintenant capturé, par exemple ici on a 651 paquets de type TCP dans la fenêtre. Cliquez sur Arrêter pour cesser la capture, toutes les infos sur les paquets capturés apparaissent au niveau de la fenêtre principale.

On observe ici une session pop3 de récupération de mail. Dans la partie centrale, on a des informations complémentaires (protocole utilisé, numéro du port...), dans la partie du bas on a le contenu du paquet qui a été sélectionné dans la partie du haut.
Dans Analyze -> Follow TCP Stream, on pourra reconstituer à partir des paquets capturés une session. Pour la session pop cela donne

Voilà un exemple avec une session telnet :

On y voit le mot de passe en clair !! (depuis j'ai changé le mot de passe ;-) )
Vous voyez ici toute la puissance d'ethereal, je vous laisse découvrir les autres fonctionnalités du logiciel et découvrir toutes les faiblesses de votre réseau (telnet, pop, ...).



tar xvfz snort-2.6.1.3.tar.gz
Cela va nous créer un répertoire snort-2.6.1.3.
Avant
d'aller plus loin, vous devez vous assurer que la bibliothèque libpcap est bien installée. On tape d'abord
:
./configure
On tape maintenant
make
NOTE Les logs peuvent être archivés dans une base de données, par défaut si MySQL est installé sur votre système et que vous ne voulez pas bénéficier de cette option rajoutez l'option --without-mysql à configure
Puis en tant que root
make install
Les exécutables seront placés sous /usr/local/bin
snort -options expression
Parmi les nombreuses options disponibles (accessible par snort --help) on trouve :
-b les paquets sont logués dans un fichier au format tcpdump appelé snort.log. C'est l'option qu'il faut prendre si on ne veut pas que snort perdre du temps à faire la conversion binaire->ASCII pour ne rater aucun paquets, l'option-r permet de relire ces fichiers en temps différé.
-c <cf> on utilise le fichier de règles <cf>, ce fichier indique ce que le système doit loguer.
-h <hn> on définit ici l'adresse du réseau local, cela sert uniquement pour le formattage du texte pour mettre la flèche qui va bien en fonction du sens du trafic par rapport au réseau (entrant ou sortant)
-i <if> on utilise l'interface <if>, par défaut eth0
-s Les alertes sont archivées au travers de syslog dans /var/log/secure.
-l log-dir pour définir le répertoire d'archivage pour les logs. Par défaut le répertoire est /var/log/snort
-d Pour extraire uniquement la couche transport (layer) du paquet
-v mode verbeux, les paquets apparaissent dans la console ou le shell à partir duquel a été lancée la commande, contrairement à l'option -b ça ralentit considéralement le fonctionnement de snort du coup on peut perdre des paquets, à déconseiller donc, si vous ne voulez pas perdre une miette des échanges de paquets
L'expression fixe les critères pour les paquets qui seront
logués.
Si aucune expression n'est donnée, tous les paquets seront
logués.
Une expression consiste en un ou plusieurs primitives, une primitive
consiste
en une identité (nom ou adresse) précédée
par
un ou plusieurs qualificateurs, dont il existe trois types:
- type: pour définir le type précis de l'identité,
on
a le choix entre host pour une machine, net pour un
réseau
et port pour un port, par défaut on utilise le type host.
Exemple: host www.breizland.bz pour l'hôte du même
nom,
ou encore net 192.168.13 pour un réseau du type
192.168.13.X
- dir: pour définir la direction à partir ou vers
l'identité,
les directions possibles sont src, pour en provenance de, et dst,
pour à destination de. Par défaut on prend les paquets
dans
les deux sens (src et dst).
Exemple: src www.breizland.bz les paquets provenant de
l'hôte
www.breizland.bz, ou encore dst port 20 les paquets
à
destination du ports 20 (ftp).
- proto: pour restreindre les paquets utilisant un protocole
particulier,
les protocoles possibles sont : ether, fddi, ip,
arp,
rarp,decnet,lat,sca,moprc,mopdl,
tcpet udp. Si aucun protocole n'est
spécifié on
capture les paquets quel que soit le protocole utilisé.
Exemple: ether src www.breizland.bz les paquets utilisant ethernet
provenant de www.breizand.bz, ou encore tcp port 21, les
paquets
allant ou venant du port 21 et utilisant TCP.
snort -v
voilà le résultat
Running in packet dump modeEn faisant un CTRL-C pour stopper la commande, on obtient le bilan suivant sur eth2 (mon interface wifi connectée à internet via routeur)
*** Caught Int-Signal
======================================================
Snort received 181 packets
Analyzed: 179(98.895%)
Dropped: 0(0.000%)
Outstanding: 2(1.105%)
======================================================
Breakdown by protocol:
TCP: 161 (89.944%)
UDP: 14 (7.821%)
ICMP: 4 (2.235%)
ARP: 0 (0.000%)
EAPOL: 0 (0.000%)
IPv6: 0 (0.000%)
ETHLOOP: 0 (0.000%)
IPX: 0 (0.000%)
FRAG: 0 (0.000%)
OTHER: 0 (0.000%)
DISCARD: 0 (0.000%)
=======================================================
ALERTS: 0
LOGGED: 0
PASSED: 0
=======================================================
Snort exiting
Si vous voulez voir le contenu du paquet en plus de l'entête, vous pouvez taper:
snort -vd
voilà le résultat
Running in packet dump modeVous avez ici un extrait d'une session telnet. Si vous voulez afficher les aussi l'entête des paquets ethernet, vous pouvez taper :
snort -vde
Maintenant on va loguer les paquets en tapant
snort -vde -l /var/log/snort
Attention le répertoire /var/log/snort doit
être créé
préalablement. Ainsi en tapant cette commande pour la machine
d'adresse
192.168.13.15 après avoir fait un ping et un telnet
sur
la machine 192.168.13.11, on trouvera dans le répertoire/var/log/snort,
les répertoires suivants 192.168.13.11 et 192.168.13.15, le
premier
contenant le fichier ICMP_ECHO_REPLY et le deuxième ICMP_ECHO,
TCP:1025-23. Ces fichiers contenant les paquets résultants du ping
et du telnet.
Pour spécifier un fichier de règles vous taperez :
snort -vde -l /var/log/snort -c snort-lib
Vous trouverez un exemple de fichier de règles sous le
répertoire
de snort, et un certain nombre sur le site même de snort.
Maintenant si vous voulez exploiter en temps différé un
fichier
binaire du format tcpdump, vous taperez:
snort -vde -l /var/log/snort -r tcpdump_file
Pour afficher les alertes dans /var/log/secure au moyen de syslog en utilisant un fichier de règles on tapera:
snort -vde -l /var/log/snort -c snort-lib -s
Pour regarder maintenant un peu les paquets qui circulent lors d'une connexion PPP, on peut taper (l'adresse devant host correspond à l'adresse IP attribuée par le FAI) :
snort -h 192.168.13.0/24 -d -v host 213.228.15.14 -i ppp0
Voilà un extrait d'une session POP
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
10/16-21:31:09.048632 194.158.97.244:110 -> 213.36.44.26:1292
TCP TTL:59 TOS:0x0 ID:62404 DF
*****PA* Seq: 0xDCC4E1BD Ack: 0xF1084599
Win: 0x8218
TCP Options => NOP NOP TS: 240412927 876595
2B 4F 4B 20 50 4F 50 33 20 73 65 72 76 65 72 20 +OK POP3 server
4D 65 64 69 61 6E 65 74 2F 31 2E 31 33 20 3C 32 Medianet/1.13
<2
32 37 38 34 2E 39 37 31 37 32 34 36 36 37 40 6D
2784.971724667@m
65 64 69 61 6E 65 74 2D 31 76 2E 67 72 6F 6C 69
edianet-1v.groli
65 72 2E 66 72 3E 0D
0A
er.fr>..
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
10/16-21:31:09.058729 213.36.44.26:1292 -> 194.158.97.244:110
TCP TTL:64 TOS:0x0 ID:4594 DF
******A* Seq: 0xF1084599 Ack: 0xDCC4E205
Win: 0x7F40
TCP Options => NOP NOP TS: 876617 240412927
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
10/16-21:31:09.058988 213.36.44.26:1292 -> 194.158.97.244:110
TCP TTL:64 TOS:0x0 ID:4595 DF
*****PA* Seq: 0xF1084599 Ack: 0xDCC4E205
Win: 0x7F88
TCP Options => NOP NOP TS: 876617 240412927
55 53 45 52 20 6F 6C 69 76 69 65 72 2E 68 6F 61 USER mon-login
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
10/16-21:31:09.208661 194.158.97.244:110 -> 213.36.44.26:1292
TCP TTL:59 TOS:0x0 ID:62405 DF
******A* Seq: 0xDCC4E205 Ack: 0xF10845AE
Win: 0x8218
TCP Options => NOP NOP TS: 240412944 876617
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
10/16-21:31:09.218671 194.158.97.244:110 -> 213.36.44.26:1292
TCP TTL:59 TOS:0x0 ID:62406 DF
*****PA* Seq: 0xDCC4E205 Ack: 0xF10845AE
Win: 0x8218
TCP Options => NOP NOP TS: 240412944 876617
2B 4F 4B 20 6F 6C 69 76 69 65 72 2E 68 6F 61 72 +OK
mon-login
61 75 20 70 6C 65 61 73 65 20 65 6E 74 65 72
20
please enter
70 61 73 73 77 6F 72 64 0D
0A
password..
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
10/16-21:31:09.218898 213.36.44.26:1292 -> 194.158.97.244:110
TCP TTL:64 TOS:0x0 ID:4596 DF
*****PA* Seq: 0xF10845AE Ack: 0xDCC4E22F
Win: 0x7F88
TCP Options => NOP NOP TS: 876633 240412944
50 41 53 53 20 73 61 78 6F 32 37 30 0D
0A
PASS mot-de-passe-en-clair..
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
10/16-21:31:09.428660 194.158.97.244:110 -> 213.36.44.26:1292
TCP TTL:59 TOS:0x0 ID:62407 DF
******A* Seq: 0xDCC4E22F Ack: 0xF10845BC
Win: 0x8218
TCP Options => NOP NOP TS: 240412969 876633
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
10/16-21:31:09.638641 194.158.97.244:110 -> 213.36.44.26:1292
TCP TTL:59 TOS:0x0 ID:62408 DF
*****PA* Seq: 0xDCC4E22F Ack: 0xF10845BC
Win: 0x8218
TCP Options => NOP NOP TS: 240412987 876633
2B 4F 4B 20 6F 6C 69 76 69 65 72 2E 68 6F 61 72 +OK mon-login
61 75 20 68 61 73 20 30 20 6D 65 73 73 61 67 65 has 0 message
73 20 28 30 20 6F 63 74 65 74 73 29 0D
0A
s (0 octets)..
| [Retour page d'accueil FUNIX] | [Retour haut de la page] |