Правило 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
... не было проблемой для Макафи. Я использую версию Snort 2.9.9.0
,
Кроме того, я также надеялся, что найдется лучший способ решить type
поле DNS-запроса. Вместо использования фиксированного смещения, чтобы указать, где в пакете вы ищете конкретный шаблон. Разве нет способа искать Type
поле в Queries
поле Domain Name System
раздел. Это также сделало бы правило намного более читабельным, чем использование смещений и шаблонов hexcode.
Итак, мой вопрос: кто-нибудь знает правило Snort, которое обнаруживает DNS-запросы типа NULL
?