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
Ferramentas/GitHubGitHub/maverickaayush/onus
ReconhecimentoScanners de VulnerabilidadesMapeamento de RedeEscaneamento de PortasEnumeração de DNS e SubdomíniosSegurança WebTestes de PenetraçãoAprendizado e EducaçãoSegurança de IA
GitHubmaverickaayush/onus

ONUS

Plataforma VAPT hospedada localmente e isolada fisicamente (air-gapped) que executa 8 módulos de varredura em paralelo, pontua achados de forma determinística com CVSS v3.1 e gera relatórios em PDF com remediação opcional gerada por IA via LLM local.

102há 27 diasAinda não revisado

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
Ver RepositórioSite

ONUS - Avaliação Automatizada de Vulnerabilidades e Testes de Penetração

License: MIT CI

ONUS - Encontre riscos de segurança antes dos atacantes.

Desenvolvido por maverickaayush.

Uma ferramenta VAPT hospedada localmente e isolada de redes externas: aponte-a para um domínio alvo autorizado e ela executa 8 módulos de varredura em paralelo, calcula deterministicamente a pontuação de cada achado (CVSS v3.1), opcionalmente adiciona descrições em linguagem simples geradas por IA via um LLM local e gera um relatório em PDF além de um painel web em tempo real. Nenhuma chamada externa de API - tudo roda na sua própria rede.

Duas formas de executar o ONUS:

  • Self-hosted (este repositório): docker compose up → insira um domínio → marque a caixa de autorização → escaneie. Sem conta, sem login, sem verificação de e-mail - é de operador único por design, e tudo abaixo cobre esse caminho.
  • Hospedado: uma instância gerenciada está disponível em tryonus.tech. Ela adiciona recursos exclusivos de produção (contas / login OAuth, uma fila de varreduras, histórico por usuário) que vêm desativados neste repositório, para que o self-hosting continue simples. Veja Self-hosted vs hospedado.

Recursos

  • 8 módulos de varredura em paralelo (Celery) - reconhecimento de rede (portas/serviços/subdomínios/DNS/WHOIS), varredura de aplicações web (ZAP + Nikto + Katana), configuração SSL/TLS, cabeçalhos de segurança HTTP, verificações OWASP Top 10, fingerprinting de tecnologia/detecção de WAF, varredura de CVEs (Nuclei), enumeração de diretórios (FFUF).
  • Pontuação determinística CVSS v3.1 - severidade, pontuação/vetor CVSS, prioridade e categoria OWASP são calculados a partir de um catálogo de regras, nunca adivinhados por um LLM. Duas execuções da mesma varredura produzem campos numéricos byte-idênticos.
  • Verificação de confiança - os achados são reavaliados passivamente (apenas re-observação não destrutiva) e marcados como confirmados / prováveis / não verificados, em vez de serem descartados silenciosamente.
  • Análise de IA local opcional - Ollama + Qwen 2.5 7B transforma os achados pontuados em descrições em linguagem simples e etapas de correção. Totalmente isolado de redes externas; a ferramenta funciona sem ele (veja Início rápido abaixo).
  • Correção acionável e ciente do contexto - cada achado termina com uma próxima etapa concreta. Problemas estáveis usam modelos determinísticos; os genuinamente dependentes de contexto usam a IA; e a detecção de plataformas gerenciadas (Vercel / Cloudflare / Netlify / GitHub Pages / …) faz com que um achado de TLS pertencente à plataforma diga quem controla essa camada e o que fazer em seguida, em vez de um conselho impossível de "edite a configuração do seu servidor".
  • Relatório em PDF + painel web - relatório renderizado com WeasyPrint e um painel Next.js, ambos alimentados pelos mesmos achados pontuados/descritos.

Self-hosted vs hospedado

