Newsgroup: it.comp.sicurezza.windows
Titolo: Pacchetti ARP artefatti

Spero di non dire cose già arcinote, visto che sono da poco in questi NG.
Mi è capitato di confezionare un pacchetto ARP Reply "abusivo" ed inviarlo
ad una macchina WinME.
La sorpresa è che WinME ha creduto al pacchetto ARP.
Mi spiego meglio.
In una LAN 802.3 a 10Mb/s ho, tra gli altri, due PC con IP statico fissato a
10.10.10.1 per la macchina "1" e 10.10.10.3 per la macchina "3".
Sulla macchina "1" gira Win98SE, mentre sulla macchina "3" gira WinMe.
Usando un software ho composto sulla macchina "1" un pacchetto ARP REPLY
diretto alla macchina "3" e proveniente dalla macchina "1" con una piccola
alterazione: ho sostituito il MAC address della macchina "1" con uno di mia
invenzione.
La macchina "3" ha accettato il pacchetto ARP REPLY pur senza aver mai
inviato un ARP REQUEST! In questo modo sarebbe possibile tappare la bocca ad
una macchina in LAN. E' normale che un sistema operativo si comporti così,
accettando cioè pacchetti non sollecitati?
Spero di non aver omesso nulla...
/\/\aurizio Fuschetto.

accettando cioč pacchetti non sollecitati?
Si chiama "gleaning". E per Windows ME, beh, e' normale.
Leonardo "vi /usr/src/linux-2.4.4/net/ipv4/arp.c +773"
-- 
ftp://warez.slashdot.com:12345
 - Warez for nerds. Stuff that matters.

 >accettando cioè pacchetti non sollecitati?


...e Windows???
Ahh, e' uguale. Anche lui lo si puo' rendere piu' sicuro modificando due
righe nei sorgenti <evil grin>.
Leonardo


 ...e Windows???
ARP funziona più o meno così. Quando un host deve spedire un pacchetto a un 
certo destinatario, spedisce a tutti gli host nella stessa rete fisica un 
messaggio in cui chiede chi è l'host con quel ben preciso IP address. Nello 
stesso messaggio mette anche i propri indirizzi, sia quello fisico che 
quello IP. Si adopera cioè una tecnica di broadcasting. L'host il cui IP è 
quello cercato, rimanda indietro al richiedente il proprio indirizzo 
fisico, permettendo così l'associazione tra i due. Ciò è possibile in 
quanto esso ha comunque ricevuto anche l'indirizzo fisico del mittente. Ma 
allora per ogni pacchetto che va spedito a un certo IP address è necessario 
prima mandare un pacchetto a tutti gli host nella rete? E perché allora non 
mandare direttamente il pacchetto da trasmettere a tutti, invece di 
chiedere prima chi è che ha un certo indirizzo IP? Ovviamente la cosa non 
funziona così, anche perché si rischierebbe di appesantire inutilmente la 
rete con pacchetti che vengono recapitati ai sistemi sbagliati. Quello che 
si fa è di mantenere presso ogni host una tabella con tutti gli 
accoppiamenti già trovati, e di aggiornarla periodicamente per evitare che 
diventi obsoleta. A questo punto i meccanismi di broadcasting servono ad 
aggiornare tali tabelle. Per esempio, se un host deve spedire un pacchetto 
a un certo indirizzo IP, prima controlla nella sua tabella se non ha già 
l'indirizzo fisico del destinatario. Solo nel caso l'informazioni manchi, 
l'host spedisce a tutti gli altri host il messaggio di richiesta. Quando 
questo arriva a un qualunque host, sia esso il vero destinatario o no, ogni 
host aggiorna la sua tabella con l'indirizzo fisico e quello IP del 
mittente, tanto per guadagnare tempo. Il destinatario, in più, spedisce 
indietro anche il suo indirizzo fisico al mittente, così da potergli 
permettere di aggiornare la sua tabella di indirizzi. Un'ulteriore tecnica 
che si usa per assicurarsi che tali tabelle siano sempre aggiornate, è 
quella di far distribuire la propria coppia di indirizzi, fisico ed IP, 
ogni qual volta un sistema si connette alla rete, per esempio al reboot.
A questo punto, se gia' cosi uindous si comporta in modo bislacco, in 
ambiro RARP non oso immaginare come funziona la cosa... :)
-- 
Pascal-X - mICQ 25553477 - 
http://pascal.hobbiton.org
Responsabile Pubbliche Relazioni del SIACD
Profeta del Sommo C_R_O_S_S__B_O_N_E_S
Nemico dichiarato del Kyle Jordan Klan

 wrote in message
Xns90D69AA2CB0...@127.0.0.1...


 reboot.
Difatti il router di cui all'altro mio messaggio lo dobbiamo sempre
tenere spento perche' appena avviamo un winDOS la connessione ISDN va
su.
-- 
Abrogato l'art. 21 della Costituzione Italiana:
 
http://punto-informatico.it/petizione.asp
SecurFaq             : 
http://members.nbci.com/gouldukat/
Biancorossi Siamo Noi: 
http://www.tifonet.it/free/ancona/

su.
E' un Tintoretto, se non ricordo male... non ha i filtri per impedire che il
traffico broadcast su NetBIOS alzi il link?
-- 
BlueRaven
Prima di parlare, ricorda:
mount -t auto /dev/brain /mnt/mouth

 traffico broadcast su NetBIOS alzi il link?
Si una volta ci ho dato un occhiata al "manuale on line" (ci telnetti su
e una delle funzioni del menu' principale che ti spara il suo serverino
telnet ti mostra il manuale), e dovrebbe esserci una specie di
mini-firewall integrato. Ma non ci ho capito quasi niente, le regole
dovrebbero essere della forma <byte X = valore Y> o <intervallo di byte>
= <seq. di valori> ma come al solito il tempo per approfondire le cose
interessanti non c'e' mai, fra clienti che rompono le OO ogni dieci
minuti e l'euro (deliberatamente con la minuscola) che incombe (*) e' un
po' che non si riesce a fare piu' niente d'interessante.
(*) i 4 euroburocrati da strapazzo che si sono inventati quell'aborto di
moneta (**) andrebbero impalati e poi immersi ancora vivi nella pece
bollente (***).
(**) che non serve a niente e come effetto collaterale sta creando solo
casini per chi lavora nell'IT.
(***) occhei amici echeloniani, loggatelo pure questo, tanto...
Max si vede che gli girano in questi giorni? 8-)


Max si vede che gli girano in questi giorni? 8-)
Coraggio, che tra poco arrivano le ferie. :-)


 mount -t auto /dev/brain /mnt/mouth
I/O error on device 30:01 (/dev/brain). Cannot read superblock, bad
media byte. Please run fsck immediately.
Fatal read error.
bash> # _
Max FINALAMENTE XFREE 4 PARTE!!!!!!


bash> # _
Ohi, ohi... la vedo brutta, mi sa che ti tocca rebootare in single user mode
e andare di manine! Troppo lavoro? :-)))
-- 
BlueRaven
Prima di parlare, ricorda:


 e andare di manine! Troppo lavoro? :-)))
Da un certo punto di vista... ^______^
