Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
snort3 — Sistema multithread de detecção e prevenção de intrusão em rede com detecção baseada em regras, inspeção ciente de protocolos e análise de pcap para monitoramento de tráfego empresarial. | Kitploit
Ferramentas/GitHubGitHub/snort3/snort3
Ferramentas DefensivasSniffing e Análise de PacotesFuzzingSegurança de RedeDetecção de Intrusão
GitHubsnort3/snort3

snort3

Sistema multithread de detecção e prevenção de intrusão em rede com detecção baseada em regras, inspeção ciente de protocolos e análise de pcap para monitoramento de tráfego empresarial.

Ver Repositório
3.4k687há 4 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Snort++

O Snort 3 é a próxima geração do Snort IPS (Intrusion Prevention System). Este arquivo mostrará o que o Snort++ tem a oferecer e o guiará pelas etapas desde o download até a demonstração. Se você não está familiarizado com o Snort, deve dar uma olhada primeiro na documentação do Snort. Abordaremos os seguintes tópicos:


  • Visão geral
  • Dependências
  • Download
  • Compilar o Snort
  • Executar o Snort
  • Testes de Fuzzing
  • Documentação
  • Squeal

VISÃO GERAL

Esta versão do Snort++ inclui novos recursos, bem como todos os recursos do Snort 2.X e correções de bugs para a versão base do Snort, exceto conforme indicado abaixo:

root@kitploit:~
Project = Snort++
Binary = snort
Version = 3.0.0 (Build 250) from 2.9.11

Aqui estão alguns recursos-chave do Snort++:

  • Suporte a múltiplas threads de processamento de pacotes
  • Uso de uma configuração compartilhada e tabela de atributos
  • Uso de uma configuração simples e scriptável
  • Tornar os principais componentes plugáveis
  • Detecção automática de serviços para configuração sem portas
  • Suporte a buffers adesivos (sticky buffers) em regras
  • Geração automática de documentação de referência
  • Melhor suporte multiplataforma
  • Facilitar testes de componentes
  • Uso de um mapa de rede compartilhado

Recursos adicionais no roadmap incluem:

  • Suporte a pipeline de processamento de pacotes
  • Suporte a offload de hardware e integração com o plano de dados
  • Suporte a modo proxy
  • Suporte a Windows

DEPENDÊNCIAS

Se você já compila o Snort, pode já ter tudo o que precisa. Se não, obtenha as versões mais recentes:

  • CMake para compilar a partir do código-fonte
  • DAQ de https://github.com/snort3/libdaq para E/S de pacotes
  • dnet de https://github.com/dugsong/libdnet.git para funções utilitárias de rede
  • flex >= 2.6.0 de https://github.com/westes/flex para o parser de sintaxe JavaScript
  • g++ >= 7 ou outro compilador C++17
  • hwloc de https://www.open-mpi.org/projects/hwloc/ para gerenciamento de afinidade de CPU
  • LuaJIT de http://luajit.org para configuração e script
  • OpenSSL de https://www.openssl.org/source/ para assinaturas de arquivo SHA e MD5, a opção de regra protected_content e detecção de serviço SSL
  • pcap de http://www.tcpdump.org para registro no estilo tcpdump
  • PCRE2 de http://www.pcre.org para correspondência de padrões com expressões regulares
  • pkgconfig de https://www.freedesktop.org/wiki/Software/pkg-config/ para localizar dependências de build
  • zlib de http://www.zlib.net para descompactação

Pacotes adicionais fornecem recursos opcionais. Consulte o manual para mais informações.

DOWNLOAD

Há um tarball do código-fonte disponível na seção Downloads em snort.org:

root@kitploit:~
snort-3.0.0-a3.tar.gz

Você também pode obter o código com:

root@kitploit:~
git clone https://github.com/snort3/snort3.git

Existem pacotes extras separados para cmake que fornecem recursos adicionais e demonstram como compilar plugins. O código-fonte dos extras está no repositório snort3_extra.git.

COMPILAR O SNORT

Siga estes passos:

  1. Configure o diretório de origem:
  • Se você estiver usando um clone do github:

    root@kitploit:~
    cd snort3/
    
  • Caso contrário, faça o seguinte:

    root@kitploit:~
    tar zxf snort-tarball
    cd snort-3.0.0*
    
  1. Configure o caminho de instalação:

    root@kitploit:~
    export my_path=/path/to/snorty
    
  2. Compile e instale:

  • Para compilar com cmake e make, execute configure_cmake.sh. Ele criará e preencherá automaticamente um novo subdiretório chamado 'build'.

    root@kitploit:~
    ./configure_cmake.sh --prefix=$my_path
    cd build
    make -j $(nproc) install
    

Nota:

  • Se você conseguir executar src/snort -V, a compilação foi bem-sucedida.
  • Se você está familiarizado com cmake, pode executar cmake/ccmake em vez de configure_cmake.sh.
  • cmake --help listará quaisquer geradores disponíveis, como Xcode. Sinta-se à vontade para usar um; no entanto, a ajuda para esses será fornecida separadamente.

EXECUTAR O SNORT

