Назад | Перейти на главную страницу

Правило Snort для обнаружения пакетов DNS типа NULL

Я пытаюсь обнаружить запросы DNS типа NULL используя Snort. Я нашел поле типа пакета запроса с помощью Wireshark:

Я нашел следующее правило на McAfee:

alert udp any any -> any 53 (msg:"NULL request"; content:"|01 00|"; offset:2; within :4; content:"|00 00 0a 00 01|"; offset:12; within:255; threshold: type threshold, track by_src, count 10, seconds 5; sid: 5700001; rev: 1)

Однако, во-первых, это правило у меня не работает, так как выдает следующее сообщение об ошибке:

ERROR: /etc/snort/rules/local.rules(7) within can't be used with itself, protected, offset, or depth

Что странно, потому что, очевидно, используя within в комбинации с itself, protected, ... не было проблемой для McAfee. Я использую версию Snort 2.9.9.0.

Кроме того, я также надеялся, что будет лучший способ решить проблему type поле DNS-запроса. Вместо использования фиксированного смещения, чтобы указать, где в пакете вы ищете конкретный шаблон. Разве нет способа найти Type поле в Queries поле Domain Name System раздел. Это также сделало бы правило более читаемым, чем использование смещений и шаблонов шестнадцатеричного кода.

Итак, мой вопрос: знает ли кто-нибудь правило Snort, которое обнаруживает запросы DNS типа NULL?