Saturday, 1 June 2013

are there any requirements for the sequence number on CP RST packets?

are there any requirements for the sequence number on CP RST packets?

if there is a tcp connection between tcp program A and B, and its source IP/PORT and destination IP/PORT are known by an attack, now the attack wants to send a tcp RST packet to A to end the tcp connection.
now, let's assume that, for A, its TCP stack just send a TCP ACK packet with sequence number 1000 and acknowledgement sequence number 5000.
are there any requirements for the sequence number and acknowledgement sequence number on the RST packet?
if the RST packet are with seq: 5000 and ack:1000, it will definitely be accepted by the TCP stack of A and the TCP connection is ended on A.
how about the following combinations?
1 seq: 5000, ack_seq: 0
2 seq: 5000, ack_seq: 999  ( this ack_seq is obsolete, namely <1000)
3 seq: 5000, ack_seq: 1002 ( this ack_seq is proactive, namely >1000)
4 seq: 5001, ack_seq: 1000 ( the seq is not consistent)
5 seq: 5001, ack_seq: 999  ( both seq and ack_seq are not consistent)
it seems to me that 1 is ok for killing the connection?

No comments:

Post a Comment