Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
sigma-cli — La interfaz de línea de comandos de Sigma basada en pySigma | Kitploit
Herramientas/GitHubGitHub/sigmahq/sigma-cli
Herramientas DefensivasUtilidades y FrameworksInteligencia de AmenazasDetección de IntrusionesAnálisis de Registros
GitHubsigmahq/sigma-cli

sigma-cli

La interfaz de línea de comandos de Sigma basada en pySigma

Ver Repositorio
20351hace 1 mesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Interfaz de línea de comandos de Sigma

Tests Coverage Badge Status

Esta es la interfaz de línea de comandos de Sigma que utiliza la librería pySigma para gestionar, listar y convertir reglas Sigma en lenguajes de consulta.

Primeros pasos

Instalación

La forma más sencilla de instalar la CLI de Sigma es mediante pipx o pip. Para ello, ejecute uno de los siguientes comandos:

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

en macOS utilice

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

Otra forma es ejecutarlo desde el código fuente en un entorno virtual gestionado por Poetry:

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

Uso

La CLI está disponible como comando sigma. Una invocación típica es:

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

P. ej., para convertir reglas Sigma de creación de procesos de un directorio en consultas Splunk para registros de Sysmon, ejecute:

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

Los backends necesarios deben instalarse con el siguiente comando antes de realizar conversiones.

Para listar todos los plugins disponibles, ejecute el siguiente comando:

root@kitploit:~
sigma plugin list

Instale un plugin de su elección con:

root@kitploit:~
sigma plugin install <backend>

P. ej., para instalar el backend splunk, ejecute:

root@kitploit:~
sigma plugin install splunk

Los backends de conversión y los pipelines de procesamiento disponibles pueden listarse con sigma list. Utilice -O o --backend-option para pasar opciones al backend como pares clave=valor (-O testparam=123). Este parámetro de opción de backend puede utilizarse varias veces (-O first=123 -O second=456).

Los backends pueden admitir diferentes formatos de salida, p. ej., consultas simples y un archivo que pueda importarse en el sistema de destino. Estos formatos pueden listarse con sigma list formats <backend> y especificarse para la conversión con la opción -f.

Además, se puede especificar un archivo de salida con -o.

Ejemplo de formatos y archivos de salida:

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

Genera un archivo savedsearches.conf de Splunk que contiene las búsquedas convertidas.

Salida a archivos separados

Para escenarios en los que necesite convertir varias reglas en archivos separados (p. ej., para control de versiones o despliegue selectivo), utilice el parámetro --output-dir junto con --output-filename-template:

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

Esto creará un archivo separado para cada regla convertida en el directorio translated_rules/.

Variables de plantilla:

El parámetro --output-filename-template acepta las siguientes variables:

  • {path}: Ruta relativa del directorio de origen (p. ej., windows para rules/windows/rule.yml)
  • {stem}: Nombre de archivo sin extensión (p. ej., rule para rule.yml)
  • {index}: Índice de consulta para reglas que generan múltiples consultas (vacío si solo hay una consulta)

Ejemplos:

Estructura de salida plana (todos los archivos en un directorio):

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

Conservar la estructura de directorios:

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

Manejar reglas con múltiples consultas:

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

Dada la estructura de entrada:

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

Con --output-filename-template "{path}/{stem}.esql", la salida será:

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

Integración de backends y pipelines

Los backends y pipelines pueden integrarse añadiendo los paquetes correspondientes como dependencia con:

root@kitploit:~
poetry add <package name>

Un backend debe añadirse al dict backends en sigma/cli/backends.py mediante la creación de una tupla nombrada Backend con los siguientes parámetros:

  • La clase del backend.
  • Un nombre para mostrar al usuario en la lista de destinos (sigma list targets).
  • Un dict que asigna nombres de formatos de salida (utilizados en el parámetro -f) a descripciones de los formatos que se muestran en la lista de formatos (sigma list formats <backend>). ¡Los formatos deben ser compatibles con el backend!

La clave del dict es el nombre utilizado en el parámetro -t.

Un pipeline de procesamiento se define en el dict de la variable pipelines en sigma/cli/pipelines.py. La variable contiene un ProcessingPipelineResolver que se instancia con un dict que asigna identificadores, que pueden utilizarse en el parámetro -p, a funciones que devuelven objetos ProcessingPipeline. El texto descriptivo que se muestra en la lista de pipelines (sigma list pipelines) se obtiene del atributo name del objeto ProcessingPipeline.

Mantenedores

El proyecto está actualmente mantenido por:

  • Thomas Patzke [email protected]
Descargar herramienta