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
knockpy — Knock Subdomain Scan | Kitploit
Ferramentas/GitHubGitHub/guelfoweb/knockpy
OSINT (Inteligência de Fontes Abertas)ReconhecimentoColeta de InformaçõesTestes de PenetraçãoEnumeração de SubdomíniosAnálise de DNS
GitHubguelfoweb/knockpy

knockpy

Knock Subdomain Scan

Ver Repositório
4.2k873há 6 mesesRevisado 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

🔍 Knockpy Subdomain Scan v9.0

✅ Rápido & Assíncrono • 🔐 Recon + Brute • 🔧 Fácil de Estender

KnockPy é uma ferramenta modular Python 3 para enumerar subdomínios via reconhecimento passivo e bruteforce, agora com suporte async/await, desempenho aprimorado e manipulação moderna de HTTP/TLS.


🚀 Funcionalidades (v9)

  • ✅ Varredura assíncrona com httpx e resolução DNS
  • ✅ Modular: plugue novas fontes passivas facilmente
  • 🔍 Suporta recon passivo, bruteforce ou ambos
  • 🎨 Saída de terminal formatada com Rich (tabelas, progresso, painéis)
  • 📜 Valida status HTTP/HTTPS, certificado TLS e IP
  • ⚠️ Detecta suporte a TLS legado (TLS 1.0/1.1) como aviso no CLI/verbose/relatório HTML
  • 🧾 Verifica AXFR (transferência de zona) no domínio raiz durante varreduras em modo domínio
  • 🔎 --verbose diagnóstico de domínio único (DNS/TCP/TLS/cadeias de redirecionamento/erros de requisição + verificações de segurança)
  • 💡 Suporta detecção de DNS curinga
  • 🧪 Relatórios SQLite com catálogo interativo (show/delete/export/search)
  • 🔐 Suporta API VirusTotal e Shodan
  • 🚀 Tempo de execução de bruteforce otimizado com cache de endpoint de sonda TLS (nenhuma alteração de tempo limite necessária)

📦 Instalação

Do código fonte do GitHub (recomendado)

root@kitploit:~
git clone https://github.com/guelfoweb/knockpy.git
cd knockpy
# recomendado: instalar em um ambiente virtual
python3 -m venv .venv
. .venv/bin/activate
python3 -m pip install -U pip
pip install .

# alternativa: instalar para o usuário atual (sem venv)
# python3 -m pip install --user .

⚠️ Versão Python recomendada: 3.9+

🧱 Estrutura do Projeto

O código é organizado por responsabilidade, com fachadas estáveis para compatibilidade retroativa:

root@kitploit:~
knockpy/
  cli.py                   # Ponto de entrada CLI (fachada/orquestração)
  cli_parts/
    status.py              # Renderização do painel de status/tempo de execução
    setup.py               # Configuração interativa e padrões de execução persistidos
    report.py              # Modo de relatório interativo
    scan_flow.py           # Regras de exclusão, teste de recon, auxiliares de curinga
  core.py                  # Fachada pública principal (compatibilidade)
  engine/
    runtime.py             # Implementação do mecanismo de varredura
  storage.py               # Fachada pública de armazenamento (compatibilidade)
  storage_parts/
    db.py                  # Persistência/configurações SQLite
    export.py              # Orquestração de exportação de relatório
    html_report.py         # Renderização de relatório HTML
  output.py                # Renderização de saída do terminal
  server_versions.py       # Catálogo de versões de servidores web
  knockpy.py               # Exportações do módulo de compatibilidade

Nota de compatibilidade:

  • Importações externas preferidas: import knockpy ou from knockpy import KNOCKPY.
  • Módulos internos são divididos em engine/, cli_parts/ e storage_parts/.

Usando pip

Somente após a versão estável ser lançada no GitHub

root@kitploit:~
pip install knock-subdomains

🧪 Uso

root@kitploit:~
knockpy -d dominio.com [opções]

Opções

Ajuste de Desempenho: --threads e --timeout

Essas duas opções têm o maior impacto no tempo de execução para grandes varreduras.

  • --threads controla a concorrência (quantos alvos são processados em paralelo)
  • --timeout controla quanto tempo cada etapa de rede espera antes de desistir

Compensação:

  • threads mais alto = varreduras mais rápidas, mas mais carga na CPU/rede/DNS e maior risco de limite de taxa remoto
  • timeout mais baixo = varreduras mais rápidas, mas maior risco de perder alvos lentos, porém válidos (falsos negativos)

Perfis recomendados:

  • varredura pequena/precisa (poucos domínios): --threads 50 --timeout 5
  • varredura equilibrada: --threads 150 --timeout 4
  • varredura grande (10k+ domínios): comece com --threads 250 --timeout 3

Se você precisar de velocidade e completude em listas muito grandes, use estratégia de 2 passagens:

  1. passagem rápida: --threads 250 --timeout 3
  2. passagem de repetição apenas em alvos perdidos/incertos: --threads 80 --timeout 5 (ou maior)