O caminho padrão do self-hosted é intencionalmente o mais simples: sem cadastro, sem verificação de e-mail, sem OAuth. Os recursos exclusivos do hospedado (autenticação, fila de varreduras) ficam atrás de flags de configuração que vêm desativadas por padrão (REQUIRE_AUTH=false, HOSTED_QUEUE_ENABLED=false; veja Configuração) e não estão definidos em docker-compose.yml - portanto, executar o ONUS localmente nunca coloca você atrás de um login. Prefere zero configuração? Use o site hospedado em tryonus.tech.

Capturas de tela

Nova VarreduraStatus da Varredura em Tempo Real
Formulário de nova varreduraPágina de status da varredura
Painel do RelatórioDescoberta de Varreduras
Painel do relatórioPainel de descoberta de varreduras

Arquitetura

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 da arquitetura em seis camadas

Seis camadas: frontend Next.js → FastAPI → Celery/Redis → 8 módulos de varredura em paralelo → Ollama (Qwen 2.5 7B) → WeasyPrint PDF + painel. Detalhes completos em ARCHITECTURE.md (esquemas, contratos, salvaguardas) e docs/QUICK_REF.md (consulta rápida para mudanças comuns).

Pré-requisitos

  • Docker + Docker Compose v2
  • ~8 GB de espaço livre em disco. As imagens compiladas totalizam ~6,8 GB (backend e worker têm ~3,25 GB cada - eles incluem os templates do Nuclei e um Chromium headless via Playwright - além de um frontend de ~270 MB), e a própria compilação precisa de margem adicional.
  • ~6 GB de RAM livre. O sidecar do ZAP sozinho tem limite de 4 GB (mem_limit: 4g), e Postgres, Redis, a API, o worker e o frontend rodam em paralelo a ele.
  • A primeira compilação leva cerca de 10 a 15 minutos com uma conexão decente.

Início rápido

Veja os Pré-requisitos acima: ~8 GB de disco e ~6 GB de RAM, e espere uma primeira compilação de 10 a 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)

Abra http://localhost:3000, insira um domínio, marque a caixa de autorização e inicie a varredura.

Sem login, cadastro ou verificação de e-mail. O ONUS self-hosted é de operador único por padrão - não há etapa de conta entre abrir o painel e escanear.

Isso funciona sem instalar o Ollama. A pontuação CVSS/severidade/prioridade é sempre determinística (analysis/cvss_scorer.py) - sem o Ollama em execução, os achados apenas recebem um modelo de descrição baseado em regras em vez de um texto gerado por IA. Veja "Opcional: ative as descrições geradas por IA" abaixo para ativar esse recurso.

Nenhuma chave de API é necessária para executar esta ferramenta. Cada ferramenta de varredura que ela utiliza (nmap, ZAP, Nikto, testssl.sh, Nuclei, Amass, Naabu, httpx, WhatWeb, WAFW00F, FFUF) e o próprio Ollama funcionam sem nenhuma chave. A etapa de cópia da configuração do subfinder acima é a única exceção opcional - deixá-la como modelo vazio é suficiente; o subfinder apenas roda com fontes gratuitas/públicas. Para aprofundar a enumeração de subdomínios, você pode adicionar até duas chaves de nível gratuito a esse arquivo antes de começar: um token de acesso pessoal do GitHub e uma chave de API do ProjectDiscovery Chaos - veja os comentários dentro de provider-config.yaml.example.

Opcional: ative as descrições geradas por IA

O Ollama roda nativamente no host (não no Docker) para que possa usar a GPU do host diretamente; os contêineres o acessam via host.docker.internal.

  1. Instale o Ollama no host: https://ollama.com/install.sh
  2. Baixe o modelo: ollama pull qwen2.5:7b
  3. Torne o Ollama acessível a partir dos contêineres Docker (o Ollama usa apenas 127.0.0.1 por padrão, que a rede bridge do Docker não consegue alcançar):
    root@kitploit:~
    sudo systemctl edit ollama
    
    Adicione em [Service]:
    root@kitploit:~
    [Service]
    Environment="OLLAMA_HOST=0.0.0.0:11434"
    
    Salve e depois:
    root@kitploit:~
    sudo systemctl daemon-reload && sudo systemctl restart ollama
    
    Nota: isso torna o Ollama acessível a partir da sua rede local, não apenas do Docker - tudo bem em uma máquina pessoal, mas vale uma regra de firewall em uma máquina compartilhada.
  4. Verifique: curl http://localhost:11434/api/tags
  5. Reinicie o backend/worker para que eles o detectem: docker compose restart backend worker

