ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
1053247 Топик полностью
fk0, легенда (17.11.2020 23:15, просмотров: 262) ответил SciFi на Вот занятная штука: NAT slipstreaming >>>
Я правильно понимаю, что фундаментальный косяк для TCP в том, что conntrack тупо поиском ищет определённую строку во всех пакетах посылаемых на определённый порт и делает из этого глубикие выводы? 

Но ведь пишут: The nf_defrag_ipv4 module will defragment IPv4 packets before they reach Netfilter's connection tracking (nf_conntrack_ipv4 module). This is necessary for the in-kernel connection tracking and NAT helper modules (which are a form of "mini-ALGs") that only work reliably on entire packets, not necessarily on fragments.


Мне непонятно, тогда зачем все эти пляски с фрагментацией? С одной стороны у жертвы оно же обратно и дефрагментируется для начала, с другой стороны TCP -- вообще-то это поток и SIP-протокол запросто может оказаться разорванным между двумя пакетами, поэтому там фрагментация побоку, анализируется не один пакет, а сам анализатор имеет состояние, где помнит что он видел в предыдущем пакете...


Для UDP более-менее понятен смысл -- там данные всегда дискретны и разделены границами пакетов и анализировать имеет смысл только в пределах одного пакета (и алгоритм увидев другие заголовки пакета может отбросить весь пакет -- поэтому нужна фрагментация, чтоб во втором фрагменте было что нужно).


Но для TCP, цитирую источник:

  • victim IP stack breaks the POST into multiple TCP packets, leaving the "SIP packet" (as part of POST data) in its own TCP packet without any accompanying HTTP headers

По-моему это какой-то бред, где-то здесь обман или что-то я не допонимаю... Почему в TCP речь идёт о пакетах? В SIP-протоколе весь траффик может пойти по одной букве в пакете -- и это валидный кейс, должно работать.

[ZX]