Препроцессор Snort http_inspect не будет предупреждать о трафике

В настоящее время я тестирую Snort IDS для проекта, я следовал руководству по установке Snort 2.9.5.3. У меня проблема с правильной настройкой http_inspect, чтобы он предупреждал о трафике.

(Виртуальная) сеть, которую Snort отслеживает, состоит из него, машины с Ubuntu под управлением DVWA (192.168.9.30) и виртуальной машины Kali Linux (192.168.9.20). Я создал локальное правило для содержимого любого пакета /etc/passwd. Это правило обнаружило фрагментированные пакеты, отправленные с виртуальной машины Kali на виртуальную машину DVWA (с использованием включения файлов).

Я полагаю, что настроил http_inspect для генерации предупреждений о кодировании URL, множественных косых чертах и ​​самоссылках (см. ниже). После запуска методов уклонения я проверяю вывод терминала из Snort, и он показывает, что он обнаружил использование этих методов, но не генерирует предупреждение.

snort.conf

# HTTP normalization and anomaly detection.  For more information, see README.http_inspect
preprocessor http_inspect: global iis_unicode_map unicode.map 1252 compress_depth 65535 decompress_depth 65535
preprocessor http_inspect_server: server default \
    http_methods { GET POST PUT SEARCH MKCOL COPY MOVE LOCK UNLOCK NOTIFY POLL BCOPY BDELETE BMOVE LINK UNLINK OPTIONS HEAD DELETE TRACE TRACK CONNECT SOURCE SUBSCRIBE UNSUBSCRIBE PROPFIND PROPPATCH BPROPFIND BPROPPATCH RPC_CONNECT PROXY_SUCCESS BITS_POST CCM_POST SMS_POST RPC_IN_DATA RPC_OUT_DATA RPC_ECHO_DATA } \
    chunk_length 500000 \
    server_flow_depth 0 \
    client_flow_depth 0 \
    post_depth 65495 \
    oversize_dir_length 500 \
    max_header_length 750 \
    max_headers 100 \
    max_spaces 200 \
    small_chunk_length { 10 5 } \
    ports { 36 80 81 82 83 84 85 86 87 88 89 90 311 383 591 593 631 801 818 901 972 1158 1220 1414 1533 1741 1830 2301 2381 2809 3029 3037 3057 3128 3443 3702 4000 4343 4848 5117 5250 6080 6988 7000 7001 7144 7145 7510 7770 7777 7779 8000 8008 8014 8028 8080 8082 8085 8088 8090 8118 8123 8180 8181 8222 8243 8280 8300 8500 8509 8800 8888 8899 9000 9060 9080 9090 9091 9443 9999 10000 11371 12601 34443 34444 41080 50000 50002 55252 55555 } \
    non_rfc_char { 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 } \
    enable_cookie \
    extended_response_inspection \
    inspect_gzip \
    normalize_utf \
    unlimited_decompress \
    normalize_javascript \
    apache_whitespace no \
    ascii yes \
    bare_byte no \
    directory yes \
    double_decode yes \
    iis_backslash no \
    iis_delimiter no \
    iis_unicode no \
    multi_slash yes \
    utf_8 yes \
    u_encode yes \
    webroot no 

Местное правило

  alert tcp any any -> 192.168.9.30 80 (msg:"Potential File Inclusion of /etc/passwd"; flow:to_server,established; classtype:attempted-recon; content:"/etc/passwd"; nocase; sid:1122; rev:1;)

person Dan1676    schedule 22.02.2014    source источник


Ответы (1)


Обнаружил ответ, больше благодаря удаче. Оказывается, правило, которое я указал в вопросе, требовало небольшой модификации файла snort.conf. Поле «контент» необходимо изменить на «uricontent». С этой модификацией препроцессор http_inspect будет проверять поле URI любых проверенных пакетов.

Нажмите здесь, чтобы получить более подробную информацию.

person Dan1676    schedule 24.02.2014