Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
dns_watchdog_windows2 — Script de PowerShell que monitorea el tráfico DNS de Windows mediante pktmon para detectar envenenamiento, suplantación, respuestas de resolutores no autorizados y cambios de MAC de puerta de enlace, registrando alertas. | Kitploit
Herramientas/GitHubGitHub/microlaser/dns_watchdog_windows2
Herramientas DefensivasSniffing y Análisis de PaquetesForensia de RedRecopilación de InformaciónSeguridad de RedesDetección de IntrusionesAnálisis de DNSDetección de Anomalías

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
GitHubmicrolaser/dns_watchdog_windows2

dns_watchdog_windows2

Script de PowerShell que monitorea el tráfico DNS de Windows mediante pktmon para detectar envenenamiento, suplantación, respuestas de resolutores no autorizados y cambios de MAC de puerta de enlace, registrando alertas.

Ver Repositorio
3hace 11 díasAún no revisado
Compartir

DNS Watchdog (Windows)

Un script de PowerShell de un solo archivo que vigila el propio tráfico de red de una máquina Windows en busca de señales de envenenamiento / suplantación de DNS, usando pktmon — la herramienta de captura de paquetes integrada en Windows 10 (1809+), Windows 11 y Windows Server 2019+. No se requiere ninguna herramienta de captura de terceros (Wireshark, Npcap, tcpdump).

Captura el tráfico DNS (UDP/TCP puerto 53) en la pila de red del sistema operativo, lo que cubre tanto el tráfico de LAN como el de WAN en una máquina típica, y luego analiza los paquetes en bruto por sí mismo — formato binario pcapng, cabeceras Ethernet/IP/UDP/TCP y el formato de mensaje DNS, incluidos los punteros de compresión de nombres — enteramente en PowerShell nativo.

Una versión bash/tcpdump complementaria cubre macOS y Linux.

Qué detecta

SeñalPor qué importa
Respuestas en conflicto a la misma consulta DNSLa firma de manual de un intento de envenenamiento: un atacante compite con una respuesta falsificada contra la real, esperando que la respuesta falsificada llegue primero y se almacene en caché.
Respuestas de un servidor DNS que nunca configurasteComparado con Get-DnsClientServerAddress. Una respuesta de un servidor no reconocido puede indicar un atacante fuera de ruta inyectando respuestas.
Respuestas sin una consulta pendiente coincidenteUna respuesta a una pregunta que el monitor nunca vio formular — una posible señal de tráfico inyectado/suplantado (con un período de gracia inicial para evitar falsos positivos).
Cambios en la dirección MAC de la puerta de enlace predeterminada a mitad de sesiónSondeado mediante Get-NetNeighbor en cada ciclo de captura. La suplantación ARP es el primer paso habitual que dan los atacantes para posicionarse y manipular el DNS en la LAN.

Cada alerta imprime dos partes:

  • [TECHNICAL] — detalle del paquete en bruto, para quien quiera investigar más a fondo
  • [WHAT THIS MEANS] — una explicación en lenguaje sencillo de por qué importa

Toda la salida también se escribe en un archivo de registro con marca de tiempo.

Requisitos

  • Windows 10 (1809+), Windows 11 o Windows Server 2019+, con pktmon.exe disponible (incluido de serie en todos ellos)
  • Una compilación razonablemente reciente — pktmon pcapng (usado para convertir las capturas para su análisis) se añadió después del lanzamiento inicial de 1809; si falta, actualiza Windows
  • PowerShell ejecutándose como Administrador (la captura de paquetes lo requiere)

Instalación

git clone https://github.com/microlaser/dns-watchdog.git
cd dns-watchdog\windows

No hay módulos ni dependencias externas que instalar — solo el propio script.

Uso

Desde un PowerShell elevado (Administrador):

.\dns_watchdog.ps1

