Newsgroup: it.comp.sicurezza.varie
Titolo: The man in the middle, si dice cosi' no ?

Ciao, oggi ho avuto una discussione con il mio capo, io 
sostenevo che riuscendo a interporsi tra due macchine A e B 
(PC/router o router/router) fosse possibile non solo leggere
tutti i pacchetti ma anche "impersonare" l'altra macchina
(essere visto come la macchina B da A e viceversa).
Faccio piccolo schemino per spiegare meglio:
   PC                furbone                 Router
 _______             ________               ________
|       |           |        |             |        |
|   A   |-----------|   C    |-------------|    B   |--... internet
|       |a         b|        |a           b|        |x
 -------             --------               --------
    | y
    |
rete locale
La macchina A ha un'interfaccia di rete con IP address a,
il router B ha, dal lato che c'interessa, IP address b.
A e B sono collegate da un bellissimo BNC.
Dopo un po' arriva un furbone, col suo bel tronchese taglia 
il cavo, ci mette le sue due belle pipette e le collega alle
due NIC della macchina C (come in figura).
Facciamo finta che C abbia installato un sistema operativo 
serio, facciamo linux va...
Il furbone configura la scheda di rete collegata alla macchina A 
con indirizzo b e la scheda di rete collegata alla macchina B con 
indirizzo a.
Il mio istinto mi dice che è possibile per C ricevere i pacchetti
che A spedisce verso B sulla prima interfaccia farci quello che 
gli pare (magari anche modificarli) e poi inviarli a B dalla 
seconda interfaccia. E viceversa. Ma facciamo le cose semplici,
la macchina C non modifica il contenuto dei pacchetti, si limita
a spostarli da un'interfaccia all'altra (gia' sento i commenti:
"furbo questo qui, c'era un cavo che era perfetto, lo taglia, ci 
mette di mezzo una macchina, e per fare che cosa ? Quello che 
faceva prima il cavo ! Un genio !").
Il mio capo sostiene che non è possibile (e forse farei meglio
a dargli retta, ma quando sento la parola "impossibile"...).
Non ho conoscenze sufficienti di TCP/IP (e linux) per sapere se
sia solo questione di configurazione o se sia necessario mettere
le mani sul kernel (come credo e sopratutto se si vogliono 
modificare i pacchetti).
Attendo conferme :) o smentite :( e, nel caso di conferme magari
qualche piccola indicazione.
Non trovero' mai il tempo di farlo ma se il capo insiste...
Ciao,
Andrea.

rete locale
La cosa non e' solo possibile, ma e' una realta'
e' per questo che esistono ssh, ssl con 3DES e RSA
La cosa piu' difficile non e' configurare C, ma entrare e tagliare i cavi
[roba da "Missione Impossibile" :-) ]
Nella realta' esistono gia' Gateway come C, ed e' molto facile che qualche
persona senza scrupoli faccia i propri comodi..
Con vari "tools" e' possibile leggere mail, news, pop, quellochetipare,
che va da A a B attraverso C. Tutto quello che non e' criptato e passa per
C puo' essere letto.
ciao ciao
--
Alex   |  mailto:
hawk
(at)
ascu.unian.it
 |  
http://www.ascu.unian.it/~hawk
SySadm |  [ascu|studenti|www].
unian.it
 |  phone/fax      
+39-071-2204491

 seconda interfaccia. E viceversa. ...
E' possibile, ci vogliono 5 minuti a configurare il tutto.
Se uno dei due interlocutori intercettati/spoofati e' abbastanza
smaliziato potrebbe controllare l'indirizzo MAC della scheda di rete
corrispondente, ma si puo' falsificare anche quello, di minuti in
questo caso ce ne vogliono sei.
Ciao,
-- 
Andrea

; 
Date: Wed, 28 Apr 1999 00:57:42 +0200. 
 
Andrea, wrote:
Si si puň fare... ed anche senza tagliare il cavo... anche se la
faccenda č piů complessa... ed un sistema ben protetto almeno rileva
un'anomalia....
Ciao.
____________________
Michele Ferraudo
Torino
email:
ferra...@usa.net
togli XXX per rispondere
ICQ 22344505
Tersite

 C puo' essere letto.
con tanti altri tools e' anche possibile impossessarsi delle connessioni,
crearle ex novo, e modificare i dati in transito nel puro stile man in the
middle ....
invy
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GSS/TW/O>AT d?(dx) s+:+, s: a-->a- C++(C+++) UL+++>UL++++ P+ L+++>L++++
E-- W(W-) N++ K? w-- O- M- V- PS++ PE Y+ PGP++ t++@ 5 X+ R+(R++) tv b+++
DI+++@ D+ G>G++ e++ h r+(r-) y++*
------END GEEK CODE BLOCK------