Правило Snort для оповещения DNS, у которого есть ACK

Каким образом я могу написать правило, чтобы предупредить меня о DNS, у которого есть ACK, когда этого не должно быть? Я совсем запутался в этом.

Вот что я вижу в wireshark Acknowledgment Number: 0x000001a4 [should be 0x00000000 because ACK flag is not set]

Но я хочу правило, которое предупредит меня.

Это правило ниже не работает для меня.

alert tcp any any -> 192.168.10.2 53 (msg:"MALFORMED DNS QUERY"; flags: A; ack:0; sid:10501;) Вышеупомянутое не отображается в моем журнале предупреждений. Но если я удалю флаги: и ack:, это будет.


person soniccool    schedule 14.11.2013    source источник


Ответы (1)


Когда флаг ACK установлен, номер подтверждения никогда не будет равен «0», поэтому это правило не будет работать как есть.

Без «ack:» единственная проверка в правиле — это установленный флаг ACK (заголовок правила в стороне). Если вы используете DNS через TCP, вы увидите, что флаг ACK установлен как обычная часть диалога TCP, т. е. каждая конечная точка подтверждает полученные сегменты TCP.

Что вы видите в wireshark:

Номер подтверждения: 0x000001a4 [должен быть 0x00000000, поскольку флаг ACK не установлен]

Может быть частью экспертной информации, сообщающей вам, что номер подтверждения не равен нулю, хотя он должен быть (например, когда инициируется соединение tcp, первый пакет должен иметь только установленный флаг SYN).

Я действительно не уверен, чего вы пытаетесь достичь здесь.

person tcpee    schedule 19.03.2014