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
sif — la suite de pruebas de penetración extremadamente rápida. | Kitploit
Herramientas/GitHubGitHub/vmfunc/sif
ReconocimientoEscáneres de VulnerabilidadesEscaneo de PuertosExplotaciónRecopilación de InformaciónSeguridad WebPruebas de PenetraciónEnumeración de SubdominiosCrawlerAnálisis de DNS
GitHubvmfunc/sif

sif

614275hace 19 díasRevisado 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 →

la suite de pruebas de penetración extremadamente rápida.

Ver Repositorio
Compartir
sif



go version build license aur nixpkgs homebrew apt discord

instalación · uso · módulos · docs · contribuir

reconocimiento rápido y concurrente hasta explotación en un solo binario. cada escáner comparte un único cliente http con pool de conexiones.


¿qué es sif?

sif es un escáner de reconocimiento y explotación que ejecuta toda la cadena en un solo binario: enumeración de subdominios, escaneo de puertos, rastreador, nuclei, detección de frameworks/cve, extracción de secretos de js, sondeos de vulnerabilidades web (cors/xss/redirect), nube y comprobaciones de takeover. más de 25 tipos de escaneo, un solo comando.

root@kitploit:~
sif -u https://example.com -dnslist -ports -crawl -js -framework -nuclei

nuclei y colly están compilados como librerías en lugar de ser ejecutados por shell (no hay exec.Command en el árbol), así que es un único binario estático sin dependencias de tiempo de ejecución y sin necesidad de enlazar nada.

cada escáner se ejecuta a través de un único cliente http compartido y un pool de workers que roba trabajo. -proxy, -H, -cookie y -rate-limit se aplican a toda la ejecución a la vez, las conexiones se agrupan y reutilizan durante el escaneo (una ejecución de un solo host reutiliza una conexión para ~50 solicitudes en lugar de 50 conexiones nuevas), y un host lento no detiene al resto. ese cliente compartido es la razón práctica para usarlo en lugar de encadenar un conjunto de herramientas separadas. el escaneo de puertos se basa en connect(), así que rustscan y nmap siguen siendo más rápidos en escaneos de puertos en bruto.

lee objetivos desde stdin y muestra hallazgos uno por línea bajo -silent, por lo que se combina:

root@kitploit:~
subfinder -d example.com | sif -silent -crawl -js -nuclei | notify

-diff convierte un re-escaneo en un monitor que solo informa lo que cambió, -notify publica en slack/discord/telegram/webhook, y las ejecuciones exportan a sarif y markdown.

instalación

homebrew (macos)

root@kitploit:~
brew tap vmfunc/sif
brew install sif

arch linux (aur)

instala usando tu asistente aur preferido:

root@kitploit:~
yay -S sif
# o
paru -S sif

nix

root@kitploit:~
# nixpkgs (declarativo: añadir a configuration.nix o home-manager)
environment.systemPackages = [ pkgs.sif ];

# o imperativamente
nix profile install nixpkgs#sif

# o simplemente ejecutarlo sin instalar
nix run nixpkgs#sif -- -u https://example.com -headers -sh -framework

el repositorio también incluye un flake si quieres compilar desde el código fuente:

root@kitploit:~
nix run github:vmfunc/sif

debian/ubuntu (apt)

root@kitploit:~
curl -1sLf 'https://dl.cloudsmith.io/public/sif/deb/setup.deb.sh' | sudo -E bash
sudo apt-get install sif

desde lanzamientos

descarga el binario más reciente desde lanzamientos.

desde el código fuente

root@kitploit:~
git clone https://github.com/vmfunc/sif.git
cd sif
make

requiere go 1.25+

aur (instalación manual)

root@kitploit:~
git clone https://aur.archlinux.org/sif.git
cd sif
makepkg -si

uso

root@kitploit:~
# escaneo básico
./sif -u https://example.com

# fuzzing de directorios
./sif -u https://example.com -dirlist medium

# enumeración de subdominios
./sif -u https://example.com -dnslist medium

# escaneo de puertos
./sif -u https://example.com -ports common

# detección de frameworks javascript + configuración incorrecta en la nube
./sif -u https://example.com -js -c3

# inteligencia de host shodan (requiere variable de entorno SHODAN_API_KEY)
./sif -u https://example.com -shodan

# descubrimiento de dominios securitytrails (requiere variable de entorno SECURITYTRAILS_API_KEY)
# descubre subdominios + dominios asociados, luego escanea todos
./sif -u https://example.com -securitytrails -headers

# reconocimiento sql + escaneo lfi
./sif -u https://example.com -sql -lfi

# sondeos de vulnerabilidades web (cors, redirección abierta, xss reflejado)
./sif -u https://example.com -cors -redirect -xss

# detección de frameworks (con búsqueda de cve)
./sif -u https://example.com -framework

# un barrido amplio
./sif -u https://example.com -dirlist small -dnslist small -ports common -headers -sh -cms -framework -git -whois

ejecuta ./sif -h para todas las opciones.

comandos

un par de subcomandos se ejecutan sin escaneo:

root@kitploit:~
# imprime la versión (los lanzamientos tienen versiones fijas; las compilaciones locales usan git describe)
./sif version

# muestra las últimas notas de lanzamiento (también -pn)
./sif patchnote

la primera vez que ejecutas un nuevo lanzamiento, sif imprime las notas de ese lanzamiento una vez. establece SIF_NO_PATCHNOTES=1 para desactivarlo.

módulos

sif tiene una arquitectura modular. los módulos se definen en yaml y pueden ser extendidos por los usuarios.

banderas de escaneo incorporadas

opciones http

se aplican a cada solicitud saliente en todos los escáneres:

root@kitploit:~
# escanear a través de un proxy socks5 con una cabecera personalizada, cookie y límite de 20 req/s
./sif -u https://example.com -headers -proxy socks5://127.0.0.1:1080 -H "Authorization: Bearer tok" -cookie "session=abc" -rate-limit 20

un escáner que establece una cabecera explícitamente (por ejemplo, una clave de api) siempre prevalece sobre el valor global por defecto.

exportación de informes

escribe los hallazgos de la ejecución en un archivo para ci/cd o triaje:

root@kitploit:~
# escanear y emitir tanto un informe sarif como markdown
./sif -u https://example.com -headers -cors -sarif out.sarif -md out.md

la salida sarif se puede ingerir por github code scanning; markdown es un resumen legible por objetivo.

modo diff

-diff convierte un re-escaneo en un monitor: sif toma una instantánea de los hallazgos normalizados de cada objetivo en un archivo json, y en la siguiente ejecución informa solo el delta (+ nuevo / - eliminado) respecto a esa instantánea, luego la sobrescribe. la primera ejecución para un objetivo no tiene línea base, por lo que todo es + nuevo. las instantáneas se guardan en -store (un archivo sanitizado por objetivo); cuando no se establece, reutiliza el directorio de logs, recurriendo a <user-config>/sif/state.

root@kitploit:~
# ejecución de línea base, luego re-escanear más tarde y ver solo lo que cambió
./sif -u https://example.com -sh -cors -diff
./sif -u https://example.com -sh -cors -diff

la instantánea siempre se reescribe, por lo que cada ejecución se diferencia de la anterior. el delta es chrome (va por el sumidero de salida normal / stderr bajo -silent), no el flujo de hallazgos.

notificar

envía hallazgos a un sumidero de chat/webhook para que una ejecución de reconocimiento continuo alerte sobre lo que encuentra. cada proveedor es un único POST a través del cliente http compartido, por lo que se aplica la configuración global de proxy/límite de velocidad/cabecera.

los proveedores se configuran primero con variables de entorno; un archivo yaml (-notify-config) anula por campo. las claves yaml coinciden con projectdiscovery/notify así que una configuración existente se migra:

root@kitploit:~
# alertar a slack sobre hallazgos de severidad media o superior descubiertos durante un escaneo
export SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...
./sif -u https://example.com -cors -xss -notify -notify-severity medium

un proveedor sin destino se omite; sin nada configurado, -notify es un no-op silencioso. slack/discord/telegram reciben un bloque de hallazgos de ancho fijo; el webhook genérico recibe json estructurado ({count, findings[]}).

modo tubería

sif lee objetivos desde stdin y acepta hosts desnudos, por lo que encaja en una tubería unix. -silent dirige todo el banner/spinner/log chrome a stderr e imprime un hallazgo normalizado por línea ([severity] target module title) a stdout:

root@kitploit:~
# subfinder alimenta hosts, sif los sondea, notify envía los hallazgos
subfinder -d example.com | sif -silent -probe | notify
banderadescripción
stdinun flujo de objetivos canalizado (un host/url por línea) se lee junto con -u/-f

los hosts sin esquema por defecto usan https://; un http:///https:// explícito se mantiene; cualquier otro esquema (ftp://, ...) se rechaza.

módulos yaml

lista los módulos disponibles:

root@kitploit:~
./sif -lm

ejecuta módulos específicos:

root@kitploit:~
# ejecutar por id
./sif -u https://example.com -m sqli-error-based,xss-reflected

# ejecutar por etiqueta
./sif -u https://example.com -mt owasp-top10

# ejecutar todos los módulos
./sif -u https://example.com -am

módulos personalizados

crea tus propios módulos en ~/.config/sif/modules/. los módulos usan un formato yaml similar a las plantillas nuclei:

root@kitploit:~
id: my-custom-check
info:
  name: my custom security check
  author: you
  severity: medium
  description: checks for something specific
  tags: [custom, recon]

type: http

http:
  method: GET
  paths:
    - "{{BaseURL}}/admin"
    - "{{BaseURL}}/login"

  matchers:
    - type: status
      status:
        - 200

    - type: word
      part: body
      words:
        - "admin panel"
        - "login"
      condition: or

consulta docs/modules.md para el formato completo del módulo.

contribuir

las contribuciones son bienvenidas. consulta contributing.md para las pautas.

root@kitploit:~
# formatear
gofmt -w .