Aqui estão alguns exemplos. Se você estiver usando regras e/ou configurações do Talos, primeiro defina quaisquer variáveis necessárias no topo de snort.lua e snort_defaults.lua.

  • O Snort++ fornece muita ajuda pela linha de comando, incluindo:

    root@kitploit:~
    $my_path/bin/snort --help
    $my_path/bin/snort --help-module suppress
    $my_path/bin/snort --help-config | grep thread
    
  • Examine e despeje um pcap. No exemplo a seguir, substitua a.pcap pelo seu favorito:

    root@kitploit:~
    $my_path/bin/snort -r a.pcap
    $my_path/bin/snort -L dump -d -e -q -r a.pcap
    
  • Verifique uma configuração, com ou sem regras:

    root@kitploit:~
    $my_path/bin/snort -c $my_path/etc/snort/snort.lua
    $my_path/bin/snort -c $my_path/etc/snort/snort.lua -R $my_path/etc/snort/sample.rules
    
  • Execute o modo IDS. No exemplo a seguir, substitua pcaps/ por um caminho para um diretório com um ou mais arquivos *.pcap:

    root@kitploit:~
    $my_path/bin/snort -c $my_path/etc/snort/snort.lua -R $my_path/etc/snort/sample.rules \
        -r a.pcap -A alert_test -n 100000
    
  • Vamos suprimir 1:2123. Poderíamos editar a configuração ou simplesmente fazer isto:

    root@kitploit:~
    $my_path/bin/snort -c $my_path/etc/snort/snort.lua -R $my_path/etc/snort/sample.rules \
        -r a.pcap -A alert_test -n 100000 --lua "suppress = { { gid = 1, sid = 2123 } }"
    
  • Vá com tudo em um diretório com múltiplas threads de pacotes:

    root@kitploit:~
    $my_path/bin/snort -c $my_path/etc/snort/snort.lua -R $my_path/etc/snort/sample.rules \
        --pcap-filter \*.pcap --pcap-dir pcaps/ -A alert_fast --max-packet-threads 8
    

Exemplos adicionais são fornecidos em doc/usage.txt.

TESTES DE FUZZING

O Snort inclui alvos de fuzzing libFuzzer para testar vários componentes. Compilar e executar fuzzers requer Clang.

  • Compile os fuzzers com AddressSanitizer:

    root@kitploit:~
    CC=clang CXX=clang++ ./configure_cmake.sh --enable-fuzz-sanitizer --enable-fuzzers \
        --enable-address-sanitizer
    cd build
    make fuzz -j $(nproc)
    
  • Se você precisar especificar os caminhos de include e biblioteca do DAQ:

    root@kitploit:~
    CC=clang CXX=clang++ ./configure_cmake.sh --enable-fuzz-sanitizer --enable-fuzzers \
        --enable-address-sanitizer --with-daq-includes=/path/to/daq/include --with-daq-libraries=/path/to/daq/lib
    cd build
    make fuzz -j $(nproc)
    
  • Execute um alvo de fuzzing fornecendo um diretório de corpus. Cada alvo é compilado em build/fuzz/:

    root@kitploit:~
    mkdir file_olefile_fuzz_corpus
    ./fuzz/file_olefile_fuzz ./file_olefile_fuzz_corpus
    
  • Se as bibliotecas DAQ não estiverem no caminho de biblioteca padrão, defina LD_LIBRARY_PATH:

    root@kitploit:~
    LD_LIBRARY_PATH=/path/to/daq/lib ./fuzz/file_olefile_fuzz ./file_olefile_fuzz_corpus
    
  • Pressione Ctrl+C para parar o fuzzer. Liste os arquivos de corpus salvos com:

    root@kitploit:~
    ls ./file_olefile_fuzz_corpus
    

DOCUMENTAÇÃO

Dê uma olhada no manual, partes do qual são geradas pelo código para que ele permaneça atualizado:

root@kitploit:~
$my_path/share/doc/snort/snort_manual.pdf
$my_path/share/doc/snort/snort_manual.html
$my_path/share/doc/snort/snort_manual/index.html

Ele ainda não tem muito sobre o porquê e o como, mas contém toda a configuração atualmente disponível, etc. Algumas mudanças importantes nas regras:

  • você deve usar subopções de conteúdo separadas por vírgula, assim: content:"foo", nocase;
  • os seletores de buffer devem aparecer antes do conteúdo e permanecer em vigor até serem alterados
  • os seletores de buffer pcre foram removidos
  • consulte o manual para mais sobre Snort++ vs Snort
  • consulte a seção de referência do manual para entender como os parâmetros são definidos, etc.

Também cobre novos recursos não demonstrados aqui:

  • snort2lua, uma ferramenta para converter configuração e regras do Snort 2.X para o novo formato
  • um novo inspetor HTTP
  • um binder, para mapear configuração para tráfego
  • um assistente para configuração independente de porta
  • análise de regras aprimorada - espaços em branco arbitrários, comentários no estilo C, comentários #begin/#end
  • shell de linha de comando local e remota

SQUEAL

o")~

Esperamos que você esteja tão animado com o Snort++ quanto nós. Deixe-nos saber o que você acha na lista snort-users. Enquanto isso, continuaremos com o nariz na pedra de amolar.

Baixar ferramenta
  • Compile com instrumentação de cobertura em vez de AddressSanitizer para medir quais caminhos de código o fuzzer exercita:

    root@kitploit:~
    CC=clang CXX=clang++ ./configure_cmake.sh --enable-fuzz-sanitizer --enable-fuzzers \
        --enable-fuzz-coverage
    cd build
    make fuzz -j $(nproc)
    
  • Execute a compilação com cobertura contra um corpus existente (usando -runs=0 para reproduzir sem gerar novas entradas):

    root@kitploit:~
    LLVM_PROFILE_FILE="file_olefile_fuzz.profraw" ./fuzz/file_olefile_fuzz \
        file_olefile_fuzz_corpus -runs=0 -detect_leaks=0
    
  • Gere um relatório de cobertura HTML:

    root@kitploit:~
    llvm-profdata merge -sparse file_olefile_fuzz.profraw -o file_olefile_fuzz.profdata
    llvm-cov show -format=html -instr-profile=file_olefile_fuzz.profdata \
        ./fuzz/file_olefile_fuzz -output-dir=file_olefile_fuzz_cov_html
    

    Abra file_olefile_fuzz_cov_html/index.html em um navegador para visualizar o relatório.