Я пытаюсь обнаружить запросы 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
?