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
Herramientas/GitHubGitHub/maverickaayush/onus
ReconocimientoEscáneres de VulnerabilidadesMapeo de RedesEscaneo de PuertosEnumeración de DNS y SubdominiosSeguridad WebPruebas de PenetraciónAprendizaje y EducaciónSeguridad de IA
GitHubmaverickaayush/onus

ONUS

Plataforma VAPT alojada localmente y aislada de red (air-gapped) que ejecuta 8 módulos de escaneo en paralelo, puntúa de forma determinista los hallazgos con CVSS v3.1 y genera informes PDF con remediación opcional generada por IA mediante un LLM local.

102hace 27 díasAún no revisado

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
ONUS — Plataforma VAPT alojada localmente y aislada de red (air-gapped) que ejecuta 8 módulos de escaneo en paralelo, puntúa de forma determinista los hallazgos con CVSS v3.1 y genera informes PDF con remediación opcional generada por IA mediante un LLM local. | Kitploit
Ver RepositorioSitio web

ONUS - Evaluación Automatizada de Vulnerabilidades y Pruebas de Penetración

License: MIT CI

ONUS - Encuentra los riesgos de seguridad antes que los atacantes.

Creado por maverickaayush.

Una herramienta VAPT autoalojada y aislada de la red: apúntala a un dominio objetivo autorizado y ejecuta 8 módulos de escaneo en paralelo, puntúa de forma determinista cada hallazgo (CVSS v3.1), añade opcionalmente descripciones en inglés sencillo generadas por IA mediante un LLM local, y produce un informe PDF además de un panel web en vivo. Sin llamadas a API externas - todo se ejecuta en tu propia red.

Dos formas de ejecutar ONUS:

  • Autoalojado (este repositorio): docker compose up → introduce un dominio → marca la casilla de autorización → escanea. Sin cuenta, sin inicio de sesión, sin verificación de correo - es de operador único por diseño, y todo lo que sigue cubre esta vía.
  • Alojado: una instancia gestionada está disponible en tryonus.tech. Añade funciones exclusivas de producción (cuentas / inicio de sesión con OAuth, cola de escaneos, historial por usuario) que están desactivadas por defecto en este repositorio, para que el autoalojamiento siga siendo sencillo. Ver Autoalojado vs alojado.

Características

  • 8 módulos de escaneo en paralelo (Celery) - reconocimiento de red (puertos/servicios/subdominios/DNS/WHOIS), escaneo de aplicaciones web (ZAP + Nikto + Katana), configuración SSL/TLS, cabeceras de seguridad HTTP, comprobaciones OWASP Top 10, huella tecnológica/detección de WAF, escaneo de CVEs (Nuclei), enumeración de directorios (FFUF).
  • Puntuación CVSS v3.1 determinista - la severidad, la puntuación/vector CVSS, la prioridad y la categoría OWASP se calculan a partir de un catálogo de reglas, nunca las adivina un LLM. Dos ejecuciones del mismo escaneo producen campos numéricos idénticos byte a byte.
  • Verificación de confianza - los hallazgos se re-comprueban de forma pasiva (solo re-observación no destructiva) y se etiquetan como confirmados / probables / no verificados, en lugar de descartarse silenciosamente.
  • Análisis de IA local opcional - Ollama + Qwen 2.5 7B convierte los hallazgos puntuados en descripciones en inglés sencillo y pasos de remediación. Totalmente aislado de la red; la herramienta funciona sin ello (ver Inicio rápido más abajo).
  • Remediación contextual y accionable - cada hallazgo termina con un siguiente paso concreto. Los problemas estables usan plantillas deterministas; los realmente dependientes del contexto usan la IA; y la detección de plataformas gestionadas (Vercel / Cloudflare / Netlify / GitHub Pages / …) hace que un hallazgo TLS propiedad de la plataforma indique quién controla esa capa y qué hacer a continuación, en lugar de un consejo imposible de «edita la configuración de tu servidor».
  • Informe PDF + panel web - un informe renderizado con WeasyPrint y un panel de Next.js, ambos impulsados por los mismos hallazgos puntuados y descritos.

Autoalojado vs alojado

