1
============================================================================
2
ettercap 0.6.0 17/09/2001
3
============================================================================
5
Meme s'ils sont dot�s d'une faible intelligence ils sont cruels et rus�s...
7
@@@@@@@ @@@@@@@ @@@@@@@ @@@@@@@ @@@@@@@ @@@@@@@ @@@@@@@ @@@@@@@
8
@@ @@@ @@@ @@ @@ @@ @@ @@ @@ @@ @@
9
@@@@@@ @@@ @@@ @@@@@@ @@@@@@ @@ @@@@@@@ @@@@@@
10
@@ @@@ @@@ @@ @@ @@ @@ @@ @@ @@
11
@@@@@@@ @@@ @@@ @@@@@@@ @@ @@@ @@@@@@@ @@ @@ @@
14
sniffer/intercepteur multi-usage
17
Biblioth�ques n�cessaires : aucune ;) (�ventuellement ncurses 4.2)
19
Biblioth�ques optionnelles : openssl (si vous voulez le support ssh)
21
Installation: configure
25
(optionnel) make plug-ins
28
(si vous etes paresseux
29
faites seulement ceci) make complete_install
31
============================================================================
33
============================================================================
35
gamin: Un de amis m'a dit qu'il �tait possible de sniffer sur un LAN,
36
j'ai donc achet� un switch ;)
40
gamin: Maintenant mon LAN est SECURISE ! Vous ne pouvez pas intercepter
41
mes paquets... ah ah ah
43
NaGor: Es-tu sur ? Regarde ettercap fonctionner...
45
gamin: Oh mon Dieu... il espionne tout mon trafic !! Je vais utiliser
46
seulement des connexions crypt�es sur mon LAN, pour que ettercap
47
ne puissent pas les intercepter ! ah ah ah
51
gamin: Maintenant j'utilise SSH. Mon LAN est SECURISE !
53
NaGor: Es-tu sur ? Regarde ettercap fonctionner...
55
gamin: Merde !! grrr...
58
"un sentiment de s�curit� illusoire est pire que l'ins�curit�"
61
Ouhouh les gars... r�veillez vous ! Le r�seau n'est PAS s�curis� !!
63
ettercap prouve qu'il est maintenant temps d'encourager les recherches sur
64
les protocoles internet pour les rendre plus sur.
66
============================================================================
68
============================================================================
70
GNU GENERAL PUBLIC LICENSE.
72
voyez COPYING pour les d�tails...
75
============================================================================
77
============================================================================
79
Alberto Ornaghi (ALoR) <alor@users.sourceforge.net>
81
Marco Valleri (NaGA) <crwm@freemail.it>
84
============================================================================
86
============================================================================
89
1. AVERTISSEMENT.........................................sez. 1
91
2. INSTALLATION..........................................sez. 2
93
3. UTILISATION...........................................sez. 3
95
3.1 avec l'interface ncurses
96
3.2 en ligne de commande
98
4. DEPANNAGE.............................................sez 4
99
certains probl�mes commun r�solus (LISEZ CECI AVANT DE
100
NOUS ENVOYER UN MAIL)
102
5. EXPLICATIONS TECHNIQUES...............................sez 5
104
5.1 la liste des h�tes
110
5.4.1.2 public arp intelligent
111
5.4.2 insertion de caract�res
112
5.4.3 dissection active de protocole
113
5.4.4 intercepteur SSH1
114
5.4.5 filtrage de paquet
116
5.5.1 identification passive de syst�mes d'exploitation
118
5.5.3 passerelles et routeurs
120
6. PLUG-INS..............................................sez. 6
122
7. INFORMATIONS INUTILES.................................sez. 7
125
============================================================================
127
============================================================================
129
Ce logiciel est fourni "comme tel" et sans aucune garantie explicite ou
130
implicite, y compris, sans limitation, les garanties implicites de
131
commercialisation ou d'adaptation dans un but sp�cifique
134
============================================================================
136
============================================================================
138
La fa�on la plus facile de compiler ettercap est:
146
Vous devriez � ce stade pouvoir lancer ettercap (il s'installe par d�faut
147
dans le r�pertoire /usr/local/bin)
148
Il y a beaucoup d'options utiles dans configure : essayer d'utiliser --help
150
Si vous d�sirez utiliser ettercap avec le bit suid, permettant ainsi �
151
d'autres utilisateurs que root de lancer le programme, utilisez
152
--enable-suid avant de changer les droits d'ettercap avec chmod, sinon il
153
ignorerait le bit suid.
155
Si vous avez des probl�mes avec les plug-ins, d�sactivez les en utilisant
156
l'option --disable-plugins
158
Si OpenSSL est install� dans un autre r�pertoire DIR, utilisez
159
--with-openssl=DIR. Si vous obtenez une erreur en �ditant les liens entre
160
OpenSSL et ettercap, essayez de le recompiler avec
162
Config shared && make && make install
163
(sur ma machine �a a fonctionn�;) )
165
Si vous avez toujours des difficult�s, envoyez un e-mail � un des auteurs
166
(alor@users.sourceforge.net or crwm@freemail.it).
167
La page officiel d'ettercap chez sourceforge peut aussi contenir des
168
informations utiles, les derni�res corrections de bug et les versions mises �
169
jour (http://ettercap.sourceforge.net).
171
Les comptes-rendus de bug sont les bienvenus. Veuillez s'il vous plait
172
signaler les probl�mes de compilation (configure/make) en incluant une
173
copie de config.status, config.cache et config.log, de meme des informations
174
pertinentes de diagnostic du compilateur. Si vous rencontrez des probl�mes
175
avec le programme lui-meme, compilez le avec l'option --enable-debug et
176
envoyez aussi une copie de ettercap_debug.log et une description courte de
177
votre configuration (ex: version du kernel et de la glibc) en pr�sence
178
d'un sigfault ou d'un autre comportement �trange.
181
============================================================================
183
============================================================================
185
Il y a deux principales interfaces disponibles, toutes les deux en mode
186
texte, l'une avec une interface ligne de commande {plain b/w character},
187
et l'autre avec ncurses avec fenetres color�es pour le plaisir des yeux!
189
3.1 AVEC L'INTERFACE NCURSES
191
Commen�ons par vous montrer cette derni�re :
192
Si ettercap est invoqu� sans option (voir plus bas pour les options en ligne
193
de commande), il lancera l'interface ncurses (apr�s �ventuellement un court
194
d�lai, du � l'exploration de votre LAN =).
195
La fenetre principale est divis�e en trois sous-sections : haut, milieu et
197
Dans la fenetre du haut se trouve un diagramme de connexion, affichant les
198
deux machines � sniffer ou � connecter et sur lesquelles op�rer.
199
En dessous se trouve la liste de tous les h�tes connus sur le LAN courant
200
(avec un hub ou un switch) : choisissez un couple � sniffer.
201
Les deux colonnes identiques vous permettent de choisir le dit-couple :
202
dans la partie gauche choisissez avec les touches fl�ch�es une entr�e
203
repr�sentant l'adresse IP d'une machine active ([Entr�e] validera votre
205
Ensuite passez dans la colonne de droite avec [Tab], et d�placez vous
206
comme pr�c�demment pour s�lectionner la deuxi�me adresse IP. Cela repr�sente
207
la "route" du trafic que vous voudriez espionner (et �ventuellement connecter/
209
Vous ne pouvez bien sur pas s�lectionner la meme source et la meme
210
destination, mais vous n'etes jamais obliger de s�lectionner votre propre
212
Dans la fenetre du bas se trouve une sorte de barre de status, vous donnant
213
des informations compl�mentaires concernant les objets s�lectionn�s, le
214
status courant et d'autres informations utiles.
215
Il y a aussi un grand nombre d'autre options g�niales s�lectionnables � ce
216
niveau, dont en premier lieu la fonctionnalit� 'p', pour plug-in (ce sont des
217
fonctionnalit� s�par�es, programm�es en dehors de ce projet, comprenant un
218
large champ d'applications, qui ne peuvent etre d�crites ici : le fichier
219
REAME-PLUGIN est l� pour ca).
220
A ceci s'ajoute la possibilite d'inspecter avec la touche 'c' s'il y a un
221
autre "m�chant" programme en route sur votre LAN, vous alertant ainsi d'une
222
possible interception de donn�es.
223
Souvenez vous n�anmoins qu'� travers toutes les �tapes du programme vous
224
pouvez toujours utiliser la touch 'h' pour aide (help), et une gentille
225
fenetre d'aide vous montrera un liste des touches disponibles!
227
Les fenetres devraient de toute facon etre claires d'elle-memes, il n'y a
228
donc problablement aucun interet � lire ces sections, mais... au cas o�.
229
Vous remarquerez que la fenetre du haut se met � jour lorsque vous choisissez
230
l'adresse IP source et destination, et indique finalement le status courant
231
si vous connectez ou sniffez (en pressant respectivement 'a' et 's' ou 'm').
232
Le sniffing IP filtre les connexions en observant l'en-tete IP pour
233
rechercher les adresses IP int�ressantes. C'est la bonne vieille m�thode
234
classique utilis�e par la plupart des programmes.
235
Le sniffing MAC filtre les connexions en observant l'en-tete ethernet pour
236
rechercher les adresses MAC. C'est utile si vous voulez sniffer des
237
connexions � partir de votre machine vers un h�te distant � travers une
238
passerelle (en s�lectionnant simplement votre machine comme source et la
239
passerelle comme destination).
240
Finalement, il y a l'option connect qui vous permet, si vous ordinateur est
241
connect� � un LAN switch�, de corrompre le cache ARP, et ainsi de
242
sniffer le traffic sur votre r�seau local comme si vous �tiez sur un
244
Avec cette option vous pouvez sp�cifier un ou deux h�tes. Si vous ne
245
selectionnez qu'un seul h�te vous entrerez dans le mode PublicARP et vous
246
substituerez votre adresse IP � l'adresses IP selectionn�e.
247
Si vous sp�cifiez deux h�tes, vous entrerez dans le mode ARPBased qui vous
248
permet d'observer tout le trafic bidirectionnel entre les deux h�tes.
250
LISTE DES CONNECTIONS :
252
Dans tous les cas, vous pouvez maintenant acc�der � la deuxi�me �tape : la
253
fenetre centrale principale affiche la liste des toutes les connexions
254
actives entre les deux adresses IP, s'il y en a.
255
Finalement les connexions ouvertes ressortent, et vous pouvez les
256
selectionner comme d'habitude, ce qui vous permet d'acc�der � la troisi�me
257
�tape : le vrai sniff! =)
258
Dans ce mode vous pouvez de toute facon regarder le status des connexions
259
(actives, ferm�es, etc) et voir quel type de trafic/port est utilis� (ftp,
261
Il est aussi possible de tuer une connexion active, quel que soit son type.
262
Si le protocole de niveau application est support� par ettercap vous pouvez
263
voir, dans la fenetre du bas, des informations utiles concernant la connexion
264
s�lectionn�e, comme le USER et le mot de passe utilis�s pour les sessions
266
Si vous avez utilis� le mode ARPBased, vous pouvez aussi lancer la DISSECTION
267
ACTIVE DE PROTOCOLE (ACTIVE PROTOCOL DISSECTION), qui vous permet d'espionner
268
certains protocoles crypt�s comme ssh.
272
A l'aide de la touche 'x' vous pouvez cr�er vos propres paquets, de la couche
273
ethernet � la couche application. Par d�fault les champs du formulaire de
274
l'usine � paquet sont remplis par les propri�t�s de la connexion courante.
275
On peut proc�der de la meme maniere avec la liste des h�tes (premiere
276
interface) mais maintenant les champs ne se compl�tent pas automatiquement si
277
vous ne s�lectionnez pas un h�te cible. Tous les champs peuvent etre modifi�s
278
comme vous voulez et pour les protocoles non support�s, il est possible de
279
construire un en-tete � partir d'une chaine hexad�cimale.
280
ex: Supposons que nous voulons g�n�rer un paquet RIP:
281
nous remplissons le formulaire de l'entete UDP (port 520) et dans le
282
champ donn�es nous �crivons
283
"\x01\x02\x00\x00\xFF\xFF\x00\x02here the pass"
284
nous avons g�n�r� l'en-tete RIP � l'aide de s�quences hexad�cimales...
288
Supposons maintenant que vous avez selectionn� une connexion active: deux
289
sous-fenetres apparaissent dans la fenetre principale. Elles vous montrent les
290
paquets source traversant votre ordinateur avant d'atteindre leur destination,
291
vous sniffez le trafic sans qu'ils le remarquent! Il y a plusieurs options de
292
visualisation : le type de flux peut etre hexad�cimal (touche 'x') ou ascii
293
(touche 'a'), type qui est d�cod� sp�cifiquement pour les protocoles
294
support�s; certains d�codeurs n�cessites l'activation de la DISSECTION ACTIVE
295
DE PROTOCOLE. Vous pouvez aussi suspendre le flux de donn�es (en empechant
296
seulement leur visualisation, car en r�alit� elles traversent votre ordinateur
297
sans que vous le voyiez, en utilisant une sorte de 'scroll-lock' (touche 's'),
298
pour une meilleur analyse des donn�es.
300
Pour finir, il y a aussi une fonctionnalit� tres utile : INJECT.
302
En appuyant sur la touche 'i' vous pouvez aussi ins�rer des caract�res
303
dans le trafic, en choisissant la direction, et ainsi en ajoutant des
304
commandes dans le flux (i.e vous pourriez sniffer une session telnet tout en
305
ajoutant des commandes vers le serveur telnet, comme ls ou une quelque autre
306
commande, et elles auront un effet exactement �quivalent � celui des commandes
307
provenant de la machine source. De la meme maniere vous pourriez cr�er de
308
faux messages pour le client qui ne correspondent pas au flux r�el).
309
NOUVEAU : l'injecteur supporte maintenant des s�quences d'�chappement. Vous
310
pouvez donc faire des injections sur plusieurs lignes.
311
NOTE : rappelez vous de terminer votre injection par les caract�res '\n\r'
312
si vous d�sirez injecter des commandes au serveur.
314
Le dernier mais non des moindres, le FILTRAGE DE PAQUET:
316
Avec la touche 'f', un formulaire est affich� vous demandant de configurer
317
un filtre. Faites attention � la fenetre active � ce moment, car les filtres
318
source et destination sont diff�rents.
319
Vous pouvez donc configurer un filtre qui recherche une chaine particuli�re
320
(meme hexad�cimale) dans le champ donn�es TCP ou UDP, et la remplacer par
321
la votre ou supprimer le paquet en entier.
323
Les commandes disponibles durant la saisie du formulaire sont:
325
F10 ou ESC -- sortir du formulaire
326
^N -- champ suivant ^P -- champ pr�c�dent
327
Home -- premier champ End -- dernier champ
328
^L -- champ � gauche ^R -- champ � droite
329
^U -- champ au dessus ^D -- champ en dessous
330
^W -- mot suivant ^B -- mot pr�c�dent
331
^S -- d�but du champ ^E -- fin du champ
332
^H -- effacer le caract�re courant ^Y -- effacer la ligne
333
^G -- effacer le mot courant
334
^C -- effacer jusqu'� la fin de la ligne
335
^K -- effacer jusqu'� la fin du champ
336
^X -- effacer le champ
337
^] or Ins -- passer en mode insertion
339
Pour une explication d�taill�e de "comment filtrer une connexion", reportez
340
vous � la section 5.4.5
342
Il y a aussi une option pour logguer tous ces magnifiques flux de donn�es dans
343
un fichier, en pressant simplement la touche 'l', pour le lire plus tard ou
344
utiliser un script pour le filtrer � tete repos�e.
345
Vous pouvez aussi configurer le filtre avec la r�gle "Log" et seuls les
346
paquets correspondants aux crit�res seront archiv�s dans le fichier.
348
Comme vous le remarquerez, pour utiliser cet outil en mode visuel il sera
349
plus simple d'essayer plutot que de lire ces instructions.. L'aide ('h')
350
est aussi une ressource sur laquelle compter en l'utilisant.
352
3.2 EN LIGNE DE COMMANDE
354
En fait il y a deux commandes classiques pour obtenir la r�f�rence des
355
commandes: lancer ettercap avec l'option --help et visualiser notre page man
357
-> certaines fonctionnalit�s sont disponibles seulement avec l'interface
361
- filtrage de paquets
363
Meme en lancant le mode non interactif ( -N ) il existe des fonctionnalit�s
364
destin�es au mode interactif : vous pouvez activer une petite ligne d'aide
365
et changer le mode de visualisation � la vol�e (entre le mode hexad�cimal et
366
le mode ascii par exemple). De la meme maniere, il est possible de configurer
367
un grand nombre d'options � partir de la ligne de commande et de les trouver
368
deja lanc�es dans le mode interactif.
370
Il existe maintenant une possibilit� pour r�duire l'usage des comandes, en
371
sp�cifiant une ou plusieurs machines � sniffer (si vous etes en mode
372
silencieux on peut aussi en sp�cifier une ou aucune � l'aide de l'option -z :
373
comme sniffit qui sniff tout =)
377
ettercap -Nsz (sniffe les donn�es provenant de toutes les IPs)
379
ettercap -NCsz (r�cup�re seulement les users et password de toutes les IPs)
381
ettercap -NCsz ghibli meltemi (r�cup�re seulement de "ghibli" vers "meltemi")
383
NOTE: si vous aviez lanc� ettercap en mode interactif (sans -N) il aurait
384
�t� n�cessaire de sp�cifier l'option 'r' pour rafraichir la liste des
385
h�tes IP dans le cas o� vous auriez voulu revenir avec 'q' � la premi�re
386
interface, car aucune liste n'est produite au d�but du fait de l'option
388
ex: ettercap -zs ghibli meltemi ou
389
ettercap -zm 00:A0:24:4C:00:F9 00:A0:24:36:00:C2
393
Amusez vous et attendez les prochaines version, comprenant le support ssh,
394
vous pourriez faire des blagues marrantes � vos amis, surtout s'ils font
395
partie de ceux qui croient que ssh est absolument non-sniffable et que son
396
cryptage est incrackable, et encore plus s'ils croient aussi que les
397
switchs font bien leur boulot.
399
============================================================================
401
============================================================================
403
Il y a vraiment un grand nombre de choses qui peuvent vous arriver en
404
installant ce programme. Ne nous blamez donc pas en cas d'accidents ou
405
d'heures pass�es en essayant de compiler etc... Pour le moment, jusqu'a
406
ce que nous atteignions une version *tres* stable, il n'y aura aucune
407
section d�pannage, car elle serait trop longue, impossible � �crire et car
408
nous nous disperserions trop en beta test.
409
N�anmoins nous ferons de notre mieux en essayant de le compiler sur un grand
410
nombre de machines, de le porter autant que possible, et de le rendre propre.
411
Pour l'instant la principale orientation a �t� d'�crire les id�es de base et
412
de les observer fonctionner. Quand le squelette principal sera complet, il
413
y aura un grand nombre de r�glages plus fins.
415
La meilleure chose � faire si vous avez besoin d'aide pour l'utiliser ou
416
pour compiler est de lire le forum du site web d'ettercap. Vous pourrez y
417
trouver les solutions courantes pour beaucoup de probl�mes.
419
Par la suite nous �crirons une sorte de FAQ et une liste des r�solutions de
420
probl�mes ou des choses restantes � faire dans cette section.
424
Nous aimerions que vous sachiez qu'il existe des probl�mes en particulier
425
en installant la version rpm des binaires d'ettercap, avec ncurses, qui peut
426
facilement etre mal d�tect� : essayez simplemnt d'utiliser l'option rpm
429
COMPILER AVEC OPENSSL
431
Ettercap n�cessite la version li�e dynamiquement de OpenSSL donc si vous
432
rencontrez un probl�me lors de l'�dition de liens d'ettercap essayez de
433
recompiler OpenSSl avec:
435
"config shared && make && make install"
437
puis �ditez le fichier /etc/ld.so.conf et ajoutez y le chemin de la librairie
440
LANCEMENT TROP LENT :
442
si le message "Building host list for netmask 255.255.255.0, please wait..."
443
s'affiche pendant plus de 5-10 secondes, il est probable que votre
444
gethostbyaddr() soit trop lent � r�soudre les noms, donc essayez de lancer
445
ettercap avec -d, cette option empeche la r�solution des IPs.
448
============================================================================
449
5> EXPLICATIONS TECHNIQUES
450
============================================================================
452
5.1 LA LISTE DES HOTES
454
Quand ettercap d�marre il cr�e la liste des machines pr�sentes sur le LAN.
455
Il est possible en envoyant un paquet ARP REQUEST pour chaque IP du LAN
456
(trouv�e � partir de l'adresse IP courante et du masque de sous-r�seau) d'
457
obtenir un ARP REPLY et donc d'�tablir la listes des h�tes qui r�pondent
458
sur ce LAN. Avec cette m�thode meme les h�tes windowsiens r�pondent �
459
l'appel (ils ne r�pondent pas ping broadcast).
460
Soyez tres attentif si le r�seau est de classe B (255.255.0.0) car ettercap
461
envoiera alors 255*255 = 65025 ARP REQUESTS, ce qui prend plus d'une minute !!
462
(le d�lai entre deux requetes est de 1 milliseconde).
466
C'est la "bonne vieille" m�thode de sniffing.
467
Il place l'interface r�seau en mode "�coute" (promiscous) et sniffe alors
468
tous les paquets � travers le filtre IP.
469
Si vous utiliser l'interface ncuses, le filtre IP est constitu� de: l'adresse
470
IP source, le port source, l'adresse IP destination, le port destination;
471
ceci dans les deux directions de la connexion.
472
A la place si vous utiliser la ligne de commande, vous pouvez personnaliser
473
le fitre IP. Vous pouvez ne sp�cifier que la source, que la destination ou
474
les deux, en pr�cisant ou pas un port associ�.
478
ettercap -N -s ghibli
479
ettercap -N -s ghibli:23
481
le premier exemple sniffera toutes les connexions de l'h�te "ghibli"
482
le second sniffera seulement celle sur le port 23
484
ettercap -N -s ghibli meltemi
485
ettercap -N -s ghibli:23 meltemi
486
ettercap -N -s ANY:23
488
le premier sniffera toutes les connexions entre "ghibli" et "meltemi"
489
le deuxi�me seulement celles sur ghibli:23 provenant de "meltemi"
490
le troisi�me sniffera tous les h�tes mais seulement sur le port 23 (telnet)
495
Cette m�thode place l'interface r�seau en mode promiscous et sniffe ensuite
496
tous les paquets � travers le filtre mac.
497
Le filtre mac est constitu� � partir de l'adresse IP des deux h�tes.
498
Ettercap scannera la liste des h�tes et associera les bonnes adresses MAC
499
pour le filtre. De cette facon vous pouvez sp�cifier l'adresse IP de la
500
passerelle et celle de l'h�te, et vous obtiendrez toutes les connexions
501
entre l'h�te et Internet
505
en supposant que "meltemi" est la passerelle vers Internet.
507
ettercap -N -m ghibli meltemi
509
ceci retournera toutes les connexions que "ghibli" �tablit avec des h�tes
514
Cette m�thode ne place pas l'interface en mode �coute. Ce n'est pas
515
n�cessaire car les paquets nous sont envoy�s! :) Le switch va nous
516
forwarder les paquets, et nous avons donc une bonne m�thode pour
517
sniffer sur les LAN switch�s.
518
Regardons comment c'est possible:
519
Quand vous s�lectionnez cette m�thode, ettercap corrompt le cache arp des
520
deux h�tes, en s'identifiant lui-meme comme l'autre h�te (voir section
522
Une fois que les caches arp sont corrompus, les deux h�tes commencent la
523
connexion, mais leurs paquets nous seront envoy�s, et nous les
524
enregistrerons puis les envoyerons � leur destinataire. La connexion
525
est donc transparente aux victimes, qui ne peuvent affirmer qu'ils sont
526
sniff�s. La seule m�thode pour d�couvrir qu'il y a un intercepteur
527
dans la connexion est de regarder le cache arp et de v�rifier s'il n'y
528
a pas deux h�tes (ndt:deux adresses IP) avec la meme adresse MAC.
529
C'est ce que nous faisons pour d�couvrir s'il y a d'autres corrupteurs
530
de caches ARP sur notre r�seau, pour etre pr�venu que notre trafic est sous
533
HOST 1 - - - - - - - - - - - - - - - - - - - -> HOST 2
534
(corrompu) (corrompu)
537
------------> ATTACKER HOST ------------------
542
- - - -> la connexion logique (th�orique)
543
-------> la connexion r�elle
545
OK, cool! Maintenant, comment je peux corrompre le cache ARP ?
550
Le protocole ARP contient un trou de s�curit� intrins�que. Dans le but de
551
r�duire le trafic sur le cable, il insert une entr�e dans le cache meme
552
s'il n'a rien demand�. En d'autres termes, TOUTES les r�ponses ARP
553
envoy�es sur le support seront ins�r�es dans la table ARP.
554
Nous profitons donc que cette "caract�ristique", en envoyant des fausses
555
r�ponse ARP aux deux h�tes que nous voulons sniffer. Dans cette r�ponse,
556
nous affirmons que l'adresse MAC du second h�te est celle de NOTRE carte
557
ethernet. Le premier h�te va donc nous envoyer les paquets destin�s � son
558
vis-�-vis, puisqu'ils contiennent notre adresse MAC.
559
Le meme proc�d� est appliqu� pour le premier h�te, dans mani�re inverse,
560
et nous avons donc une connexion interceptrice parfaite entre les
561
deux h�tes, recevant "l�galement leurs paquets"!!
565
HOTE 1: mac: 01:01:01:01:01:01 HOST ATTAQUANT:
566
ip: 192.168.0.1 mac: 03:03:03:03:03:03
569
HOTE 2: mac: 02:02:02:02:02:02
573
nous envoyons des r�ponses ARP �:
575
HOST 1 en affirmant que 192.168.0.2 correspond � 03:03:03:03:03:03
576
HOST 2 en affirmant que 192.168.0.2 correspond � 03:03:03:03:03:03
578
et alors ils sont corrompus !! Ils nous envoierons leurs paquets !
579
Si notre machine recoit des paquets de:
581
HOST 1 nous les envoyerons � 02:02:02:02:02:02
582
HOST 2 nous les envoyerons � 01:01:01:01:01:01
584
simple, n'est-ce pas ?
586
*** PROBLEME PROPRE A LINUX KERNEL 2.4.x ***
588
In the latest relase of linux kernel we can find in :
589
/usr/src/linux/net/ipv4/arp.c
591
/* Unsolicited ARP is not accepted by default.
592
It is possible, that this option should be enabled for some
593
devices (strip is candidate)
596
le noyau utilise un syst�me sp�cial de gestion des h�tes voisins pour
597
refuser les r�ponses ARP non sollicit�es (que ettercap envoie aux victimes).
598
Oh, merde, ettercap est inutile avec ce noyau ? la r�ponse est NON !
599
Voyons pourquoi... dans le m�me code source nous trouvons :
602
* Process entry. The idea here is we want to send a reply if it is a
603
* request for us or if it is a request for someone else that we hold
604
* a proxy for. We want to add an entry to our cache if it is a reply
605
* to us or if it is a request for our address.
606
* (The assumption for this last is that if someone is requesting our
607
* address, they are probably intending to talk to us, so it saves time
608
* if we cache their address. Their address is also probably not in
609
* our cache, since ours is not in their cache.)
611
* Putting this another way, we only care about replies if they are to
612
* us, in which case we add them to the cache. For requests, we care
613
* about those for us and those for our proxies. We reply to both,
614
* and in the case of requests for us we add the requester to the arp
618
Donc, si le noyau re�oit une REQUETE il enregistera l'information... Ca
619
signifie quoi ? si ettercap envoie des REQUETES corrompues au lieu de
620
REPONSES corrompues, le noyau mettra � jour le cache ? La r�ponse est OUI !!
622
ettercap 0.6.0 et suivants utilise cette NOUVELLE METHODE de CORRUPTION de
623
cache. Il enverra alternativement des REQUETES et des REPONSES car d'autres
624
OS ne disposent pas de cette "fonctionnalit�".
627
*** PROBLEME SPECIFIQUE A SOLARIS ***
629
Solaris n'enregistrera pas une r�ponse si elle n'est pas d�j� dans le cache.
630
L'astuce est simple, avant de corrompre, ettercap envoie un paquet ICMP
631
ECHO_REQUEST spoof� � l'h�te, et celui-ci doit y r�ponse et il cr�era une
632
entr�e ARP pour l'h�te spoof�. Ensuite nous pouvons commencer comme d'habitude
633
l'entr�e est desormais dans le cache...
637
Pour sniffer les paquets en provenance d'un h�te cible vers tous les autres
638
sur un LAN switch�, vous devez utiliser le mode PublicARP
639
Avec cette m�thode ettercap envoie des r�ponses ARP en broadcast associant
640
l'adresse IP de la victime et l'adresse MAC de ettercap (corrompant le cache
642
Tous les h�tes vont accepter cette r�ponse et l'ajouter � leur cache, donc
643
par la suite ils envoyeront tous les paquets � destination de la victime
645
Mais, il y a un probl�me, car meme la victime va recevoir cette r�ponse et
646
remarquera un conflit d'adresse IP (comme c'est le cas pour win2k)
647
Pour r�soudre ce probl�me est n� le public arp intelligent...
649
5.4.1.2 PUBLIC ARP INTELLIGENT
651
Avec cette m�thode les r�ponses sont envoy�es s�lectivement � tous les h�tes
652
sauf la victime. De cette mani�re il n'y a aucun conflit.
654
NOTE : les h�tes corrompus correspondront � ceux pr�sents dans la liste, donc
655
si vous ne voulez pas corrompre un h�te, vous pouvez le supprimer de la liste
658
NOTE : pour utiliser le public arp intelligent, ettercap doit connaitre la
659
liste de h�tes, il est donc pr�ferable que vous n'utilisiez pas le d�marrage
660
avec ping en broadcast (option -b). Cependant il est impossible d'utiliser
661
l'arp intelligent sans la liste lors de l'utilisation du mode silencieux (-z).
662
ettercap choisit automatiquement l'option ad�quate : s'il dispose de la
663
liste, il utilisera l'arp intelligent, sinon, il utilisera la bonne vieille
666
NOTE : avec cette m�thode, un plus grand nombre de r�ponses ARP sont
669
5.4.2 INSERTION DE CARACTERE
671
Nous avons affirm� que les paquets sont pour nous...
672
Et les paquets ne seront pas re�us par la destination jusqu'� ce que nous
674
Mais que se passe-t-il si nous les modifions ?
675
Oui, ils atteignent la destination avec nos modifications.
676
Nous pouvons modifier, ajouter, supprimer le contenu de ces paquets, en
677
recalculant simplement la somme de controle et en les substituant dans le
679
Mais nous pouvons aussi faire plus : nous pouvons ins�rer des paquets dans la
681
Nous cr�eons nos paquets avec le bon num�ro de s�quence et d'acquittement
682
et nous les envoyons � l'h�te d�sir�. Lorsque les prochains paquets passeront
683
par notre machine nous ajoutons ou soustrayons simplement le numero de
684
s�quence avec la nombre de paquets que nous avons inject� tant que la
685
connexion est ouverte, empechant la connexion d'etre rejet�e (ceci jusqu'�
686
ce que nous sortions d'ettercap, qui maintient les num�ros de s�quence
687
corrects. Apr�s la sortie du programme, la connexion doit etre "RESETTED"
688
ou bien tout trafic futur sera rejet�e, bloquant la station source).
690
NOTE: l'injecteur supporte les s�quences d'�chappement. Vous pouvez
691
r�aliser des injections multi-lignes
692
ex: "ceci est la premiere ligne \n voici la deuxi�me \n etc ..."
693
ex: "ceci est en mode hexa: \x65\x6c\x6c\x65"
694
ex: "ceci est en mode octa: \101\108\108\101"
696
NOTE: souvenez vous de finir votre injection avec \r\n si vous voulez
697
injecter des commandes au serveur.
699
5.4.3 DISSECTION ACTIVE DE PROTOCOLE (pour le mode ARPBASED)
701
Pour observer des flux crypt�s solidement vous avez besoin d'agir vraiment
702
dans le flux. Par exemple il vous faut changer les paquets cl�s (technique
703
de l'intercepteur (ndlt: man-in-the-middle)).
704
Dans certains cas particuliers ceci provoquera une faute de protocole, soyez
705
donc attentif en utilisant cette fonctionnalit�.
706
La m�thode utilis�e change de protocole en protocole et est plus difficile
707
� expliquer qu'� coder.
708
Je suis donc d�sol� mais vous devrez examiner le code source si vous voulez
709
vraiment comprendre comment �a marche.
711
5.4.4 INTERCEPTEUR SSH1
713
Lorsqu'une connexion d�marre (souvenez vous que nous somme le "maitre des
714
paquets", tous les paquets passent par ettercap) nous substituons une cl�
715
g�n�r�e � la vol�e � la cl� publique du serveur, que nous sauvegardons dans
716
une liste pour que nous puissons nous souvenir que ce serveur a d�j� �t�
717
corrompu. Puis le client envoie le paquet contenant la cl� de session
718
crypt� avec notre cl�, et nous somme donc capable de le d�crypter et de
719
d'obtenir la vrai cl� de session 3DES. Maintenant nous cryptons le paquet
720
avec la vraie cl� publique du serveur et nous l'envoyons au d�mon SSH.
721
La connexion est �tablie normalement, mais nous avons la cl� de session !!
722
Maintenant nous pouvons d�crypter tout le trafic et observer le flux!
723
La connexion restera active meme si nous sortons ettercap, car ettercap
724
ne joue pas le role de tampon (comme dsniff). Apres l'�change de cl�s,
725
ettercap est seulement un spectateur... ;)
727
5.4.5 FILTRAGE DE PAQUETS
729
De meme que lors de l'injection de caract�re, nous pouvons modifier les
730
donn�es des paquets et remplacer les bons num�ros de s�quence et
731
d'acquittement si n�cessaire.
732
A l'aide du moteur int�gr� de filtrage vous pouvez programmer votre propre
733
chaine de filtrage pour r�aliser le filtre le plus ad�quat � vos besoins.
734
Une chaine de filtrage est un simple tableau de filtres qui peut etre vu comme
735
une liste d'instructions d'une machine virtuelle. Le point d'entr�e du
736
programme est le filtre 0 (z�ro). Vous pouvez sp�cifier un saut � une autre
737
"instruction" si le filtre est vrai et un autre saut si le filtre est faux.
738
Un filtre est consid�r� comme vrai si le triplet
739
<port source, port destination, donn�es> est �gal � celui du filtre
740
(�valu� � l'aide d'un ET logique). Une chaine de caract�res de recherche NULL
741
est toujours consid�r�e comme vraie.
742
Si le filtre correspond, il ex�cutera l'action (Log, Replace or Drop) et
743
�valuera le saut correct � effectuer. Le "pointeur d'instruction" sera alors
744
affect� au filtre concern�. Lorsque la valeur d'un saut est nulle la chaine
745
de filtrage est consid�r�e comme termin�e et le paquet est envoy� vers l'h�te
747
Vous pouvez donc configurer un filtre qui recherche une chaine de caract�res
748
particuli�res (meme hexad�cimale) dans les donn�es TCP ou UDP et la remplacer
749
par la votre ou effacer l'ensemble du paquet. Vous pouvez utiliser des
750
quantificateurs dans la chaine de caract�res de recherche en utilisant la
751
notation sp�ciale [n*] o� n est le nombre de caract�res � rechercher.
754
supposons un flux de donn�es comme suit :
756
paquet 1: "var1=123&var2=400"
757
paquet 2: "var1=124&var2=420"
758
paquet 3: "var1=125&var2=460"
759
paquet 4: "var1=126&var2=540"
760
paquet 5: "var1=127&var2=700"
764
nous voulons assigner une valeur � var1 quelle que soit sa valeur courante.
765
Nous utilisons alors un filtre comme ceci :
770
qui produira une sortie comme ceci :
772
paquet 1: "var1=000&var2=400"
773
paquet 2: "var1=000&var2=420"
774
paquet 3: "var1=000&var2=460"
775
paquet 4: "var1=000&var2=540"
776
paquet 5: "var1=000&var2=700"
780
et quelles que soient les donn�es qui contiennent un assignation de var1
781
il la modifiera � "var1=000".
783
NOTE : vous pouvez utiliser les quantificateurs seulement � la fin de la
784
chaine de caract�res !!
788
"var1=[3*]&pippo" SERA TRANFORME EN "var1=[3*]"
789
"var1=[3*]&var2=[3*]" INTERDIT
790
pour mettre en place un filtre multiple
791
utilisez un premier filtre qui r�alise le
792
remplacement de var1 accompagn� d'un saut
793
� un second filtre qui fait le second
795
p.e: 0 | var1=[3*] R var1=000 | => 1
796
1 | var2=[3*] R var2=111
799
Vous pouvez meme rechercher et remplacer des chaines avec caract�res
800
d'�chappement comme "\x72\x6f\x6f\x74".
802
NOTE: le formulaire supprime automatiquement les espaces en fin de chaine,
803
donc si vous voulez chercher "ettercap ", vous devrez utiliser la
804
chaine "ettercap\x20". "\x20" sera remplac� par " ".
805
Et si vous voulez rechercher le mot magique "[*]" vous devrez le
806
prot�ger (NdT : 'escape' -> � l'aide du '\')
808
NOTE: Si la taille des donn�es remplac�es d�passe le MTU l�gal (du fait que
809
vous puissiez remplacer une chaine par une chaine plus longue), le
810
filtre �choue silencieusement en laissant les donn�es intactes (la
811
v�rification est faite avant de remplacer), soyez donc conscient de
812
ce que vous filtrez et de la fa�on dont vous le faites... ;)
815
5.5 SCAN PASSIF DU RESEAU LOCAL
817
Cette fonctionnalit� est tr�s utile si vous conna�tre la topologie du lan
818
mais que vous ne voulez pas envoyer de paquets. Avec cette technique le
819
scan est r�alis� uniquement en sniffant les paquets et en en tirant des
821
Ce scan vous permettra de conna�tre les machines sur le lan (il observe les
822
requ�tes ARP), les syst�mes d'exploitations des h�tes (il utilise
823
l'identification passive d'OS... voir prochaine section), les ports ouverts
824
(en observant les paquets syn+ack), la passerelle, les routeurs ou les h�tes
825
se comportant comme des routeurs (il observe les messages ICMP).
826
Du fait que c'est une m�thode passive, elle est inutile sur les lan switch�s
827
(car elle obtient des informations sur les h�tes qui sont connect�s
828
directement � vous), mais si vous l'utiliser sur une passerelle et que vous
829
la laisser tourner pendant des heures ou des jours, elle produira un rapport
830
complet des h�tes sur le lan.
833
5.5.1 IDENTIFICATION PASSIVE DE SYSTEMES D'EXPLOITATION
835
L'id�e de base est d'analyser les informations passives provenant d'un h�e
836
lorsqu'il initie ou re�oie des connexions avec d'autres h�tes. Ces
837
informations suffisent pour identifier l'OS et les services disponibles.
838
Avec cette technique, nous observons les paquets SYN et SYN+ACK et obtenons
839
des informations int�ressantes � partir de :
840
La taille de la fen�tre : le champ dans l'ent�te TCP
841
Le MSS : le champ dans l'ent�te IP Maximum Segment Size (peut ne pas �tre
843
L'�chelle de fen�tre : l'option TCP indicant l'�chelle
844
SACK : l'option TCP pour le ACK Selectif
845
NOP : si les options TCP contiennent un NOP
846
DF : le champ de l'ent�te IP "Don't Fragment"
847
TIMESTAMP : si l'option TCP timestamp est utilis�e
848
et �videmment le type de paquet (syn ou syn+ack)
850
La base de donn�es contient des empreintes pour chaque type de paquet car
851
certains OS ont des empreintes diff�rentes selon que le paquet est ACK ou
852
SYN+ACK. De mani�re �vidente l'empreinte SYN est plus sure, car le SYN+ACK
853
est influenc� par la SYN (si un SYN ne contient pas de SACK le SYN+ACK n'en
854
contiendra pas non plus m�me si l'h�te ne supporte). Donc durant la collecte
855
d'informations, si nous recevons un SYN+ACK nous enregistrons l'OS de l'h�te
856
de mani�re temporaire et lorsque nous recevrons un SYN nous validerons.
857
Les empreintes finissant par un ":A" sont plus surs... c'est la raison pour
858
laquelle certaines identifications de syst�mes d'exploitations pourraient
859
changer durant le processus de validation.
861
Les paquets SYN+ACK sont utilis�s pour d�terminer les ports ouverts de l'h�te.
862
(voir section suivante).
864
L'aspect int�ressant est que les firewalls, les passerelles ou la translation
865
d'adresse sont transparents ) la d�tection passive d'OS. Donc collecter les
866
informations � propos du LAN vous permettra de conna�tre des donn�es
867
concernant m�me les h�tes distants. Seuls les proxies ne sont pas transparents
868
car ils initient de nouvelles connexions vers la cible.
870
Notre base de donn�es d'empreinte doit �tre �largie, donc si vous trouvez un
871
h�te ayant une empreinte inconnue et que vous connaissez de mani�re s�re son
872
OS, envoyez-nous par e-mail <alors@users.sourceforge.net> l'empreinte et l'OS,
878
Les ports ouverts sont identifi�s en observant les packets SYN+ACK.
879
Si un SYN+ACK provient d'un port, il est certainement ouvert, sauf pour
880
le canel de commande du protocol FTP, et pour cette raison les paquets depuis
881
le port 20 ne sont pas utilis�s.
882
Pour les ports UDP le probl�me est un peu plus complexe car syn et ack
883
n'existent pas dans le protocole udp, donc ettercap suppose qu'un port udp
884
< 1024 envoyant des paquets est ouvert. Nous savons que de cette mani�re nous
885
ne pouvont d�couvrir des ports ouvertes > 1024, mais ils pourraient �tre
886
int�pr�t�s comme ouverts � chaque fois qu'un client envoie des paquets � un
890
5.5.3 PASSERELLE ET ROUTEURS
892
La passerelle est reconnue simplement en regardant les paquets IP avec une
893
ip non locale (en v�rifiant le masque de sous-r�seau). Si une IP non locale
894
est trouv�e, ettercap regarde l'adresse ethernet (MAC) et la conserve comme
895
�tant celle de la passerelle, puis il recherche dans la liste l'IP
896
correspondante, qui est celle de la gateway.
898
En observant les messages ICMP nous pouvons affirmer que si un h�te envoie
899
des messages TTL-exceeded ou redirect, c'est un routeur ou un h�te agissant
902
============================================================================
904
============================================================================
906
reportez vous � README.PLUGINS
908
============================================================================
909
7> INFORMATONS INUTILES
910
============================================================================
912
D�but du projet : 25/11/2000
914
Derni�re version stable : 0.6.0 Notre logiciel n'a jamais de bug
915
Il utilise seulement des fonctionnalit�s
918
Publi� le : 17/09/2001
919
tant qu'un code fonctionne il est obsol�te
921
Editeur : vi, vim, gvim, mcedit, UltraEdit
923
remerciements: le standard IEEE 802.3 :)
924
l'organisation ISO/OSI
926
l'universit� de Berkeley
928
le SiLAB (lab de l'universit�)
931
remerciements d'ALoR : l'�quipe de VMWare ;)
932
elle (elle sait pour quoi)
935
Ma nouvelle voiture (Volkswagen Polo 1.4 TDi) wow !
937
remerciements de NaGA : Heineken Inc.
942
fucks to : tutte le tipe che se la menano ;)
945
Slogan : la sp�cialisation, c'est pour les insectes, un
946
homme devrait pouvoir tout faire!
948
Qui nous sommes : Si vous pensez que vous nous connaissez... FAUX
949
Si vous ne nous connaissez pas... C'EST POUR BIENTOT
951
Shakespeare : question = (to ) ? be: !be;
953
Traduction : Julien Bordet ( Bordet_J@yahoo.com )
955
0xABADC0DE==============================================================EC-2K