# lint
go run github.com/golangci/golangci-lint/v2/cmd/[email protected] run

# probar
go test ./...

comunidad

únete a nuestro discord para soporte, discusiones de características y consejos de pentesting:

discord

contribuyentes

agradecimientos

  • projectdiscovery por nuclei y otras herramientas de seguridad
  • shodan por la inteligencia de infraestructura

licencia bsd 3-cláusulas · hecho por vmfunc, xyzeva y contribuyentes
Descargar herramienta
banderadescripción
-dirlistfuzzing de directorios y archivos (small/medium/large)
-mcdirlist: coincide con estos códigos de estado (lista separada por comas, ej. 200,301)
-fcdirlist: filtrar estos códigos de estado (lista separada por comas)
-fsdirlist: filtrar respuestas con estos tamaños de cuerpo (lista separada por comas)
-fwdirlist: filtrar respuestas con estos recuentos de palabras (lista separada por comas)
-frdirlist: filtrar respuestas cuyo cuerpo coincida con esta expresión regular
-acautocalibrar la línea base de comodín soft-404 (dirlist, sql)
-wdirlist: lista de palabras personalizada (archivo local o url; anula el tamaño de -dirlist)
-edirlist: extensiones añadidas a cada palabra (lista separada por comas, ej. php,bak,env)
-dnslistenumeración de subdominios (small/medium/large)
-portsescaneo de puertos (common/full)
-nucleiescaneo de vulnerabilidades con plantillas nuclei
-dorkdorking automático de google
-jsanálisis de javascript + extracción de secretos y endpoints
-c3configuración incorrecta de almacenamiento en la nube
-headersanálisis de cabeceras http
-shanálisis de cabeceras de seguridad (cabeceras faltantes/débiles)
-stdetección de takeover de subdominios
-cmsdetección de cms
-whoisconsultas whois
-gitdetección de repositorios git expuestos
-shodanconsulta shodan (requiere SHODAN_API_KEY)
-securitytrailsdescubrimiento de dominios + expansión de objetivos (requiere SECURITYTRAILS_API_KEY)
-sqlreconocimiento sql
-lfiinclusión local de archivos
-jwtdescubrimiento jwt + análisis de debilidades offline (alg:none, hmac débil, exp, reclamaciones sensibles)
-openapisonda de exposición de especificaciones openapi/swagger (enumera rutas + endpoints no autenticados)
-faviconhuella digital de favicon mmh3 (estilo shodan, coincidencia tecnológica + consulta pivote)
-corssonda de configuración incorrecta de cors
-redirectsonda de redirección abierta
-xsssonda de xss reflejado
-frameworkdetección de frameworks con búsqueda de cve
-crawlrastreador web (enlaces/scripts/formularios del mismo host)
-crawl-depthprofundidad máxima de recursión del rastreo (por defecto 2)
-passivedescubrimiento pasivo de subdominios/urls (cero tráfico al objetivo)
-probesonda de host en vivo (estado, título, servidor, cadena de redirección)
banderadescripción
-proxyenrutar todo el tráfico a través de un proxy (url http/https/socks5)
-H, --headercabecera personalizada a enviar (repetible o separada por comas, "Key: Value")
-cookiecabecera cookie a enviar con cada solicitud
-rate-limitmáximo de solicitudes por segundo (0 = ilimitado, por defecto 0)
banderadescripción
-sarifescribe un informe sarif 2.1.0 en este archivo
-markdown, -mdescribe un informe markdown en este archivo
-silentsalida simple: chrome a stderr, un hallazgo por línea a stdout (para tuberías)
-diffmostrar solo hallazgos añadidos/eliminados desde la última instantánea de cada objetivo
-storedirectorio de instantáneas para -diff (por defecto: directorio de logs, si no <user-config>/sif/state)
banderadescripción
-notifyenviar hallazgos a cada proveedor configurado después del escaneo
-notify-severityseveridad mínima a enviar (info/low/medium/high/critical, por defecto medium)
-notify-configruta a un archivo yaml compatible con notify (anula las variables de entorno)
variable de entornoclave yamlproveedor
SLACK_WEBHOOK_URLslack_webhook_urlwebhook entrante de slack
DISCORD_WEBHOOK_URLdiscord_webhook_urlwebhook de discord
TELEGRAM_BOT_TOKENtelegram_api_keyapi de bot de telegram (necesita chat id)
TELEGRAM_CHAT_IDtelegram_chat_idchat destino de telegram
NOTIFY_WEBHOOK_URLwebhook_urlwebhook json genérico (hallazgos estructurados)
vmfunc
vmfunc

🚧 🧑‍🏫 📆 🛡️ 💻
ProjectDiscovery
ProjectDiscovery

📦
macdoos
macdoos

💻
Matthieu Witrowiez
Matthieu Witrowiez

🤔
tessa
tessa

🚇 💬 📓
Eva
Eva

📝 🖋 🔬 🛡️ ⚠️ 💻
Zoa Hickenlooper
Zoa Hickenlooper

💻
acxtrilla
acxtrilla

📦