Ciao ragazzi, vorrei chiedervi alcune spiegazioni:


Supponiamo che esista una connessione telnet da A verso B e che l'attaccante si
trovi nella postazione C. Cosa succederebbe se quest'ultimo in un periodo di
"calma" della connessione tra A e B mandasse un pacchetto spoofato a B in modo
da far credere che provenga da A?
Semplice, B aggiornerebbe l'Acknowledgement number di A (SVR_ACK) in base al
pacchetto ricevuto desincronizzandosi dal Sequence number reale di A (CLT_SEQ).
A questo punto i pacchetti spediti da A verranno scartati in quanto per B hanno
un Sequence number errato. Vediamo un esempio per capire meglio:


SEQ=100 ACK=500 DATI=10 A spedisce un pacchetto contenente 10 Byte di Dati
A -----------------------> B Sequence number=100 e Acknowledgement number=500


B si aggiorna Sequence number e Acknowledgement number:
Sequence number = 500
Acknowledgement = 100 + 10


SEQ=500 ACK=110 DATI=15 B spedisce un pacchetto contenente 15 Byte di Dati
A <----------------------- B Sequence number=500 e Acknowledgement number=110

Il pacchetto arriva ad A che si riaggiorna Acknowledgement number e
Sequence number:
Sequence number = 110
Acknowledgement = 500 + 15

A questo punto si intromette l'attaccante con un pacchetto Spoofato, usando il
Sequence number e l'Acknowledgement number corretti.


SEQ=110 ACK=515 DATI=20 C spedisce un pacchetto spoofato contenente
A(C) -----------------------> B 20 Byte di Dati Sequence number=110 e
Acknowledgement number=515


B si aggiorna Sequence number e Acknowledgement number:
Sequence number = 515
Acknowledgement = 110 + 20


In questo casi per capire nel primo punto della connessione tra a e b funziona così:

Il sequence number di a diventa l'acknowledgement di b e l'acknow di a il sequence number di b.....

Così per il resto.....