Pular para o conteúdo
Skillpedia
Análise e planilhas35 mil · #5661

detecting-dns-exfiltration-with-dns-query-analysis

Ajuda seu agente a detectar roubo de dados via DNS. Ele analisa padrões de consulta DNS para identificar tráfego suspeito usado para esconder dados.

O que ela faz

Esta ferramenta analisa o tráfego de DNS para encontrar tentativas de roubo de dados. Ela procura por padrões incomuns em como os dados são enviados através de consultas e respostas de DNS, que podem indicar o uso de ferramentas maliciosas.

Quando usar

  • ✓Ao investigar um possível vazamento de dados pela rede.
  • ✓Ao monitorar a segurança da rede para atividades suspeitas.
  • ✓Ao tentar entender como ferramentas de ataque usam o DNS.

Exemplo do que pedir para a IA

“Procure por atividades anômalas no tráfego DNS que possam indicar exfiltração de dados.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/detecting-dns-exfiltration-with-dns-query-analysis/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/detecting-dns-exfiltration-with-dns-query-analysis/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta examina características das consultas DNS, como o comprimento dos subdomínios, a quantidade de consultas para um mesmo domínio e os tipos de registros DNS usados. Ela compara essas características com padrões normais para identificar anomalias.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill detecting-dns-exfiltration-with-dns-query-analysis

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/detecting-dns-exfiltration-with-dns-query-analysis/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Detecção de Exfiltração de DNS com Análise de Consultas DNS

Visão Geral

A exfiltração de DNS explora o Sistema de Nomes de Domínio como um canal oculto para extrair dados de redes comprometidas. Atacantes codificam dados roubados em nomes de consultas DNS (subdomínios) ou registros de resposta DNS (TXT, CNAME, NULL), contornando controles de segurança tradicionais que geralmente permitem tráfego DNS sem restrições. Ferramentas como iodine, dnscat2 e dns2tcp permitem o tunelamento TCP completo via DNS. A detecção requer a análise de padrões de consultas DNS em busca de anomalias, incluindo comprimento excessivo de consultas, strings de subdomínio de alta entropia, volumes anormais de consultas para domínios únicos e respostas de registro TXT de tamanho excessivo. Esta habilidade abrange a construção de uma capacidade abrangente de detecção de exfiltração de DNS usando análise passiva de DNS, métodos estatísticos e abordagens de aprendizado de máquina.

Quando Usar

  • Ao investigar incidentes de segurança que exigem a detecção de exfiltração de DNS com análise de consultas DNS.
  • Ao construir regras de detecção ou consultas de caça a ameaças para este domínio.
  • Quando analistas de SOC precisam de procedimentos estruturados para este tipo de análise.
  • Ao validar a cobertura de monitoramento de segurança para técnicas de ataque relacionadas.

Pré-requisitos

  • Acesso a logs de consultas DNS (captura passiva de DNS, logs de servidor DNS ou PCAP).
  • Zeek, Suricata ou tcpdump para captura de tráfego DNS.
  • Python 3.8+ com scipy, numpy, pandas e scikit-learn.
  • Plataforma SIEM para correlação de alertas.
  • Linha de base de padrões de tráfego DNS normal para o ambiente.

Conceitos Principais

Mecanismos de Tunelamento DNS

A exfiltração de DNS codifica dados em diferentes partes das mensagens DNS:

Saída (Exfiltração baseada em consulta):

Encoded data as subdomain labels:
dGhlIHNlY3JldCBkYXRh.exfil.attacker.com
[base64-encoded data].[tunnel domain]

Query types used: A, AAAA, CNAME, MX, TXT, NULL

Entrada (Canal de comando baseado em resposta):

TXT records carry encoded commands/data in responses
CNAME records chain encoded data through multiple labels
NULL records carry arbitrary binary data

Indicadores de Detecção

Indicador DNS Normal Tunelamento DNS
Comprimento do subdomínio 5-20 caracteres 40-253 caracteres
Contagem de rótulos 2-4 rótulos 5-10+ rótulos
Entropia de Shannon 2.5-3.5 bits 4.0-5.5 bits
Volume de consulta (por domínio) Variável 100s-1000s/min
Tamanho da resposta TXT < 100 bytes 200-4000+ bytes
Subdomínios únicos Baixo Muito alto
Distribuição do tipo de consulta Principalmente A/AAAA Pesado em TXT, NULL, CNAME

Ferramentas Comuns de Tunelamento

Ferramenta Protocolo Codificação Dificuldade de Detecção
iodine IP-over-DNS Base32/Base64/Raw Média
dnscat2 TCP-over-DNS Codificação Hex Média
dns2tcp TCP-over-DNS Base64 Média
DNSExfiltrator Personalizado Base64 Baixa
Cobalt Strike DNS C2 via DNS Codificação personalizada Alta

Fluxo de Trabalho

Etapa 1: Capturar Tráfego DNS

Usando Zeek:

# Live capture
zeek -i eth0 -C base/protocols/dns

# Offline PCAP analysis
zeek -r traffic.pcap base/protocols/dns

# Output: dns.log with query, qtype, answers, TTL

Usando tcpdump:

# Capture all DNS traffic
tcpdump -i eth0 -w dns_capture.pcap port 53

# Capture with size filter (large DNS packets)
tcpdump -i eth0 -w large_dns.pcap 'port 53 and greater 512'

Usando Suricata:

# In suricata.yaml, enable DNS logging
outputs:
  - eve-log:
      types:
        - dns:
            query: yes
            answer: yes
            formats: [detailed]

Etapa 2: Analisar Características da Consulta

Script Python para detecção de exfiltração de DNS:

#!/usr/bin/env python3
"""Detector de Exfiltração de DNS - Analisa logs de DNS em busca de indicadores de tunelamento."""

import json
import math
import re
import sys
from collections import defaultdict
from datetime import datetime, timedelta

import pandas as pd


def calculate_entropy(domain: str) -> float:
    """Calcula a entropia de Shannon de uma string."""
    if not domain:
        return 0.0
    freq = defaultdict(int)
    for char in domain:
        freq[char] += 1
    length = len(domain)
    entropy = -sum(
        (count / length) * math.log2(count / length)
        for count in freq.values()
    )
    return entropy


def extract_subdomain(query: str) -> str:
    """Extrai a porção do subdomínio de um FQDN."""
    parts = query.rstrip('.').split('.')
    if len(parts) > 2:
        return '.'.join(parts[:-2])
    return ''


def get_base_domain(query: str) -> str:

…
Perguntas frequentes

O que é exfiltração de dados via DNS?

É uma técnica onde atacantes escondem dados roubados dentro de consultas ou respostas de DNS para enviá-los para fora da rede, contornando firewalls.

Quais ferramentas usam essa técnica?

Ferramentas comuns incluem iodine, dnscat2 e dns2tcp, que criam túneis para transferir dados através do DNS.

O que são 'registros TXT/CNAME/NULL'?

São tipos de registros DNS que podem ser usados para transportar dados. Ataques podem abusar desses registros para enviar ou receber informações.

Detalhes

Descrição original do autor

Detect data exfiltration via DNS tunneling (tools like iodine, dnscat2, dns2tcp) by analyzing query entropy, subdomain length, query volume to single domains, TXT/CNAME/NULL record abuse, and oversized response payloads using passive DNS monitoring and statistical/ML methods. Use when hunting for covert DNS-based data exfiltration or building a passive DNS anomaly detection capability.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5661
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas