Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
dns_watchdog_windows2 — PowerShell-Skript, das Windows-DNS-Verkehr über pktmon überwacht, um Poisoning, Spoofing, Antworten von rogue Resolvern und Gateway-MAC-Änderungen zu erkennen und Warnungen zu protokollieren. | Kitploit
Tools/GitHubGitHub/microlaser/dns_watchdog_windows2
DefensivwerkzeugePaket-Sniffing & AnalyseNetzwerkforensikInformationsbeschaffungNetzwerksicherheitEinbruchserkennungDNS-AnalyseAnomalieerkennung

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
GitHub
microlaser/dns_watchdog_windows2

dns_watchdog_windows2

PowerShell-Skript, das Windows-DNS-Verkehr über pktmon überwacht, um Poisoning, Spoofing, Antworten von rogue Resolvern und Gateway-MAC-Änderungen zu erkennen und Warnungen zu protokollieren.

Repository anzeigen
3vor 11 TagenNoch nicht geprüft
Teilen

DNS Watchdog (Windows)

Ein Single-File-PowerShell-Skript, das den eigenen Netzwerkverkehr einer Windows-Maschine auf Anzeichen von DNS-Poisoning / Spoofing überwacht – mithilfe von pktmon, dem in Windows 10 (1809+), Windows 11 und Windows Server 2019+ integrierten Paket-Capture-Tool. Es wird kein Drittanbieter-Capture-Tool (Wireshark, Npcap, tcpdump) benötigt.

Es erfasst DNS-Verkehr (UDP/TCP Port 53) am Netzwerk-Stack des Betriebssystems, was sowohl LAN- als auch WAN-Verkehr auf einer typischen Maschine abdeckt, und parst anschließend die Rohpakete selbst – pcapng-Binärformat, Ethernet/IP/UDP/TCP-Header und das DNS-Nachrichtenformat, einschließlich Name-Compression-Pointern – vollständig in nativem PowerShell.

Eine begleitende bash/tcpdump-Version deckt macOS und Linux ab.

Was es erkennt

SignalWarum es wichtig ist
Widersprüchliche Antworten auf dieselbe DNS-AnfrageDie textbook-Signatur eines Poisoning-Versuchs: Ein Angreifer lässt eine gefälschte Antwort gegen die echte antreten, in der Hoffnung, dass die gefälschte Antwort zuerst eintrifft und gecacht wird.
Antworten von einem DNS-Server, den Sie nie konfiguriert habenAbgeglichen mit Get-DnsClientServerAddress. Eine Antwort von einem unbekannten Server kann auf einen Off-Path-Angreifer hindeuten, der Antworten injiziert.
Antworten ohne passende ausstehende AnfrageEine Antwort auf eine Frage, die der Monitor nie gestellt sah – ein mögliches Anzeichen für injizierten/gefälschten Verkehr (mit einer Start-Grace-Period zur Vermeidung von False Positives).
Änderungen der MAC-Adresse des Standard-Gateways während der SitzungWird über Get-NetNeighbor in jedem Capture-Zyklus abgefragt. ARP-Spoofing ist üblicherweise der erste Schritt von Angreifern, um sich für DNS-Manipulation im LAN zu positionieren.

Jeder Alarm gibt zwei Teile aus:

  • [TECHNICAL] – Rohpaket-Details für alle, die weiter untersuchen möchten
  • [WHAT THIS MEANS] – eine Erklärung in einfacher Sprache, warum es wichtig ist

Alle Ausgaben werden zusätzlich in eine zeitgestempelte Logdatei geschrieben.

Voraussetzungen

  • Windows 10 (1809+), Windows 11 oder Windows Server 2019+, mit verfügbarem pktmon.exe (in allen diesen Versionen enthalten)
  • Ein einigermaßen aktueller Build – pktmon pcapng (wird zur Konvertierung von Captures für die Analyse verwendet) wurde nach dem ursprünglichen 1809-Release hinzugefügt; falls es fehlt, Windows aktualisieren
  • PowerShell, ausgeführt als Administrator (Paket-Capture erfordert dies)

