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.....