La vía autoalojada por defecto es intencionadamente la sencilla: sin registro, sin verificación de correo, sin OAuth. Las funciones exclusivas del alojamiento (autenticación, cola de escaneos) viven detrás de flags de configuración que por defecto están desactivados (REQUIRE_AUTH=false, HOSTED_QUEUE_ENABLED=false; ver Configuración) y no están definidos en docker-compose.yml - por lo que ejecutar ONUS localmente nunca te pone detrás de un inicio de sesión. ¿Prefieres cero configuración? Usa el sitio alojado en tryonus.tech.

Capturas de pantalla

Nuevo escaneoEstado del escaneo en vivo
Formulario de nuevo escaneoPágina de estado del escaneo
Panel de informeDescubrimiento de escaneos
Panel de informePanel de descubrimiento de escaneos

Arquitectura

root@kitploit:~
domain → [recon | webscan | ssl_tls | headers | owasp | tech_fingerprint | nuclei | enumeration] (parallel, Celery)
       → any module failed/timed out? → pause for operator retry/continue/cancel
       → aggregator (dedup + OWASP-map + sort)
       → confidence verification (passive re-observation)
       → deterministic CVSS scoring
       → Ollama (Qwen 2.5 7B) AI analysis
       → WeasyPrint PDF + PostgreSQL
       → dashboard / PDF download
Diagrama de arquitectura de seis capas

Seis capas: frontend Next.js → FastAPI → Celery/Redis → 8 módulos de escaneo en paralelo → Ollama (Qwen 2.5 7B) → PDF WeasyPrint + panel. Todos los detalles en ARCHITECTURE.md (esquemas, contratos, salvaguardas) y docs/QUICK_REF.md (consulta rápida para cambios habituales).

Requisitos previos

  • Docker + Docker Compose v2
  • ~8 GB de espacio libre en disco. Las imágenes compiladas suman ~6,8 GB (backend y worker son de ~3,25 GB cada uno - incluyen las plantillas de Nuclei y un Chromium headless vía Playwright - además de un frontend de ~270 MB), y la compilación en sí necesita margen adicional.
  • ~6 GB de RAM libre. Solo el sidecar de ZAP está limitado a 4 GB (mem_limit: 4g), y Postgres, Redis, la API, el worker y el frontend se ejecutan a la vez.
  • La primera compilación tarda aproximadamente 10-15 minutos con una conexión decente.

Inicio rápido

Ver Requisitos previos más arriba: ~8 GB de disco y ~6 GB de RAM, y espera una primera compilación de 10-15 minutos.

root@kitploit:~
cp .env.example .env
cp backend/subfinder-config/provider-config.yaml.example backend/subfinder-config/provider-config.yaml
docker compose up -d
docker compose ps        # wait for zap to report healthy (~2 min)

Abre http://localhost:3000, introduce un dominio, marca la casilla de autorización y comienza el escaneo.

Sin inicio de sesión, registro ni verificación de correo. ONUS autoalojado es de operador único por defecto - no hay ningún paso de cuenta entre abrir el panel y escanear.

Esto funciona sin instalar Ollama. La puntuación CVSS/severidad/prioridad es siempre determinista (analysis/cvss_scorer.py) - sin Ollama en ejecución, los hallazgos reciben una plantilla de descripción basada en reglas en lugar de prosa generada por IA. Ver «Opcional: activar descripciones generadas por IA» más abajo para activarlo.

Para ejecutar esta herramienta no se necesita ninguna clave de API. Todas las herramientas que envuelve (nmap, ZAP, Nikto, testssl.sh, Nuclei, Amass, Naabu, httpx, WhatWeb, WAFW00F, FFUF) y el propio Ollama funcionan sin ninguna clave. El paso de copiar la configuración de subfinder de arriba es la única excepción opcional - dejarla como plantilla vacía está bien, subfinder simplemente se ejecuta solo con fuentes gratuitas/públicas. Para profundizar en la enumeración de subdominios, puedes añadir hasta dos claves de nivel gratuito a ese archivo antes de empezar: un token de acceso personal de GitHub y una clave de API de ProjectDiscovery Chaos - ver los comentarios dentro de provider-config.yaml.example.

Opcional: activar descripciones generadas por IA

