Рукопожатие с подделкой IP - PullRequest
       6

Рукопожатие с подделкой IP

2 голосов
/ 17 сентября 2010

Я заметил, что какая-то законная связь такая:

6221 29.880628 5.4.3.2   1.2.3.4 TCP 61235 > cbt [SYN] Seq=0 Win=8192 Len=0 MSS=1452 SACK_PERM=1
6222 29.880646 1.2.3.4  5.4.3.2 TCP cbt > 61235 [SYN, ACK] Seq=0 Ack=1 Win=16384 Len=0 MSS=1460 SACK_PERM=1
6240 29.984383 5.4.3.2  1.2.3.4 TCP 61235 > cbt [ACK] Seq=1 Ack=1 Win=65340 Len=0
6241 29.989707 5.4.3.2  1.2.3.4 TCP 61235 > cbt [PSH, ACK] Seq=1 Ack=1 Win=65340 Len=267

Так что, по крайней мере, в моем случае, если законная всегда такая:

Client (Syn,Seq=0)
Server (Syn/Ack, Seq=0, Ack1)
Client (Ack, Seq=1, Ack1)

Мне показалось слабымо возможности подделать и поднять сокет до приложения.(конечно, поддельный IP должен быть отключен, чтобы избежать RST)

Поэтому я протестировал отправку SYN с поддельным IP и затем отправил ACK.

Прибывает SYN, но ack становится как будто игнорируемым до тех пор.

После подмены SYN сервер отправляет 3 SYN / ACK (без ответа, конечно).Через несколько секунд, если я повторно отправлю подтверждение, оно получит, но с некоторой ошибкой.

Возможно ли в этом сценарии рукопожатие с поддельным IP?Кажется, но я делаю что-то не так ..

1 Ответ

2 голосов
/ 17 сентября 2010

Нет, это невозможно.

Проблема в том, что сервер отправляет обратно SYN-ACK - потому что он отправляет его обратно на поддельный ip , что не соответствуетфактический источник сообщения.

В частности, вы описываете (подделка ACK) атаку с предсказанием последовательности TCP *1009*, которая хорошо известна и в настоящее время встречается почти во всех ОС.1010 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...