[FoLUG]Help.. spoofing? che roba è?

folug@lists.linux.it folug@lists.linux.it
Mon, 18 Nov 2002 11:13:52 +0000


On Sun, 17 Nov 2002 11:18:11 +0100
Alessandro Ronchi <ronchi@csr.unibo.it> wrote:

ML> Alle 10:40, domenica 17 novembre 2002, Mauro ha scritto:
ML> > Ciao a tutti,
ML> > sto traducendo un documento per la faq del tcpa e mi sono imbattuto in un
ML> > termine: 'spoofing' che mi manca.
ML> 
ML> Lo spoofing è un attacco che consiste da parte dell'intrusore nello spedire 
ML> pacchetti che sembrino provenire dall'ip di un computer 
Esatto questo e' lo spoofing, sostanzialmente e' il modificare i campi dei pacchetti tcp/ip che contengono 
indirizzo ip del mittente piu' raramente anche la porta sorgente con un altro ip da impersonificare, es:
A invia pacchetti spoofati(impersonificando C) a B, in questo caso B tentera' di rispondere a C, pensando che la comunicazione fosse iniziata da C.
Il probl. a questo punto e' che A non potra' leggere la risposta di B inviata a C, a meno che non si trovi sullo stesso segmento di rete e abbia la possibilita' di analizzare tutto il traffico passante su tale seg.(sniffing), a questo punto si sviluppano due possibilita':
1) Spoofing sullo stesso segmento di rete 
2) Spoofing su segmenti differenti ed allora in questo caso si chiama blind spoofing cioe' alla cieca, dove A (il mittente dei pacchetti spoofati) non puo' conoscere/leggere la risposta di B inviata a C.
Devi anche considerare la tipologia dei pacchetti che vengono scambiati, e le modalita' di connessione, ovviamente se C risponde a B con qualcosa tipo: *Non ho mai cercato di fare una connessione con te* la connessione cade, e qui nasce la necssita' di bloccare le risposte di C verso B e generalmente per far questo si usano i DoS (Denial of Service) ovvero si tenta di bloccare temporaneamente la risposta di C.

ML> che è fidato (che ha 
ML> una trust relationship con la vittima dell'attacco).
Il fatto delle relationship non e' proprio legato a tecniche di spoofing e' stato usato tempo fa quando ~/.rhosts o simili avevano ancora valore, oggi si usa maggiormente SSH, VPN, e i certificati in sostituzione di questo file...e sinceramente oggi, non userei un rhosts per autenticare una macchina senza password.
A riguardo ti consiglio di dare un occhio all'ottimo esempio di spoofing piu' relazioni di fiducia di Mitnick vs Shimomura
http://digital-suicide.members.easyspace.com/textzh/shimomur.txt e' l'esempio piu' gettonato.
ML> Prima bisogna capire quale macchina si deve cercare di imitare, poi si devono 
ML> cambiare gli header dei pacchetti tcp/ip.
ML> 
ML> In pratica non so come si faccia.
I modi per farlo sono diversi, google ti e' amico, magari provaci se hai un paio di TUE (sottolieno TUE) macchine dentro una piccola lan, come tool puoi usare hping (http://www.hping.org) scritto da Slavatore-Sanfilippo (Antirez) e tcpdump e' un ottimo inizio senza dover necessariamente scrivere righe di codice, altrimenti ti consiglio di usare delle librerie molto adatte alla manipolazioni dei pacchetti tcp prova magari a dare un'occhio alle libnet: http://www.packetfactory.net/projects/libnet/ 

ML> -- 
ML> Alessandro Ronchi, 
ML> http://students.csr.unibo.it/~ronchi


Bye!

GC
Fingerprint = 5F0A 3504 CD11 BDAF 1145 3664 F531 E546 
http://introsec.dnsalias.org/gluca/key.txt