Por defecto, el script autodetecta tu puerta de enlace predeterminada y los servidores DNS configurados, y captura en todos los adaptadores de red (pktmon opera en la pila de red del sistema operativo, por lo que esto cubre naturalmente tanto el tráfico de LAN como el de WAN sin elegir un adaptador específico). Detén la monitorización con Ctrl+C; al salir se imprime un resumen de la sesión.

Parámetros

.\dns_watchdog.ps1 [-LogFile <path>] [-CaptureIntervalSeconds <n>] [-GraceResponses <n>] [-KeepCaptures]
ParámetroDescripción
-LogFileRuta al registro de la sesión (por defecto: .\dns_watchdog_<timestamp>.log)
-CaptureIntervalSecondsDuración de cada ventana de captura antes de que se convierta y analice. Menor = menos latencia de detección, más sobrecarga. Por defecto: 5
-GraceResponsesNúmero de respuestas a observar antes de que se activen las alertas de "sin consulta coincidente", para evitar ruido al inicio. Por defecto: 10
-KeepCapturesConservar los archivos .etl/.pcapng de cada ventana en disco en lugar de eliminarlos tras el análisis

Sesión de ejemplo

=========================================================================
 DNS Watchdog (Windows) - DNS poisoning / spoofing monitor
=========================================================================
Capturing on:      all network adapters (pktmon captures at the OS networking stack,
                   which covers this host's LAN and WAN traffic together)
Default gateway:   192.168.1.1  (MAC baseline: 60-95-F8-2B-5E-78)
Configured DNS:    192.168.0.1, 192.168.1.1
Log file:          .\dns_watchdog_20260918_204725.log
...

[20:47:44.872] [ALERT] Conflicting DNS responses for the same query
  [TECHNICAL] txn=64878  query=example.com (type 28)  first_response=[AAAA:2607:f8b0:...]  conflicting_response(src=10.0.0.9)=[AAAA:dead:beef::1]
  [WHAT THIS MEANS] This machine's DNS question got two DIFFERENT answers back. Legitimate DNS servers don't normally do this. This is the textbook signature of a DNS poisoning attempt, where an attacker races a forged answer against the real one, hoping the forged one arrives first and gets cached.

Cómo funciona

Windows no tiene un análogo directo a canalizar tcpdump hacia un analizador de texto — la salida en vivo por consola de pktmon son bytes en bruto, no líneas decodificadas. Así que este script, en su lugar:

  1. Ejecuta pktmon en ventanas cortas rotativas (5 segundos por defecto), capturando a .etl
  2. Convierte cada ventana a .pcapng (pktmon pcapng)
  3. Analiza el formato binario pcapng directamente — leyendo Enhanced Packet Blocks, luego recorriendo las cabeceras IP → UDP/TCP → mensaje DNS de cada trama, incluida la decodificación de punteros de compresión de nombres DNS — sin bibliotecas externas
  4. Rastrea los IDs de transacción DNS entre ventanas de captura usando tablas hash nativas de PowerShell que persisten durante toda la vida del proceso, marcando conflictos y anomalías a medida que se ven
  5. Sondea por separado la entrada ARP de la puerta de enlace en cada ciclo para detectar cambios en la dirección MAC

Una peculiaridad que conviene conocer: Windows con frecuencia captura los paquetes generados localmente (salientes) antes de que se añada la cabecera Ethernet en algunos puntos de control de la pila, por lo que las consultas DNS salientes pueden llegar como paquetes IP desnudos sin ningún entramado de capa de enlace, mientras que las respuestas entrantes llegan completamente entramadas en Ethernet desde el cable. El analizador detecta y maneja ambos casos. pktmon también tiende a reportar el mismo paquete físico más de una vez (capturado en múltiples puntos de la pila de red); el script deduplica las repeticiones idénticas byte a byte dentro de cada ventana de captura para que un solo paquete real no genere alertas múltiples — una respuesta genuinamente en conflicto/envenenada tiene contenido diferente, por lo que nunca se ve afectada por esta deduplicación.

Limitaciones

Descargar herramienta