Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
dnscat2 — Túnel criptografado de comando e controle sobre o protocolo DNS. Cria canais C&C furtivos para testes de penetração, com transferência de arquivos, acesso ao shell e capacidades de encaminhamento de porta através de consultas DNS. | Kitploit
Ferramentas/GitHubGitHub/iagox86/dnscat2
Ferramentas de Criptografia/DescriptografiaEvasão de IDS/IPSExfiltração de DadosTestes de PenetraçãoComando e ControleRed TeamingFerramenta de Acesso RemotoAnálise de DNSTop em Comando e Controle nº16Top em Exfiltração de Dados nº1
4.0k65233há 4 anosRevisado 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
Top em Evasão de IDS/IPS nº12
Top em Ferramenta de Acesso Remoto nº20
GitHubiagox86/dnscat2

dnscat2

Túnel criptografado de comando e controle sobre o protocolo DNS. Cria canais C&C furtivos para testes de penetração, com transferência de arquivos, acesso ao shell e capacidades de encaminhamento de porta através de consultas DNS.

Ver Repositório

***** NOTA: A senha para os downloads .zip é toda "password"! *****

Introdução

Bem-vindo ao dnscat2, um túnel DNS que NÃO vai te deixar doente e te matar!

Esta ferramenta foi projetada para criar um canal de comando e controle (C&C) criptografado sobre o protocolo DNS, que é um túnel eficaz para fora de quase todas as redes.

Este arquivo README deve conter tudo que você precisa para começar a usar! Se você estiver interessado em se aprofundar no protocolo, em como o código é estruturado, em planos futuros ou em outros assuntos esotéricos, confira a pasta doc/.

Licença

Isto é lançado sob a licença BSD. Consulte LICENSE.md para mais informações.

Visão Geral

dnscat2 vem em duas partes: o cliente e o servidor.

O cliente é projetado para ser executado em uma máquina comprometida. É escrito em C e tem o mínimo possível de dependências. Deve funcionar praticamente em qualquer lugar (se você encontrar um sistema onde ele não compila ou executa, por favor, abra um ticket, especialmente se puder me ajudar a obter acesso a esse sistema).

Quando você executa o cliente, normalmente especifica um nome de domínio. Todas as requisições serão enviadas para o servidor DNS local, que são então redirecionadas para o servidor DNS autoritativo para aquele domínio (que você, presumivelmente, tem controle).

Se você não tiver um servidor DNS autoritativo, também pode usar conexões diretas na UDP/53 (ou qualquer porta que escolher). Elas serão mais rápidas e ainda parecerão tráfego DNS para o observador casual, mas são muito mais óbvias em um log de pacotes (todos os domínios são prefixados com "dnscat.", a menos que você hackeie o código-fonte). Este modo frequentemente será bloqueado por firewalls.

O servidor é projetado para ser executado em um servidor DNS autoritativo. É em Ruby e depende de várias gems diferentes. Quando você o executa, assim como o cliente, especifica quais domínios ele deve ouvir, além de ouvir mensagens enviadas diretamente a ele na UDP/53. Quando recebe tráfego para um desses domínios, tenta estabelecer uma conexão lógica. Se receber outro tráfego, o ignora por padrão, mas também pode encaminhá-lo upstream.

Instruções detalhadas para ambas as partes estão abaixo.

Como isso é diferente de .....

dnscat2 se esforça para ser diferente de outros protocolos de tunelamento DNS por ser projetado para um propósito especial: comando e controle.

Isso não foi projetado para tirar você de uma rede de hotel ou para obter Internet gratuita em um avião. E não apenas tunela TCP.

Ele pode tunelar qualquer dado, sem protocolo anexado. O que significa que pode enviar e receber arquivos, pode executar um shell, e pode fazer essas coisas bem. Também pode potencialmente tunelar TCP, mas isso só será adicionado no contexto de uma ferramenta de teste de penetração (ou seja, tunelar TCP para dentro de uma rede), não como uma ferramenta de tunelamento de uso geral. Isso já foi feito, não é interessante (para mim).

