Правила Snort с содержимым

Это вызовет предупреждение:

alert tcp any any <> any any (msg:"Test_A"; sid:3000001; rev:1;)

Это не будет:

alert tcp any any <> any any (msg:"Test_B"; content:"badurl.com"; http_header; sid:3000002; rev:1;)

Я пробовал: fast_pattern: только; метаданные: служба http; без чехла; http_заголовок; и другие. Я не могу заставить его работать на этом общем уровне. Любые идеи, почему атрибут содержимого не работает? Пакет имеет URL.

Обновлено из комментариев

0000 9c d2 4b 7d 96 60 3c 15 c2 dc 48 fa 08 00 45 00 ..K}.<. ..H...E.
0010 01 5c ac 2c 40 00 40 06 cf f5 c0 a8 c8 1e 41 fe .\.,@.@. ......A. 
0020 f2 b4 dc 41 00 50 d0 e7 97 d0 ae b8 f9 ba 80 18 ...A.P.. ........
0030 ff ff da 1f 00 00 01 01 08 0a 34 03 84 d8 b7 cc ........ ..4.....
0040 3f 04 47 45 54 20 2f 20 48 54 54 50 2f 31 2e 31 ?.GET / HTTP/1.1
0050 0d 0a 48 6f 73 74 3a 20 6d 79 64 6f 6d 61 69 6e ..Host: mydomain 
0060 2e 63 6f 6d 0d 0a 55 73 65 72 2d 41 67 65 6e 74 .com..Us er-Agent

person Dann    schedule 02.07.2016    source источник
comment
server_flow_depth и client_flow_depth равны нулю.   -  person Dann    schedule 03.07.2016
comment
У меня есть указанное выше правило, загруженное в мой файл local.rules. Он находится в папке /etc/nsm/rules/. Файлы PCAP находятся на моем рабочем столе в Security Onion. Я запускаю следующую команду в терминале, которая запускается, но не выдает никаких предупреждений. sudo snort -c /etc/nsm/rules/local.rules -r /path/to/Desktop/20160701.pcap -A full -l .   -  person Dann    schedule 04.07.2016
comment
Выяснил, что это связано с http_header; и HTTP-процессорами.   -  person Dann    schedule 04.07.2016
comment
Вы не можете показать нам какие-либо данные, которые, по вашему мнению, будут соответствовать вашим правилам. Например, с модификатором http_header вы будете сопоставлять этот контент только в том случае, если он действительно появляется в заголовке HTTP.   -  person David Hoelzer    schedule 16.07.2016
comment
Это образец оповещения. Это должно немного сузить его для вас. Моя проблема в том, что когда я указываю http_header, я не получаю предупреждений. Если я оставлю это, я получу результаты, но теперь правило очень неэффективно.   -  person Dann    schedule 17.07.2016
comment
И, как я уже сказал, вы не показали нам никаких пакетов. Из того, что вы описываете, звучит почти наверняка, что то, что вы ищете, не находится в поле заголовка.   -  person David Hoelzer    schedule 18.07.2016
comment
Если бы я мог загрузить файл pcap, я бы это сделал.   -  person Dann    schedule 20.07.2016
comment
Вы можете вставить шестнадцатеричный код с декодированием ascii или просто повторно собранным потоком.   -  person David Hoelzer    schedule 20.07.2016
comment
0000 9c d2 4b 7d 96 60 3c 15 c2 dc 48 fa 08 00 45 00 ..K}.‹. ..ОН. 0010 01 5c ac 2c 40 00 40 06 cf f5 c0 a8 c8 1e 41 fe .\.,@.@. ......А. 0020 f2 b4 dc 41 00 50 d0 e7 97 d0 ae b8 f9 ba 80 18 ...A.P.......... 0030 ff ff da 1f 00 00 01 01 08 0a 34 03 84 d8 b7 cc ... ..... ..4..... 0040 3f 04 47 45 54 20 2f 20 48 54 54 50 2f 31 2e 31 ?.GET / HTTP/1.1 0050 0d 0a 48 6f 73 74 3a 20 6d 79 64 6f 6d 61 69 6e ..Host: mydomain 0060 2e 63 6f 6d 0d 0a 55 73 65 72 2d 41 67 65 6e 74 .com..User-Agent`   -  person Dann    schedule 21.07.2016
comment
Я пытаюсь отформатировать его ‹pre›. Не работает. Извиняюсь.   -  person Dann    schedule 22.07.2016
comment
Я получаю одно предупреждение из двух правил выше. [] [1:3000006:1] Рабочая ссылка на mydomain.com [] [Приоритет: 0] 04.07-17:24:23.950990 192.168.200.30:56385 -> 65.254.242.180:80 TCP TTL:64 TOS:0x0 ID:44076 IpLen:20 DgmLen:348 DF AP Seq: 0xD0E797D0 Ack: 0xAEB8F9BA Win: 0xFFFF TcpLen: 32 Параметры TCP (3) = › НЕП НЕП ТС: 872645848 3083616004   -  person Dann    schedule 22.07.2016
comment
Вот команда терминала, которую я использую: snort -c 20160704.rules -r 20160704.pcap -k none -A full -l .   -  person Dann    schedule 22.07.2016


Ответы (2)


Предоставленное вами правило никогда не сработает с предоставленным вами примером пакета. Вы использовали content:"POST"; с модификатором http_method, но пытаетесь сопоставить пакет, который является запросом GET.

person David Hoelzer    schedule 21.07.2016
comment
У меня все еще есть проблема, о которой я упоминал в начале. - person Dann; 22.07.2016

Я думаю, что правильный модификатор содержимого должен быть http_uri, а не http_header. Если только вы не пытаетесь захватить параметр Host POST.

person eugenioperez    schedule 06.04.2017