Opcional: alvos de prática

O arquivo compose também define 12 aplicativos de prática intencionalmente vulneráveis (Juice Shop, DVWA, bWAPP, Mutillidae, NodeGoat, DVWP/WordPress atrás de um WAF ModSecurity, Metasploitable2, WebGoat) para testar o scanner contra algo sem precisar do seu próprio alvo autorizado. Eles ficam atrás de um perfil do Compose para que nunca sejam compilados/iniciados por padrão:

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

Aviso: estes são serviços intencionalmente vulneráveis, alguns genuinamente com backdoor (o Metasploitable2 inclui um backdoor vsftpd ativo). Execute o perfil targets apenas em uma máquina que não esteja acessível pela internet ou por uma rede compartilhada - nunca em uma instância de nuvem pública ou em um host exposto.

A maioria desses usa imagens pré-compiladas e não precisa de nada extra. Dois - nodegoat e dvwp-wordpress - são compilados a partir de código-fonte que não está incluído neste repositório e precisam ser clonados primeiro:

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

Portas publicadas quando em execução: Juice Shop :3001, DVWA :8081, bWAPP :8083, Mutillidae :8084, NodeGoat :8085, DVWP (via WAF, TLS) :8444, WebGoat :8082. O Metasploitable2 não publica porta no host (acessível apenas a partir de backend/worker pela rede interna do Docker), pois expõe serviços de rede reais com backdoor/sem autenticação.

Configuração

Variáveis de ambiente, definidas via .env (copiadas de .env.example):

Os padrões de POSTGRES_PASSWORD/SECRET_KEY acima são apenas para demonstração - eles são adequados para uma instância local/pessoal, mas altere ambos antes de implantar em qualquer lugar acessível por terceiros. Isso agora é aplicado, não apenas recomendado: defina ONUS_ENV=production (ou ative a autenticação hospedada) e o backend se recusa a iniciar enquanto qualquer um deles for um padrão/placeholder. Gere uma chave forte com python -c "import secrets; print(secrets.token_urlsafe(48))".

Os recursos exclusivos do hospedado vêm desativados por padrão. REQUIRE_AUTH (contas / login OAuth) e HOSTED_QUEUE_ENABLED (fila de varreduras) têm false como padrão e não estão definidos em docker-compose.yml, portanto o ONUS self-hosted nunca coloca você atrás de um login ou de uma fila. Deixe-os desativados, a menos que esteja intencionalmente construindo uma implantação hospedada multiusuário - a instância gerenciada tryonus.tech é a que os ativa.

Analytics (opcional)

O ONUS não tem analytics por padrão - nada é carregado e nenhum dado sai do navegador. Para coletar métricas anônimas de uso do produto na sua própria implantação, defina um único ID de medição do Google Analytics 4:

root@kitploit:~
NEXT_PUBLIC_GA_ID=G-XXXXXXXXXX

É uma variável de tempo de compilação do frontend, então defina-a no ambiente de compilação do frontend (uma variável de ambiente do Vercel/host, ou frontend/.env.local para uma compilação local com npm run build). Quando definido, o GA carrega apenas em builds de produção e rastreia visualizações de página além de alguns eventos de produto (ex.: scan_started, scan_completed, report_downloaded). Eventos personalizados passam pelo helper tipado em frontend/lib/analytics.ts - trackEvent('scan_started').

Privacidade: apenas eventos anônimos de uso com baixa cardinalidade são enviados - nunca domínios escaneados, resultados de varreduras, achados, conteúdos de relatórios, o estado de autorização ou qualquer dado pessoal. Deixe NEXT_PUBLIC_GA_ID sem definir e o ONUS se comporta exatamente como antes; o analytics é totalmente opcional.

