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
sigma-cli — A interface de linha de comando do Sigma baseada em pySigma | Kitploit
Ferramentas/GitHubGitHub/sigmahq/sigma-cli
Ferramentas DefensivasUtilitários e FrameworksInteligência de AmeaçasDetecção de IntrusãoAnálise de Logs
GitHubsigmahq/sigma-cli

sigma-cli

A interface de linha de comando do Sigma baseada em pySigma

Ver Repositório
20351há 1 mêsRevisado 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

Interface de Linha de Comando Sigma

Tests Coverage Badge Status

Esta é a interface de linha de comando do Sigma que utiliza a biblioteca pySigma para gerenciar, listar e converter regras Sigma em linguagens de consulta.

Começando

Instalação

A maneira mais fácil de instalar a CLI do Sigma é via pipx ou pip. Para isso, execute um dos seguintes comandos:

root@kitploit:~
python -m pipx install sigma-cli
python -m pip install sigma-cli

no macOS, utilize

root@kitploit:~
python3 -m pip install sigma-cli
root@kitploit:~
brew install sigma-cli

Outra forma é executar isto a partir do código-fonte num ambiente virtual gerenciado pelo Poetry:

root@kitploit:~
git clone https://github.com/SigmaHQ/sigma-cli.git
cd sigma-cli
poetry install
poetry shell

Uso

A CLI está disponível como comando sigma. Uma invocação típica é:

root@kitploit:~
sigma convert -t <backend> -p <processing pipeline 1> -p <processing pipeline 2> [...] <directory or file>

Por exemplo, para converter regras Sigma de criação de processos de um diretório em consultas Splunk para logs do Sysmon, execute:

root@kitploit:~
sigma convert -t splunk -p sysmon sigma/rules/windows/process_creation

Os backends necessários devem ser instalados usando o seguinte comando antes de realizar conversões.

Para listar todos os plugins disponíveis, execute o seguinte comando:

root@kitploit:~
sigma plugin list

Instale um plugin de sua escolha com:

root@kitploit:~
sigma plugin install <backend>

Por exemplo, para instalar o backend splunk, execute:

root@kitploit:~
sigma plugin install splunk

Os backends de conversão e pipelines de processamento disponíveis podem ser listados com sigma list. Use -O ou --backend-option para passar opções ao backend como pares chave=valor (-O testparam=123) . Este parâmetro de opção de backend pode ser usado várias vezes (-O first=123 -O second=456).

Os backends podem suportar diferentes formatos de saída, por exemplo, consultas simples e um arquivo que pode ser importado para o sistema de destino. Esses formatos podem ser listados com sigma list formats <backend> e especificados para conversão com a opção -f.

Além disso, um arquivo de saída pode ser especificado com -o.

Exemplo de formatos de saída e arquivos:

root@kitploit:~
sigma convert -t splunk -f savedsearches -p sysmon -o savedsearches.conf sigma/rules/windows/process_creation

Gera um savedsearches.conf do Splunk contendo as pesquisas convertidas.

Saída de Arquivos Separados

Para cenários em que você precisa converter várias regras em arquivos separados (por exemplo, para controle de versão ou implantação seletiva), use o parâmetro --output-dir juntamente com --output-filename-template:

root@kitploit:~
sigma convert -t esql -p ecs_windows --output-dir translated_rules/ rules/

Isso criará um arquivo separado para cada regra convertida no diretório translated_rules/.

Variáveis de Template:

  • {path}: Caminho relativo do diretório de origem (por exemplo, windows para rules/windows/rule.yml)
  • {stem}: Nome do arquivo sem extensão (por exemplo, rule para rule.yml)
  • {index}: Índice de consulta para regras que geram múltiplas consultas (vazio se houver apenas uma consulta)

Exemplos:

Estrutura de saída plana (todos os arquivos em um diretório):

root@kitploit:~
sigma convert -t esql -p ecs_windows --output-dir translated/ --output-filename-template "{stem}.esql" rules/

Preservar a estrutura de diretórios:

root@kitploit:~
sigma convert -t esql -p ecs_windows --output-dir translated/ --output-filename-template "{path}/{stem}.esql" rules/

Lidar com regras com múltiplas consultas:

root@kitploit:~
sigma convert -t esql -p ecs_windows --output-dir translated/ --output-filename-template "{stem}-{index}.esql" rules/

Dada a estrutura de entrada:

root@kitploit:~
rules/
├── windows/
│   └── rule_1.yml
├── linux/
│   └── rule_2.yml

Com --output-filename-template "{path}/{stem}.esql", a saída será:

root@kitploit:~
translated/
├── windows/
│   └── rule_1.esql
├── linux/
│   └── rule_2.esql

Integração de Backends e Pipelines

Backends e pipelines podem ser integrados adicionando os pacotes correspondentes como dependência com:

root@kitploit:~
poetry add <package name>

Um backend deve ser adicionado ao dict backends em sigma/cli/backends.py criando uma tupla nomeada Backend com os seguintes parâmetros:

  • A classe do backend.
  • Um nome de exibição mostrado ao usuário na lista de alvos (sigma list targets).
  • Um dict que mapeia nomes de formatos de saída (usados no parâmetro -f) para descrições dos formatos exibidos na lista de formatos (sigma list formats <backend>). Os formatos devem ser suportados pelo backend!

A chave do dict é o nome usado no parâmetro -t.

Um pipeline de processamento é definido no dict da variável pipelines em sigma/cli/pipelines.py. A variável contém um ProcessingPipelineResolver que é instanciado com um dict que mapeia identificadores que podem ser usados no parâmetro -p para funções que retornam objetos ProcessingPipeline. O texto descritivo exibido na lista de pipelines (sigma list pipelines) é fornecido pelo atributo name do objeto ProcessingPipeline.

Mantenedores

O projeto é atualmente mantido por:

  • Thomas Patzke [email protected]
Baixar ferramenta