У меня есть правило snort, которое я хочу импортировать в IDS.
alert tcp any any -> any any (msg:"FOX-IT - Trojan - Possible CobaltStrike C2 Server";
flow:to_client;
content:"HTTP/1.1 200 OK |0d0a|"; fast_pattern; depth:18;
content:"Date: ";
pcre:"/^HTTP/1.1 200 OK \r\nContent-Type: [^\r\n]{0,100}\r\nDate: [^\r\n]{0,100} GMT\r\n(Content-Length: \d+\r\n)\r\n/";
threshold:type limit, track by_dst, count 1, seconds 600;
classtype:trojan-activity; priority:2;
sid:21002217; rev:3;)
Я получаю сообщение об ошибке:
Ошибка проверки: недопустимый или неподдерживаемый токен PCRE: [...] ОШИБКА: неподдерживаемый синтаксис PCRE: отсутствует EOF в '.'
Когда я редактирую PCRE из
pcre:"/^HTTP/1.1 200 OK \r\nContent-Type: [^\r\n]{0,100}\r\nDate: [^\r\n]{0,100} GMT\r\n(Content-Length: \d+\r\n)\r\n/";
to
pcre:"/^HTTP 200 OK \r\nContent-Type: [^\r\n]{0,100}\r\nDate: [^\r\n]{0,100} GMT\r\n(Content-Length: \d+\r\n)\r\n/";
(поэтому удаляя /1.1
), он говорит, что синтаксис действителен.
Как я могу это исправить?
HTTP
следует экранировать. В какую IDS и какую версию вы импортируете? Я напишу утром автору правила (коллеге). - person David   schedule 02.04.2019