Documentação da API

O FastAPI gera documentação Swagger interativa gratuitamente - assim que o backend estiver em execução, abra http://localhost:8000/docs.

Parar

root@kitploit:~
docker compose down

Logs

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

Testes e Validação

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

655 testes automatizados de backend até o momento em que este texto foi escrito. Além da suíte de testes unitários/integração, a ferramenta foi exercitada de ponta a ponta durante o desenvolvimento: 79 varreduras reais executadas e 124 relatórios em PDF gerados contra nove aplicativos de prática intencionalmente vulneráveis (DVWA, Juice Shop, Mutillidae, NodeGoat, bWAPP, WebGoat, Metasploitable2, DVWP/WordPress atrás de um WAF) além de um alvo público autorizado (testphp.vulnweb.com) - não são números hipotéticos. Escanee apenas alvos que você tenha autorização explícita para testar - veja docs/test_findings.md para os alvos de prática usados durante o desenvolvimento.

Documentação

  • ARCHITECTURE.md - arquitetura completa, esquemas e os contratos que uma mudança nunca deve quebrar. Leia isto antes de fazer uma mudança não trivial.
  • docs/QUICK_REF.md - comandos de execução, responsabilidades de pastas, "onde faço esta mudança."
  • docs/scanners.md - a lógica por trás do design de tempo/flags de cada módulo de varredura.
  • docs/ai.md - ajuste de timeout/contexto do Ollama, por que a pontuação saiu totalmente do LLM.
  • docs/docker.md - notas sobre desvios do Docker e pegadinhas de compilação.
  • docs/troubleshooting.md - como testar manualmente qualquer módulo/estágio isoladamente.
  • docs/roadmap.md - sequência histórica de construção (a construção está completa).
  • - configuração de desenvolvimento, testes, expectativas de PR.

Licença

MIT - veja LICENSE.

Apenas uso autorizado

Escanear alvos sem autorização escrita explícita é ilegal de acordo com a IT Act 2000 (Índia) e estatutos internacionais equivalentes. Esta ferramenta exige confirmação de autorização em toda varredura e registra o operador + o timestamp para fins de responsabilização.

Baixar ferramenta
ONUS — Plataforma VAPT hospedada localmente e isolada fisicamente (air-gapped) que executa 8 módulos de varredura em paralelo, pontua achados de forma determinística com CVSS v3.1 e gera relatórios em PDF com remediação opcional gerada por IA via LLM local. | Kitploit
Self-hosted (este repositório)Hospedado (tryonus.tech)
Configuraçãodocker compose upnenhuma - basta abrir o site
Loginnenhum - operador únicoconta / Google / GitHub OAuth
Fluxo de varreduradomínio → caixa de autorização → varredurao mesmo, após fazer login
Extras-fila de varreduras, histórico por usuário, e-mail hospedado
Executa emsua própria rede, isolada da internetnuvem gerenciada
VariávelPadrãoFinalidade
POSTGRES_PASSWORDvapt_secure_2025Senha do banco de dados
SECRET_KEYchange_me_to_a_long_random_stringChave secreta do backend
ALLOWED_HOSTSlocalhost,127.0.0.1Hosts permitidos do FastAPI
OLLAMA_URLhttp://host.docker.internal:11434Onde o backend/worker acessam o Ollama
SCAN_TIMEOUT_MULTIPLIER1.5Escala o timeout de ferramenta/Celery de cada módulo - alvos do mundo real são mais lentos que alvos de laboratório; reduza para 1.0 para tempos ajustados a laboratório
MAX_CONCURRENT_SCANS3Limite de varreduras simultâneas (proteção contra esgotamento de recursos / polidez com o alvo, também define o tamanho do pool de conexões do banco)
ONUS_ENVdevelopmentdevelopment (localhost self-hosted — segredos fracos apenas geram aviso) ou production (senha SECRET_KEY/do Postgres fraca se torna uma falha grave na inicialização)
CONTRIBUTING.md