Укажите значение MTU

Я пытаюсь провести пентест реализации IPSEC для проекта uni и следую этому руководству. Я застрял на:

Шаг 1 (общий): Подделка пакета ICMP PTB из ненадежной сети Злоумышленник сначала должен подделать соответствующий пакет ICMP PTB (достаточно одного пакета). Это делается путем прослушивания действительного пакета из туннеля IPsec в ненадежной сети. Затем злоумышленник подделывает пакет ICMP PTB указав очень маленькое значение MTU, равное или меньше 576 для IPv4 (соответственно 1280 для IPv6). . Злоумышленник может использовать, например, 0. Этот пакет подменяет IP-адрес маршрутизатора недоверенной сети (в случае проверки исходного IP-адреса) и для обхода механизма защиты IPsec от слепых атак включает в качестве полезной нагрузки часть внешнего IP-пакета, только что прослушали. Это единственный пакет, который необходимо отправить злоумышленнику. Ни один из следующих шагов не связан со злоумышленником.

Я знаю, что такое MTU, но что означает это жирное утверждение?

Как установить размер MTU пакета с помощью scapy?

Это означает, что я должен установить размер IP-пакета менее 576 байт? Он уже установлен на 140 B, по крайней мере, он показывает это командой len. Я что-то не так понял, может надо поставить fragmentation?


person Kuze    schedule 20.12.2020    source источник


Ответы (1)


Я ничего не знаю об этом предмете, но быстрый поиск показал, что речь идет о пакете IPv6 ICMP. с типом 2 (слишком большой пакет).

Затем, из-за того, что вы ковыряетесь в scapy, кажется, что вы бы его создали:

from scapy.layers.inet6 import ICMPv6PacketTooBig

icmp_ptb = ICMPv6PacketTooBig(mtu=0)

Конечно, вам нужно будет провести некоторые тесты, чтобы убедиться в этом.

person Carcigenicate    schedule 20.12.2020