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
PacketWhisper — PacketWhisper: Exfiltre dados furtivamente e evite a atribuição usando consultas DNS e esteganografia baseada em texto. Evite os problemas associados aos métodos típicos de exfiltração DNS. Transfira dados entre sistemas sem que os dispositivos comunicantes se conectem diretamente entre si ou a um endpoint comum. Não é necessário controlar um Servidor de Nomes DNS. | Kitploit
Ferramentas/GitHubGitHub/trycatchhcf/packetwhisper
Exfiltração de DadosEsteganografiaCriptografiaRed TeamingAnálise de DNS
GitHubtrycatchhcf/packetwhisper

PacketWhisper

Ver Repositório

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 →

Sobre

PacketWhisper: Exfiltre dados furtivamente e evite a atribuição usando consultas DNS e esteganografia baseada em texto. Evite os problemas associados aos métodos típicos de exfiltração DNS. Transfira dados entre sistemas sem que os dispositivos comunicantes se conectem diretamente entre si ou a um endpoint comum. Não é necessário controlar um Servidor de Nomes DNS.

65312271há 6 anosRevisado pelo Kitploit
Compartilhar

PacketWhisper

PacketWhisper - Transfira dados de forma furtiva e evite atribuição usando consultas DNS e esteganografia baseada em texto, sem a necessidade de servidores de nomes ou domínios controlados pelo atacante; Burle dispositivos DLP/MLS; Supere controles de lista de permissão de dados e servidores DNS. Converta qualquer tipo de arquivo (ex.: executáveis, Office, Zip, imagens) em uma lista de nomes de domínio totalmente qualificados (FQDNs) e use consultas DNS para transferir dados. Simples, mas extremamente eficaz.

(Atualização 27/05/2020: Sim, vou migrar todos os meus projetos do Github para Python3 durante o verão de 2020.)

Autor

Joe Gervais (TryCatchHCF)

Por que isso é diferente de todas as outras técnicas de exfiltração DNS?

A exfiltração tradicional de DNS depende de uma das seguintes: tunelamento DNS; ocultação de dados em campos de consulta DNS; ou cargas úteis codificadas/criptografadas que são divididas e usadas como subdomínios na consulta DNS. Todos esses métodos exigem que o atacante controle um domínio e/ou um servidor de nomes DNS associado para receber os dados, o que leva à atribuição. Essas abordagens também são vulneráveis a listas de bloqueio de servidores DNS (comum) e listas de permissão (cada vez mais comuns). Outro problema é que analistas de DFIR conhecem esses métodos e sistemas SIEM frequentemente detectam e alertam ao vê-los.

O PacketWhisper supera essas limitações.

E se os dados pudessem ser transferidos usando os próprios servidores DNS com permissão do alvo, sem que os sistemas comunicantes se conectem diretamente entre si ou a um ponto final comum? Mesmo se a fronteira de rede empregasse lista de permissão de dados para bloquear a exfiltração?

Como Funciona

Para que isso aconteça, o PacketWhisper combina consultas DNS com esteganografia baseada em texto. Utilizando o Conjunto de Ferramentas Cloakify, ele transforma a carga útil em uma lista de strings FQDN. Em seguida, o PacketWhisper usa essa lista de FQDNs para criar consultas DNS sequenciais, transferindo a carga útil através (ou dentro) das fronteiras de rede, com os dados ocultos à vista, e sem que os dois sistemas se conectem diretamente um ao outro ou a um ponto final comum. As cifras usadas pelo PacketWhisper fornecem múltiplos níveis de engano para evitar a geração de alertas, bem como para iludir tentativas de análise.

Para receber os dados, você captura o tráfego de rede contendo as consultas DNS, usando o método que for mais conveniente para você. (Veja "Capturando o Arquivo PCAP" abaixo para exemplos de pontos de captura.) Em seguida, carregue o arquivo PCAP capturado no PacketWhisper (executando em qualquer sistema conveniente), que extrai a carga útil do arquivo e a "descloakifica" para sua forma original.

DNS é um protocolo atraente de se usar porque, embora seja um meio relativamente lento de transferir dados, o DNS é quase sempre permitido através das fronteiras de rede, mesmo nas redes mais sensíveis.

Nota importante: Estamos usando consultas DNS para transferir os dados, não consultas DNS bem-sucedidas. O PacketWhisper nunca precisa resolver com sucesso nenhuma de suas consultas DNS. Na verdade, o PacketWhisper nem mesmo olha as respostas DNS. Isso expande nossos casos de uso e ressalta o fato de que nunca precisamos controlar um domínio pelo qual estamos consultando, nem nunca precisamos controlar um servidor de nomes DNS que lida com as solicitações.

