Полгода назад на внутреннем пентесте я перехватил TCP-сессию между сервером мониторинга и управляющей консолью. RST-инъекция сработала с первого пакета — от обнаружения открытого порта до разрыва чужого соединения прошло 12 минут. Коллега-джуниор, наблюдавший в Wireshark, не мог понять, что происходит. Он знал, что TCP — «надёжный протокол». Но не представлял, как именно эта надёжность становится уязвимостью. 🔍 Суть проблемы — в механике трёхстороннего рукопожатия. Клиент отправляет SYN с начальным sequence number, сервер отвечает SYN-ACK со своим, клиент подтверждает ACK. Три пакета — соединение установлено. Просто? Да. Но дьявол в деталях: • Сервер после получения SYN выделяет ресурсы на полуоткрытое соединение ещё до завершения handshake. Запись в SYN-очереди висит ~31 секунду, ожидая финального ACK. Отправь тысячи SYN без продолжения — и очередь переполнится. Это классический SYN flood. • В устаревших TCP-стеках начальные sequence numbers генерировались линейно. Атакующий предс