Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/snort3/snort3
Ferramentas DefensivasSniffing e Análise de PacotesFuzzingSegurança de RedeDetecção de IntrusãoAnti-BotTop em Anti-Bot nº15Top em Ferramentas Defensivas nº11Top em Detecção de Intrusão nº3Top em Segurança de Rede nº5
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.4k69359há 3 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++

Snort 3 é a próxima geração do Snort IPS (Sistema de Prevenção de Intrusão). 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 conhece o Snort, deve consultar primeiro a documentação do Snort. Abordaremos os seguintes tópicos:


  • Visão geral
  • Dependências
  • Download
  • Compilar o Snort
  • Executar o Snort
  • Teste 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:

Project = Snort++
Binary = snort
Version = 3.0.0 (Build 250) from 2.9.11

Aqui estão alguns recursos principais do Snort++:

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

Recursos adicionais no roteiro incluem:

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

DEPENDÊNCIAS

Se você já compila o Snort, pode ter tudo o que precisa. Caso contrário, 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 analisador 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 de expressão regular
  • pkgconfig de https://www.freedesktop.org/wiki/Software/pkg-config/ para localizar dependências de compilação
  • zlib >= 1.2.12 de http://www.zlib.net para descompressão

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

DOWNLOAD

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

snort-3.0.0-a3.tar.gz

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

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 estas etapas:

  1. Configure o diretório de código-fonte:
  • Se você estiver usando um clone do github:

    cd snort3/
    
  • Caso contrário, faça isto:

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

    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'.

    ./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ê conhece o cmake, pode executar cmake/ccmake em vez de configure_cmake.sh.
  • cmake --help listará todos os geradores disponíveis, como o Xcode. Sinta-se à vontade para usar um, porém o suporte a eles será fornecido separadamente.

EXECUTAR O SNORT

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

  • O Snort++ fornece muita ajuda a partir da linha de comando, incluindo:

$my_path/bin/snort --help $my_path/bin/snort --help-module suppress $my_path/bin/snort --help-config | grep thread


* Examine e faça o dump de um pcap.  A seguir, substitua a.pcap pelo seu
  favorito:

    ```shell
    $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:

    ```shell
    $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.  A seguir, substitua pcaps/ por um caminho para um diretório
  com um ou mais arquivos *.pcap:

    ```shell
    $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:

    ```shell
    $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 } }"
    ```

* Faça tudo em um diretório com múltiplas threads de pacotes:

    ```shell
    $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.

# TESTE DE FUZZING

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

* Compile os fuzzers com AddressSanitizer:

    ```shell
    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:

    ```shell
    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/`:

    ```shell
    mkdir file_olefile_fuzz_corpus
    ./fuzz/file_olefile_fuzz ./file_olefile_fuzz_corpus
    ```

* Se as bibliotecas do DAQ não estiverem no caminho de biblioteca padrão, defina `LD_LIBRARY_PATH`:

    ```shell
    LD_LIBRARY_PATH=/path/to/daq/lib ./fuzz/file_olefile_fuzz ./file_olefile_fuzz_corpus
    ```

* Pressione Ctrl+C para interromper o fuzzer.  Liste os arquivos de corpus salvos com:

    ```shell
    ls ./file_olefile_fuzz_corpus
    ```

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

    ```shell
    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 de cobertura contra um corpus existente (usando `-runs=0` para reproduzir
  sem gerar novas entradas):

    ```shell
    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:

    ```shell
    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
    ```
Baixar ferramenta