123/udp - Pentesting NTP
Reading time: 6 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Grundinformationen
Das Network Time Protocol (NTP) sorgt dafür, dass Computer und Netzwerkgeräte über Netzwerke mit variabler Latenz ihre Uhren genau synchronisieren. Es ist entscheidend für die Aufrechterhaltung einer präzisen Zeitmessung in IT-Betrieb, Sicherheit und Protokollierung. Da Zeit in nahezu jedem Authentifizierungs-, Krypto-Protokoll- und forensischen Prozess verwendet wird, kann ein Angreifer, der NTP beeinflussen kann, oft Sicherheitskontrollen umgehen oder Angriffe schwerer untersuchen.
Zusammenfassung & Sicherheitstipps
- Zweck: Synchronisiert die Uhren von Geräten über Netzwerke.
- Bedeutung: Kritisch für Sicherheit, Protokollierung, Krypto-Protokolle und verteilte Systeme.
- Sicherheitsmaßnahmen:
- Verwenden Sie vertrauenswürdige NTP- oder NTS (Network Time Security)-Quellen mit Authentifizierung.
- Beschränken Sie, wer den Daemon abfragen/befehlen kann (
restrict default noquery
,kod
usw.). - Deaktivieren Sie veraltete Mode-6/7-Steuerabfragen (
monlist
,ntpdc
) oder begrenzen Sie deren Rate. - Überwachen Sie die Synchronisationsdrift/Schaltsekundenstatus auf Manipulation.
- Halten Sie den Daemon aktualisiert (siehe die aktuellen CVEs unten).
Standardports
123/udp NTP (data + legacy control)
4460/tcp NTS-KE (RFC 8915) – TLS key-establishment for NTP
PORT STATE SERVICE REASON
123/udp open ntp udp-response
Aufzählung
Klassisches ntpd / ntpq / ntpdc
# Information & variables
ntpq -c rv <IP>
ntpq -c readvar <IP>
ntpq -c peers <IP>
ntpq -c associations <IP>
# Legacy mode-7 (often disabled >=4.2.8p9)
ntpdc -c monlist <IP>
ntpdc -c listpeers <IP>
ntpdc -c sysinfo <IP>
chrony / chronyc (in den meisten modernen Linux-Distributionen)
Nur eine Handvoll von Überwachungsbefehlen wird von entfernten IPs akzeptiert, wenn cmdallow
aktiviert ist:
chronyc -a -n tracking -h <IP>
chronyc -a -n sources -v -h <IP>
chronyc -a -n sourcestats -h <IP>
Siehe die chronyc-Man-Seite für die Bedeutung der M/S-Flags und anderer Felder (Stratum, Reach, Jitter usw.).
Nmap
# Safe discovery & vuln detection
nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 123 <IP>
# Explicit monlist check
nmap -sU -p123 --script ntp-monlist <IP>
Massen-/Internetscanning
# Check if MONLIST is enabled (zgrab2 module)
zgrab2 ntp --monlist --timeout 3 --output-file monlist.json -f "zmap_results.csv"
Konfigurationdateien überprüfen
/etc/ntp.conf
(ntpd)/etc/chrony/chrony.conf
(chrony)/etc/systemd/timesyncd.conf
(timesyncd – nur Client)
Achten Sie besonders auf die restrict
-Zeilen, kod
(Kiss-o'-Death)-Einstellungen, disable monitor
/includefile /etc/ntp/crypto
und ob NTS aktiviert ist (nts enable
).
Aktuelle Schwachstellen (2023-2025)
Jahr | CVE | Komponente | Auswirkung |
---|---|---|---|
2023 | CVE-2023-26551→26555 | ntp 4.2.8p15 (libntp mstolfp, praecis_parse) | Mehrere Out-of-Bounds-Schreibvorgänge, die über ntpq-Antworten erreichbar sind. Patch in 4.2.8p16 🡒 Upgrade oder Backport-Fixes. |
2023 | CVE-2023-33192 | ntpd-rs (Rust-Implementierung) | Fehlformatierte NTS-Cookies verursachen einen Remote-DoS vor v0.3.3 – betrifft Port 123, selbst wenn NTS deaktiviert ist. |
2024 | Distro-Updates | chrony 4.4 / 4.5 – mehrere Sicherheitsverbesserungen & NTS-KE-Fixes (z.B. SUSE-RU-2024:2022) | |
2024 | Rekord DDoS | Cloudflare berichtet über einen 5,6 Tbps UDP-Reflexionsangriff (NTP unter den verwendeten Protokollen). Halten Sie monitor & monlist auf internetexponierten Hosts deaktiviert. |
Exploit-Kits: Proof-of-Concept-Payloads für die 2023 ntpq OOB-Schreibserie sind auf GitHub (siehe Meinberg-Bericht) und können für Client-seitiges Phishing von Sysadmins verwendet werden.
Fortgeschrittene Angriffe
1. NTP-Verstärkung / Reflexion
Die Legacy Mode-7 monlist
-Abfrage gibt bis zu 600 Host-Adressen zurück und ist immer noch auf Tausenden von Internet-Hosts vorhanden. Da die Antwort (428-468 Bytes/Eingabe) ~ 200× größer ist als die 8-Byte-Anfrage, kann ein Angreifer dreistellige Verstärkungsfaktoren erreichen. Milderungsmaßnahmen:
- Upgrade auf ntp 4.2.8p15+ und hinzufügen von
disable monitor
. - Rate-Limit UDP/123 am Rand oder aktivieren Sie sessions-required auf DDoS-Geräten.
- Aktivieren Sie BCP 38 Egress-Filterung, um Quellspoofing zu blockieren.
Siehe den Artikel im Lernzentrum von Cloudflare für eine schrittweise Aufschlüsselung.
2. Zeitverschiebungs- / Verzögerungsangriffe (Khronos / Chronos-Forschung)
Selbst mit Authentifizierung kann ein Angreifer auf dem Pfad die Client-Uhr stillschweigend verschieben, indem er Pakete verwirft/verzögert. Der IETF Khronos (ehemals Chronos) Entwurf schlägt vor, im Hintergrund eine vielfältige Menge von Servern abzufragen und das Ergebnis zu überprüfen, um eine Verschiebung > 𝚡 ms zu erkennen. Modernes chrony (4.4+) implementiert bereits einen ähnlichen Sanity-Filter (maxdistance
/ maxjitter
).
3. NTS-Missbrauch & 4460/tcp-Exposition
NTS verlagert die schwere Kryptografie auf einen separaten TLS 1.3-Kanal auf 4460/tcp (ntske/1
). Schlechte Implementierungen (siehe CVE-2023-33192) stürzen beim Parsen von Cookies ab oder erlauben schwache Chiffren. Pentester sollten:
# TLS reconnaissance
nmap -sV -p 4460 --script ssl-enum-ciphers,ssl-cert <IP>
# Grab banner & ALPN
openssl s_client -connect <IP>:4460 -alpn ntske/1 -tls1_3 -ign_eof
Suche nach selbstsignierten oder abgelaufenen Zertifikaten und schwachen Cipher-Suites (nicht-AEAD). Referenz: RFC 8915 §4.
Härtung / Beste Aktuelle Praxis (BCP-233 / RFC 8633)
Betreiber SOLLTEN:
- ≥ 4 unabhängige, vielfältige Zeitquellen (öffentliche Pools, GPS, PTP-Brücken) verwenden, um eine Einzelquellenvergiftung zu vermeiden.
kod
undlimited
/nomodify
-Einschränkungen aktivieren, damit missbräuchliche Clients Kiss-o'-Death-Rate-Limit-Pakete anstelle vollständiger Antworten erhalten.- Daemon-Protokolle auf panic-Ereignisse oder Schrittanpassungen > 1000 s überwachen. (Signaturen eines Angriffs gemäß RFC 8633 §5.3.)
- leap-smear in Betracht ziehen, um Ausfälle durch Schaltsekunden zu vermeiden, aber sicherstellen, dass alle nachgelagerten Clients dasselbe Smear-Fenster verwenden.
- Polling auf ≤24 h halten, damit Schaltsekunden-Flags nicht verpasst werden.
Siehe RFC 8633 für eine umfassende Checkliste.
Shodan / Censys Dorks
port:123 "ntpd" # Version banner
udp port:123 monlist:true # Censys tag for vulnerable servers
port:4460 "ntske" # NTS-KE
Nützliche Werkzeuge
Werkzeug | Zweck | Beispiel |
---|---|---|
ntpwn | Script-kiddie Wrapper zum Sprühen von monlist- & peers-Abfragen | python ntpwn.py --monlist targets.txt |
zgrab2 ntp | Massen-Scanning / JSON-Ausgabe einschließlich monlist-Flag | Siehe Befehl oben |
chronyd mit allow | Führen Sie einen bösartigen NTP-Server im Pentest-Labor aus | chronyd -q 'server 127.127.1.0 iburst' |
BetterCap | Injektion von NTP-Paketen für Zeitverschiebungs-MITM über Wi-Fi | set arp.spoof.targets <victim>; set ntp.time.delta 30s; arp.spoof on |
HackTricks Automatische Befehle
Protocol_Name: NTP
Port_Number: 123
Protocol_Description: Network Time Protocol
Entry_1:
Name: Notes
Description: Notes for NTP
Note: |
The Network Time Protocol (NTP) ensures computers and network devices across variable-latency networks sync their clocks accurately. It's vital for maintaining precise timekeeping in IT operations, security, and logging. NTP's accuracy is essential, but it also poses security risks if not properly managed.
https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-ntp.html
Entry_2:
Name: Nmap
Description: Enumerate NTP
Command: nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 123 {IP}
Referenzen
- RFC 8915 – Netzwerkzeit-Sicherheit für das Network Time Protocol (Port 4460)
- RFC 8633 – Network Time Protocol BCP
- Cloudflare DDoS-Bericht 2024 Q4 (5,6 Tbps)
- Cloudflare NTP Amplification Attack Artikel
- NTP 4.2.8p15 CVE-Serie 2023-04
- NVD-Einträge CVE-2023-26551–55, CVE-2023-33192
- SUSE chrony Sicherheitsupdate 2024 (chrony 4.5)
- Khronos/Chronos Entwurf (Zeitverschiebungs-Minderung)
- chronyc Handbuch/Beispiele für die Fernüberwachung
- zgrab2 ntp Modul-Dokumentation {{#include /banners/hacktricks-training.md}}