O que é e como funciona na prática
Knock knock dungeon é uma ferramenta de automação para censo de portas em redes WiFi. Ela funciona explorando o protocolo WPS (WiFi Protected Setup), que foi projetado para facilitar a conexão de dispositivos sem necessidade de digitar a senha manualmente. O mecanismo é simples: o pin WPS tem oito dígitos, mas os dois últimos são um checksum calculado a partir dos seis primeiros, então na prática existem apenas 11 mil combinações possíveis, não 100 milhões. Isso torna a quebra viável em questão de horas ou minutos. É importante avisar logo de cara que usar essa ferramenta em redes que não são suas é ilegal na maioria dos países. A única situação aceitável é testar sua própria rede ou ter autorização por escrito do proprietário.
Knock knock dungeon download e instalação
O projeto está hospedado no GitHub sob o nome "koohak/dnd". Você pode clonar com: git clone https://github.com/koohak/dnd.git
cd dnd
make
O build exige libpcap e um compilador C compatível com Linux. Roda nativamente em Kali, mas também funciona em qualquer distro com os pacotes básicos de desenvolvimento instalados. Eu recomendo usar uma máquina virtual leve, não o sistema principal, porque o processo de compilação de dependências antigas costuma estragar algo se você não tomar cuidado.
Como executar e interpretar os resultados
A sintaxe básica é: sudo ./dnd -i
Por exemplo, se sua interface de monitoramento é wlan0mon e o AP de target tem endereço MAC 00:11:22:33:44:55, o comando fica: sudo ./dnd -i wlan0mon -t 00:11:22:33:44:55 O programa começa enviando requisições de polling WPS. Quando o AP responde com um beacon, o tool parte para a fase de brute force do PIN. Cada tentativa bem-sucedida de autenticação revela se o pin está correto ou errado, e o progresso é mostrado em tempo real no terminal.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Uma coisa que muita gente não percebe na primeira vez é que o log não mostra apenas o resultado final. Ele imprime a cada tentativa de poll, então a tela vai encher rápido. Eu configurei meu primeiro teste assistindo mais de 30 mil linhas de saída e pensei que o programa tinha travado. Na verdade estava funcionando normalmente, só que eu não sabia que era esperado gerar tanto texto. O truque é redirecionar a saída para um arquivo e usar tail -f para acompanhar apenas as últimas linhas. Quando o PIN é encontrado, o programa exibe uma mensagem clara e sai. Aí entra a segunda etapa: usar o PIN para recuperar a chave WPA. O DND faz isso internamente se o AP suportar o método de derivação de chave padrão, mas em alguns routers mais antigos você precisa rodar um comando separado do reaver ou do pixiewps para extrair o PSK a partir do PIN descoberto.
Problemas que eu encontrei na prática
O caso mais chato que tive foi com um router da Huawei que bloqueava automaticamente o módulo WPS após dez tentativas falhas. O knock knock dungeon continuava tentando normal, sem perceber que o serviço tinha sido desligado, então eu gastei quase uma hora achando que a rede era forte quando na verdade era só que o WPS tinha sido desabilitado pelo próprio equipamento. A solução foi olhar o sinal de resposta do AP. Se as respostas pararam de vir por mais de trinta segundos, é sinal de que o lockout aconteceu. Nesses casos, basta esperar o período de bloqueio expirar (geralmente quinze minutos) ou, se você tiver acesso físico ao router, desligá-lo por cinco segundos para resetar o contador.
Outro problema comum é a interface de rede não entrar em modo monitor corretamente. drivers mais novos, especialmente os da família RTL88xx, frequentemente falham ao tentar ativar monitor mode em determinadas frequências. A workaround que eu uso é forçar o modo com ifconfig wlan0 down, iwconfig wlan0 mode monitor, e depois ifconfig wlan0 up. Às vezes ainda é preciso ajustar o canal manualmente com iw dev wlan0 set channel 6. Eu passo mais tempo resolvendo isso do que rodando a ferramenta em si.
Limitações reais da ferramenta
Knock knock dungeon não é bala de prata. Aqui estão os cenários onde ela simplesmente não funciona:
- Redes WPA3, que não usam WPS de forma padrão. O protocolo é incompatível.
- Routers que desabilitam WPS via firmware ou configuração administrativa. Comum em equipamentos empresariais e em muitos modelos de fabricante como TP-Link e D-Link recentes.
- APs com proteção contra força bruta ativada, mesmo que parcialmente. Alguns fabricantes implementam rate limiting que aumenta drasticamente o tempo necessário.
- Hardware de rede incompatível. Placas Broadcom e algumas Realtek mais novas não suportam inject de frames, o que impede o envio das requisições de poll necessárias.
Se o seu objetivo é verificar a segurança da sua própria rede, considere também testar com wps-pixie-dust primeiro. O método Pixie Dust explora uma fraqueza no gerador de números aleatórios do PIN e pode contornar rate limiters que bloqueiam o brute force tradicional. Funciona em muitos casos onde o DND trava.
Resumo técnico
O funcionamento completo do knock knock dungeon segue três fases distintas: primeiro ele escuta beacons do AP para confirmar suporte a WPS, depois gera e envia polls de tentativa de PIN, e por fim deriva a chave WPA a partir do PIN correto. O tempo médio de execução varia entre quinze minutos e duas horas, dependendo da velocidade de resposta do AP e da configuração de segurança adotada pelo fabricante. Em testes que fiz em routers domésticos comuns, o tempo mais frequente ficou em torno de quarenta minutos. Equipamentos mais defensores podem levar horas ou simplesmente não responder. A versão mais recente do código está no repositório oficial do GitHub. Atualize regularmente, porque patches de compatibilidade com novos chips de rede surgem com frequência. Se tiver algum hardware específico que não está funcionando, consulte a issue tracker antes de abrir nova demanda, porque o problema provavelmente já foi reportado.