Ollama se ejecuta de forma nativa en el host (no en Docker) para poder usar la GPU del host directamente; los contenedores acceden a él mediante host.docker.internal.

  1. Instala Ollama en el host: https://ollama.com/install.sh
  2. Descarga el modelo: ollama pull qwen2.5:7b
  3. Haz que Ollama sea accesible desde los contenedores de Docker (Ollama por defecto solo escucha en 127.0.0.1, a lo que la red bridge de Docker no puede llegar):
    root@kitploit:~
    sudo systemctl edit ollama
    
    Añade bajo [Service]:
    root@kitploit:~
    [Service]
    Environment="OLLAMA_HOST=0.0.0.0:11434"
    
    Guarda y luego:
    root@kitploit:~
    sudo systemctl daemon-reload && sudo systemctl restart ollama
    
    Nota: esto hace que Ollama sea accesible desde tu red local, no solo desde Docker - correcto en una máquina personal, pero merece una regla de firewall en una compartida.
  4. Verifica: curl http://localhost:11434/api/tags
  5. Reinicia el backend/worker para que lo detecten: docker compose restart backend worker

Opcional: objetivos de práctica

El archivo compose también define 12 aplicaciones de práctica intencionadamente vulnerables (Juice Shop, DVWA, bWAPP, Mutillidae, NodeGoat, DVWP/WordPress detrás de un WAF ModSecurity, Metasploitable2, WebGoat) para probar el escáner contra algo sin necesitar tu propio objetivo autorizado. Están detrás de un perfil de Compose para que nunca se compilen/arranquen por defecto:

root@kitploit:~
docker compose --profile targets up -d

Advertencia: estos servicios son intencionadamente vulnerables y algunos tienen puertas traseras reales (Metasploitable2 incluye una backdoor viva de vsftpd). Ejecuta el perfil targets solo en una máquina que no sea accesible desde internet ni desde una red compartida - nunca en una instancia de nube pública ni en un host expuesto.

La mayoría de estos se ejecutan desde imágenes precompiladas y no necesitan nada extra. Dos, nodegoat y dvwp-wordpress, se compilan desde código fuente que no está incluido en este repositorio y deben clonarse primero:

root@kitploit:~
git clone https://github.com/OWASP/NodeGoat nodegoat-src
git clone https://github.com/vavkamil/dvwp dvwp-src

Puertos publicados una vez en ejecución: Juice Shop :3001, DVWA :8081, bWAPP :8083, Mutillidae :8084, NodeGoat :8085, DVWP (vía WAF, TLS) :8444, WebGoat :8082. Metasploitable2 no publica ningún puerto del host (solo es accesible desde backend/worker a través de la red interna de Docker) ya que expone servicios de red reales con puertas traseras/sin autenticación.

Configuración

Variables de entorno, definidas vía .env (copiado de .env.example):

Los valores por defecto de POSTGRES_PASSWORD/SECRET_KEY de arriba son solo para demostración - están bien para una instancia local/personal, pero cambia ambos antes de desplegar en cualquier lugar al que pueda acceder otra persona. Ahora esto está impuesto, no solo recomendado: si defines ONUS_ENV=production (o activas la autenticación alojada), el backend se niega a arrancar mientras cualquiera de los dos siga siendo un valor por defecto/placeholder. Genera una clave fuerte con python -c "import secrets; print(secrets.token_urlsafe(48))".

Las funciones exclusivas del alojamiento están desactivadas por defecto. REQUIRE_AUTH (cuentas / inicio de sesión con OAuth) y HOSTED_QUEUE_ENABLED (cola de escaneos) tienen ambas false por defecto y no están definidas en docker-compose.yml, por lo que ONUS autoalojado nunca te bloquea detrás de un inicio de sesión ni de una cola. Déjalas desactivadas a menos que estés construyendo deliberadamente un despliegue alojado multiusuario - la instancia gestionada de tryonus.tech es la que las activa.

Analíticas (opcional)

ONUS no tiene analíticas por defecto - no se carga nada y ningún dato sale del navegador. Para recopilar métricas anónimas de uso del producto en tu propio despliegue, define un único ID de medición de Google Analytics 4:

root@kitploit:~
NEXT_PUBLIC_GA_ID=G-XXXXXXXXXX

Es una variable de compilación del frontend, así que defínela en el entorno de compilación del frontend (una variable de entorno de Vercel/host, o frontend/.env.local para un npm run build local). Cuando está definida, GA se carga solo en compilaciones de producción y rastrea las visitas de páginas además de algunos eventos de producto (p. ej. scan_started, scan_completed, report_downloaded). Los eventos personalizados pasan por el helper tipado en frontend/lib/analytics.ts - trackEvent('scan_started').