Então, usando o PacketWhisper, transformamos uma carga útil que se parece com isto:

Em uma lista de FQDNs como esta:

Que o PacketWhisper transforma em consultas DNS que aparecem no tráfego de rede assim:

Que você captura como um arquivo PCAP em qualquer lugar ao longo do caminho de resolução DNS, e então carrega esse PCAP em sua cópia local do PacketWhisper para recuperar a carga útil:

Tutorial

Veja os slides do DEF CON 26 (incluídos no projeto) da minha apresentação no Packet Hacking Village. Os slides fornecem contexto sobre exfiltração DNS, esteganografia baseada em texto / Conjunto de Ferramentas Cloakify e como o PacketWhisper combina tudo isso em um método para transferir dados. Criei especificamente os slides para serem úteis por conta própria, então o contexto e as informações devem estar completos. No entanto, você também pode assistir ao vídeo da minha apresentação no DC26 Packet Hacking Village que fornece contexto adicional.

Incluí um arquivo PCAP de exemplo no projeto (inteligentemente chamado de "sample.pcap") que contém cargas úteis separadas para cada uma das cifras. Elas poderiam ser de qualquer tipo de arquivo, claro, mas neste caso apenas transmiti arquivos de texto para o PCAP. Carregue-o no PacketWhisper e experimente!

Como teste rápido em seu próprio ambiente, execute o PacketWhisper de uma VM, depois envie um arquivo enquanto faz uma captura de pacotes na interface de rede da VM através do sistema host. Você pode então carregar o arquivo PCAP em qualquer instância do PacketWhisper que seja conveniente para decodificar o arquivo. Lembre-se de que não é uma transferência rápida. Arquivos menores e paciência são seus amigos.

Requisitos

  1. Python 2.7.x (portabilidade para 3.6.x está em andamento)
  2. Para decodificar cargas úteis: tcpdump (incluído no Linux e MacOS) ou WinDump (Windows)

Pergunta: "Por que você não usou Scapy ou o conjunto de ferramentas dnspython?"

Resposta: Odeio dependências de projeto em minhas ferramentas operacionais. Mantenho meus projetos tão atômicos e autocontidos quanto possível para máxima confiabilidade, especialmente no lado do cliente, onde posso não controlar o ambiente e/ou ter privilégios mínimos. Da forma como o PacketWhisper é estruturado, posso fazê-lo funcionar em um host com shell limitado apenas compactando o projeto e extraindo no host alvo.

Pergunta: "Por que o PacketWhisper não é um fork do projeto Cloakify Toolset?"

Resposta: Mesma resposta acima. Precisamos apenas de um subconjunto muito específico das capacidades do Cloakify, e adicionar todo o resto ao PacketWhisper só levaria a um diretório desordenado e ferramentas/cifras que não podem ser usadas pelo PacketWhisper. Como sou dono de ambos os projetos, prometo sincronizar quaisquer alterações entre eles.

Executar o PacketWhisper

$ python packetWhisper.py

Cifras Baseadas em FQDN

Cifras baseadas em FQDN consistem em 3 categorias:

  1. FQDNs com Subdomínio Aleatório Único (Recomendado - evita cache DNS, contorna NAT)
  2. FQDNs Repetidos Únicos (DNS pode usar cache, mas contorna NAT)
  3. FQDNs de Websites Comuns (cache DNS pode bloquear, NAT interfere)

FQDNs com Subdomínio Aleatório Único

MODO DE CIFRA RECOMENDADO PARA A MAIORIA DOS CASOS DE USO

Estes são FQDNs com elementos aleatórios embutidos nos subdomínios. Isso ajuda a prevenir o cache DNS, ao mesmo tempo que nos permite transferir dados além de dispositivos de rede com NAT que podem estar ao longo do caminho da consulta DNS. Como o endereço IP do sistema emissor não está disponível além do dispositivo NAT, os subdomínios gerados pela cifra contêm elementos de tag únicos para nos ajudar a identificar cargas úteis do PacketWhisper na captura de pacotes.

Essas cifras imitam os formatos de vários serviços que dependem de subdomínios complexos como meio de identificar uma sessão, usuário, conteúdo em cache etc. Essa abordagem ajuda as consultas DNS do PacketWhisper a se misturarem com o restante do tráfego da rede.

Baixar ferramenta