Installation

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

Keine Module oder externen Abhängigkeiten zu installieren – nur das Skript selbst.

Verwendung

Aus einer erhöhten (Administrator) PowerShell:

.\dns_watchdog.ps1

Standardmäßig erkennt das Skript automatisch Ihr Standard-Gateway und Ihre konfigurierten DNS-Server und erfasst über alle Netzwerkadapter (pktmon arbeitet am Netzwerk-Stack des Betriebssystems, sodass dies auf natürliche Weise sowohl LAN- als auch WAN-Verkehr abdeckt, ohne einen bestimmten Adapter auszuwählen). Beenden Sie die Überwachung mit Ctrl+C; beim Beenden wird eine Sitzungszusammenfassung ausgegeben.

Parameter

.\dns_watchdog.ps1 [-LogFile <path>] [-CaptureIntervalSeconds <n>] [-GraceResponses <n>] [-KeepCaptures]
ParameterBeschreibung
-LogFilePfad zum Sitzungslog (Standard: .\dns_watchdog_<timestamp>.log)
-CaptureIntervalSecondsLänge jedes Capture-Fensters, bevor es konvertiert und analysiert wird. Niedriger = geringere Erkennungslatenz, mehr Overhead. Standard: 5
-GraceResponsesAnzahl der Antworten, die beobachtet werden, bevor „keine passende Anfrage"-Alarme aktiviert werden, um Startrauschen zu vermeiden. Standard: 10
-KeepCapturesDie .etl/.pcapng-Dateien jedes Fensters auf der Festplatte behalten, anstatt sie nach der Analyse zu löschen

Beispielsitzung

=========================================================================
 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.

Wie es funktioniert

Windows hat kein direktes Analogon zum Weiterleiten von tcpdump an einen Textparser – die Live-Konsolenausgabe von pktmon besteht aus Rohbytes, nicht aus dekodierten Zeilen. Daher geht dieses Skript stattdessen wie folgt vor:

  1. Es führt pktmon in kurzen rotierenden Fenstern aus (standardmäßig 5 Sekunden) und erfasst in .etl
  2. Es konvertiert jedes Fenster in .pcapng (pktmon pcapng)
  3. Es parst das pcapng-Binärformat direkt – liest Enhanced Packet Blocks und durchläuft dann die IP → UDP/TCP → DNS-Nachrichten-Header jedes Frames, einschließlich der Dekodierung von DNS-Name-Compression-Pointern – ohne externe Bibliotheken
  4. Es verfolgt DNS-Transaktions-IDs über Capture-Fenster hinweg mithilfe nativer PowerShell-Hashtables, die für die Lebensdauer des Prozesses bestehen bleiben, und markiert Konflikte und Anomalien, sobald sie auftreten
  5. Es fragt zusätzlich in jedem Zyklus den ARP-Eintrag des Gateways ab, um MAC-Adressänderungen zu erkennen

Eine erwähnenswerte Eigenheit: Windows erfasst häufig lokal generierte (ausgehende) Pakete bevor der Ethernet-Header an einigen Stack-Checkpoints hinzugefügt wird, sodass ausgehende DNS-Anfragen als reine IP-Pakete ohne jegliches Link-Layer-Framing ankommen können, während eingehende Antworten vollständig Ethernet-gerahmt von der Leitung kommen. Der Parser erkennt und behandelt beides. pktmon neigt außerdem dazu, dasselbe physische Paket mehr als einmal zu melden (an mehreren Punkten im Netzwerk-Stack erfasst); das Skript dedupliziert byte-identische Wiederholungen innerhalb jedes Capture-Fensters, damit ein echtes Paket nicht mehrfach alarmiert wird – eine tatsächlich widersprüchliche/vergiftete Antwort hat anderen Inhalt und ist von dieser Deduplizierung nie betroffen.

Einschränkungen

Tool herunterladen