Privacidad: solo se envían eventos de uso anónimos y de baja cardinalidad - nunca dominios escaneados, resultados de escaneos, hallazgos, contenidos de informes, el estado de autorización ni ningún dato personal. Deja NEXT_PUBLIC_GA_ID sin definir y ONUS se comporta exactamente igual que antes; las analíticas son totalmente voluntarias.

Documentación de la API

FastAPI genera documentación Swagger interactiva de forma gratuita - una vez que el backend está en ejecución, abre http://localhost:8000/docs.

Detener

root@kitploit:~
docker compose down

Registros

root@kitploit:~
docker compose logs -f backend worker

Pruebas y Validación

root@kitploit:~
pip install -r backend/requirements-dev.txt
pytest backend/tests

655 pruebas automatizadas del backend a día de hoy. Más allá del conjunto de pruebas unitarias/de integración, la herramienta se ha puesto a prueba de extremo a extremo durante el desarrollo: 79 escaneos reales ejecutados y 124 informes PDF generados contra nueve aplicaciones de práctica intencionadamente vulnerables (DVWA, Juice Shop, Mutillidae, NodeGoat, bWAPP, WebGoat, Metasploitable2, DVWP/WordPress detrás de un WAF) más un objetivo público autorizado (testphp.vulnweb.com) - no son números hipotéticos. Escanea únicamente objetivos que tengas autorización explícita para probar - ver docs/test_findings.md para los objetivos de práctica utilizados durante el desarrollo.

Documentación

  • ARCHITECTURE.md - arquitectura completa, esquemas y los contratos que un cambio nunca debería romper. Léelo antes de hacer un cambio no trivial.
  • docs/QUICK_REF.md - comandos de ejecución, responsabilidades de carpetas, «dónde hago este cambio».
  • docs/scanners.md - razonamiento detrás del diseño de tiempos/flags de cada módulo de escaneo.
  • docs/ai.md - ajuste de timeout/contexto de Ollama, por qué la puntuación se trasladó por completo fuera del LLM.
  • docs/docker.md - notas de desviaciones de Docker y trampas de compilación.
  • docs/troubleshooting.md - cómo probar manualmente cualquier módulo/fase de forma aislada.
  • docs/roadmap.md - secuencia histórica de construcción (la construcción está completa).
  • - configuración de desarrollo, pruebas, expectativas para los PRs.

Licencia

MIT - ver LICENSE.

Solo uso autorizado

Escanear objetivos sin autorización escrita explícita es ilegal según la IT Act 2000 (India) y los estatutos internacionales equivalentes. Esta herramienta exige confirmación de autorización en cada escaneo y registra el operador + la marca de tiempo para la rendición de cuentas.

Descargar herramienta
Autoalojado (este repositorio)Alojado (tryonus.tech)
Configuracióndocker compose upninguna - solo abre el sitio
Inicio de sesiónninguno - operador únicocuenta / Google / GitHub OAuth
Flujo de escaneodominio → casilla de autorización → escaneoigual, tras iniciar sesión
Extras-cola de escaneos, historial por usuario, correo alojado
Se ejecuta entu propia red, aisladonube gestionada
VariableDefaultPropósito
POSTGRES_PASSWORDvapt_secure_2025Contraseña de la base de datos
SECRET_KEYchange_me_to_a_long_random_stringClave secreta del backend
ALLOWED_HOSTSlocalhost,127.0.0.1Hosts permitidos de FastAPI
OLLAMA_URLhttp://host.docker.internal:11434Dónde backend/worker alcanzan a Ollama
SCAN_TIMEOUT_MULTIPLIER1.5Escala el timeout de herramientas/Celery de cada módulo - los objetivos del mundo real son más lentos que los de laboratorio; bájalo a 1.0 para tiempos ajustados a laboratorio
MAX_CONCURRENT_SCANS3Límite de escaneos concurrentes (protección contra agotamiento de recursos / cortesía con el objetivo; también dimensiona el pool de conexiones de la BD)
ONUS_ENVdevelopmentdevelopment (localhost autoalojado — las claves débiles solo avisan) o production (una SECRET_KEY/contraseña de Postgres débil impide el arranque)
CONTRIBUTING.md