Também é criptografado por padrão. Acredito que nenhum outro túnel DNS público criptografa todo o tráfego!

Onde obter

Aqui estão alguns links importantes:

  • Código-fonte no Github
  • Downloads (você encontrará versões assinadas do cliente para Linux 32 bits, Linux 64 bits, Win32 e código-fonte, além de um arquivo do servidor - lembre-se de que o arquivo de assinatura está hospedado no mesmo servidor que os arquivos, então, se estiver preocupado, verifique minha chave PGP :) )
  • Documentação do usuário Uma coleção de arquivos, tanto para usuários finais (como o Changelog) quanto para desenvolvedores (como o documento Contribuindo)
  • Rastreador de problemas (você também pode me enviar problemas por e-mail, basta colocar meu primeiro nome (ron) antes do meu nome de domínio (skullsecurity.net))

Como usar

A teoria por trás do dnscat2 é simples: ele cria um túnel sobre o protocolo DNS.

Por quê? Porque o DNS tem uma propriedade incrível: ele vai de servidor a servidor até descobrir para onde deve ir.

Isso significa que, para o dnscat obter tráfego de uma rede segura, ele simplesmente precisa enviar mensagens para um servidor DNS, que encaminhará felizmente as coisas através da rede DNS até chegar ao seu servidor DNS.

Isso, é claro, pressupõe que você tenha acesso a um servidor DNS autoritativo. dnscat2 também suporta conexões "diretas" - ou seja, executar um cliente dnscat que se conecta diretamente ao seu dnscat no seu endereço IP e porta UDP 53 (por padrão). O tráfego ainda parece tráfego DNS e pode passar por sistemas IDS/IPS mais burros, mas ainda assim provavelmente será parado por firewalls.

Se você não sabe como configurar um servidor DNS autoritativo, é algo que você precisa configurar com um provedor de domínio. izhan gentilmente escreveu um para você!

Compilando

Cliente

Compilar o cliente deve ser bem direto - tudo que você precisa para compilar é make/gcc (para Linux) ou Cygwin ou Microsoft Visual Studio (para Windows). Aqui estão os comandos no Linux:

$ git clone https://github.com/iagox86/dnscat2.git
$ cd dnscat2/client/
$ make

No Windows, carregue client/win32/dnscat2.vcproj no Visual Studio e clique em "build". Eu criei e testei no Visual Studio 2008 - até conseguir uma cópia legítima gratuita de uma versão mais recente, provavelmente vou continuar com essa. :)

Se a compilação falhar, por favor, abra um bug na minha página do github! Por favor, envie detalhes sobre seu sistema.

Você pode verificar se o dnscat2 foi compilado com sucesso executando-o sem flags; você verá que ele tenta iniciar um túnel DNS com o servidor DNS configurado (o que falhará):

$ ./dnscat
Starting DNS driver without a domain! This will only work if you
are directly connecting to the dnscat2 server.

You'll need to use --dns server=<server> if you aren't.

** WARNING!
*
* It looks like you're running dnscat2 with the system DNS server,
* and no domain name!*
* That's cool, I'm not going to stop you, but the odds are really,
* really high that this won't work. You either need to provide a
* domain to use DNS resolution (requires an authoritative server):
*
*     dnscat mydomain.com
*
* Or you have to provide a server to connect directly to:
*
*     dnscat --dns=server=1.2.3.4,port=53
*
* I'm going to let this keep running, but once again, this likely
* isn't what you want!
*
** WARNING!

Creating DNS driver:
 domain = (null)
 host   = 0.0.0.0
 port   = 53
 type   = TXT,CNAME,MX
 server = 4.2.2.1
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: The server hasn't returned a valid response in the last 10 attempts.. closing session.
[[ FATAL ]] :: There are no active sessions left! Goodbye!
[[ WARNING ]] :: Terminating

Servidor

Baixar ferramenta