Notas:

  • Valores CLI sempre substituem valores de configuração salvos
  • valores de configuração salvos (--setup) substituem padrões internos
  • os padrões internos atuais são threads=250, timeout=3

📌 Exemplos

🔎 Recon + Brute

root@kitploit:~
knockpy -d example.com --recon --bruteforce

🧪 Teste de serviços de recon

root@kitploit:~
knockpy -d example.com --recon --test

🔄 Atualizar catálogo de versões mais recentes de servidores web

root@kitploit:~
knockpy --update-versions

🆕 Verificar atualizações do Knockpy

root@kitploit:~
knockpy --check-update

⚙️ Configuração das fontes de recon (editável)

Na primeira execução, o KnockPy cria:

root@kitploit:~
~/.knockpy/recon_services.json

Você pode adicionar/desabilitar fontes editando o array services. Você também pode apontar para um caminho de arquivo personalizado sem alterar o código:

root@kitploit:~
export KNOCK_RECON_SERVICES=/caminho/para/recon_services.json

Cada serviço suporta:

  • name
  • enabled (true/false)
  • parser
  • url_template (suporta {domain}, {virustotal_key}, {shodan_key})
  • requires_api (virustotal ou shodan, opcional)

Parsers suportados:

  • csv_first_column
  • rapiddns_html_td
  • json_list
  • virustotal_subdomains
  • shodan_subdomains

📥 Domínio via stdin

root@kitploit:~
echo "example.com" | knockpy -d

🧠 Chaves de API (opcional)

root@kitploit:~
export API_KEY_VIRUSTOTAL=sua-chave-api-virustotal
export API_KEY_SHODAN=sua-chave-api-shodan

Você pode usar arquivo .env:

root@kitploit:~
API_KEY_VIRUSTOTAL=sua-chave-api-virustotal
API_KEY_SHODAN=sua-chave-api-shodan

💾 Relatórios (SQLite + exportação HTML interativa)

root@kitploit:~
knockpy -d example.com --recon --bruteforce
knockpy --report list
knockpy --report latest
knockpy --report

Menu interativo do relatório:

  • 1 show
  • 2 delete
  • 3 export
  • 4 search
  • 0 reset db (solicita confirmação explícita)

Sair do modo relatório:

  • pressione Enter em prompt de ação vazio
  • ou pressione CTRL+C

🔍 Diagnóstico de domínio único

root@kitploit:~
knockpy -d forum.example.com --verbose

🧪 Teste de curinga apenas

root@kitploit:~
knockpy -d example.com --wildcard

🧬 Uso da API Python

O KnockPy pode ser usado como módulo Python:

root@kitploit:~
import knockpy

resultado = knockpy.KNOCKPY("example.com", timeout=5.0, threads=20)
print(resultado["domain"], resultado["ip"])

ou:

root@kitploit:~
from knockpy import KNOCKPY

dominio = 'example.com'

resultados = KNOCKPY(
    dominio,
    dns="8.8.8.8",
    useragent="Mozilla/5.0",
    timeout=5,
    threads=10,
    recon=True,
    bruteforce=True,
    wordlist=None,
    silent=False
)

for entrada in resultados:
    print(entrada['domain'], entrada['ip'], entrada['http'], entrada['cert'])

📂 Wordlist

Uma wordlist padrão está incluída em knockpy/wordlist/wordlist.txt. Você pode fornecer a sua própria com --wordlist.

Teste

root@kitploit:~
python3 -m pytest

# (opcional) execução de exemplo com script
python3 examples/poc.py

📖 Licença

Licenciado sob a licença GPLv3.

Gianni Amato (@guelfoweb)

Baixar ferramenta
FlagDescrição
-d, --domainDomínio alvo (ou stdin se usado sem valor)
-f, --fileArquivo com lista de domínios
--reconAtivar reconhecimento passivo
--bruteforce, --bruteAtivar bruteforce usando wordlist
--exclude TIPO VALORExcluir correspondências (status, length/lenght, body)
--verboseDiagnóstico aprofundado apenas para varreduras de domínio único
--wildcardTestar DNS curinga e sair
--testCom --recon, testar cada fonte de recon (falhou/vazia/dados)
--setupConfiguração interativa (padrões de execução + chaves de API no banco de dados)
--update-versionsAtualizar catálogo local de versões mais recentes de servidores web
--report [ID|latest|list]Modo relatório (show/delete/export/search/reset db interativo, exportar HTML)
--check-updateVerificar online se uma versão mais nova do Knockpy está disponível no PyPI
--wordlistSubstituição de wordlist em tempo de execução
--dnsSubstituição do resolvedor DNS em tempo de execução
--useragentSubstituição do user-agent HTTP em tempo de execução
--timeoutSubstituição do tempo limite em tempo de execução (segundos)
--threadsSubstituição do número de workers concorrentes em tempo de execução
--silentOcultar barra de progresso
--jsonSaída apenas em JSON (força --silent)
--statusImprimir status da execução e continuar
-h, --helpMostrar mensagem de ajuda