123/udp - Pentesting NTP
Reading time: 7 minutes
tip
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Basic Information
Το Network Time Protocol (NTP) διασφαλίζει ότι οι υπολογιστές και οι δικτυακές συσκευές σε δίκτυα με μεταβλητή καθυστέρηση συγχρονίζουν τις ρολόγια τους με ακρίβεια. Είναι ζωτικής σημασίας για τη διατήρηση ακριβούς χρονομέτρησης σε λειτουργίες IT, ασφάλεια και καταγραφή. Επειδή ο χρόνος χρησιμοποιείται σχεδόν σε κάθε διαδικασία αυθεντικοποίησης, κρυπτογραφικού πρωτοκόλλου και εγκληματολογικής διαδικασίας, ένας επιτιθέμενος που μπορεί να επηρεάσει το NTP μπορεί συχνά να παρακάμψει τους ελέγχους ασφαλείας ή να δυσκολέψει την έρευνα επιθέσεων.
Summary & Security Tips
- Purpose: Συγχρονίζει τις ρολόγια των συσκευών μέσω δικτύων.
- Importance: Κρίσιμο για την ασφάλεια, την καταγραφή, τα κρυπτογραφικά πρωτόκολλα και τα κατανεμημένα συστήματα.
- Security Measures:
- Χρησιμοποιήστε αξιόπιστες πηγές NTP ή NTS (Network Time Security) με αυθεντικοποίηση.
- Περιορίστε ποιος μπορεί να ερωτήσει/εντολή τον δαίμονα (
restrict default noquery
,kod
κ.λπ.). - Απενεργοποιήστε τις κλησεις ελέγχου Legacy Mode-6/7 (
monlist
,ntpdc
) ή περιορίστε τις. - Παρακολουθήστε την απόκλιση συγχρονισμού/κατάσταση leap-second για παραβίαση.
- Διατηρήστε τον δαίμονα ενημερωμένο (δείτε τα πρόσφατα CVEs παρακάτω).
Default ports
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
Enumeration
Classic 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 (σε τις περισσότερες σύγχρονες διανομές Linux)
Μόνο μια χούφτα εντολών παρακολούθησης γίνονται αποδεκτές από απομακρυσμένες διευθύνσεις IP όταν είναι ενεργοποιημένο το cmdallow
:
chronyc -a -n tracking -h <IP>
chronyc -a -n sources -v -h <IP>
chronyc -a -n sourcestats -h <IP>
Δείτε τη σελίδα man του chronyc για τη σημασία των σημαιών M/S και άλλων πεδίων (stratum, reach, jitter, κ.λπ.).
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>
Μαζική/Διαδικτυακή σάρωση
# Check if MONLIST is enabled (zgrab2 module)
zgrab2 ntp --monlist --timeout 3 --output-file monlist.json -f "zmap_results.csv"
Εξέταση αρχείων διαμόρφωσης
/etc/ntp.conf
(ntpd)/etc/chrony/chrony.conf
(chrony)/etc/systemd/timesyncd.conf
(timesyncd – μόνο πελάτης)
Δώστε ιδιαίτερη προσοχή στις γραμμές restrict
, ρυθμίσεις kod
(Kiss-o'-Death), disable monitor
/includefile /etc/ntp/crypto
και αν είναι ενεργοποιημένο το NTS (nts enable
).
Πρόσφατες Ευπάθειες (2023-2025)
Έτος | CVE | Συστατικό | Επιπτώσεις |
---|---|---|---|
2023 | CVE-2023-26551→26555 | ntp 4.2.8p15 (libntp mstolfp, praecis_parse) | Πολλαπλές εγγραφές εκτός ορίων προσβάσιμες μέσω απαντήσεων ntpq. Διορθώστε στην 4.2.8p16 🡒 αναβάθμιση ή επιστροφή διορθώσεων. |
2023 | CVE-2023-33192 | ntpd-rs (υλοποίηση Rust) | Κακώς διαμορφωμένο cookie NTS προκαλεί απομακρυσμένο DoS πριν από την v0.3.3 – επηρεάζει την θύρα 123 ακόμη και όταν το NTS είναι απενεργοποιημένο. |
2024 | ενημερώσεις διανομής | chrony 4.4 / 4.5 – αρκετές διορθώσεις ασφάλειας & NTS-KE (π.χ. SUSE-RU-2024:2022) | |
2024 | Εγγραφή DDoS | Η Cloudflare αναφέρει μια 5.6 Tbps UDP reflection επίθεση (NTP μεταξύ των πρωτοκόλλων που χρησιμοποιούνται). Κρατήστε το monitor & monlist απενεργοποιημένα σε διακομιστές που είναι εκτεθειμένοι στο Διαδίκτυο. |
Εκμεταλλεύσεις: Αποδεικτικά φορτία για τη σειρά OOB-write του ntpq 2023 είναι διαθέσιμα στο GitHub (βλ. αναφορά Meinberg) και μπορούν να χρησιμοποιηθούν για phishing από την πλευρά του πελάτη σε διαχειριστές συστημάτων.
Προχωρημένες Επιθέσεις
1. Ενίσχυση NTP / Αντανάκλαση
Το legacy Mode-7 monlist
ερώτημα επιστρέφει έως 600 διευθύνσεις φιλοξενουμένων και είναι ακόμα παρόν σε χιλιάδες διακομιστές στο Διαδίκτυο. Επειδή η απάντηση (428-468 bytes/καταχώρηση) είναι ~ 200× μεγαλύτερη από το αίτημα 8 bytes, ένας επιτιθέμενος μπορεί να φτάσει σε παράγοντες ενίσχυσης τριών ψηφίων. Μετριασμοί:
- Αναβαθμίστε σε ntp 4.2.8p15+ και προσθέστε
disable monitor
. - Περιορίστε την ταχύτητα UDP/123 στην άκρη ή ενεργοποιήστε sessions-required σε συσκευές DDoS.
- Ενεργοποιήστε το BCP 38 φιλτράρισμα εξόδου για να αποκλείσετε την παραποίηση πηγής.
Δείτε το άρθρο του κέντρου μάθησης της Cloudflare για μια αναλυτική περιγραφή.
2. Επιθέσεις Χρονικής Μετατόπισης / Καθυστέρησης (έρευνα Khronos / Chronos)
Ακόμα και με αυθεντικοποίηση, ένας επιτιθέμενος εντός της διαδρομής μπορεί σιωπηλά να μετατοπίσει το ρολόι του πελάτη ρίχνοντας/καθυστερώντας πακέτα. Το σχέδιο Khronos (πρώην Chronos) της IETF προτείνει την ερώτηση ενός ποικιλόμορφου συνόλου διακομιστών στο παρασκήνιο και την επαλήθευση του αποτελέσματος για να ανιχνεύσει μια μετατόπιση > 𝚡 ms. Ο σύγχρονος chrony (4.4+) ήδη εφαρμόζει ένα παρόμοιο φίλτρο εγκυρότητας (maxdistance
/ maxjitter
).
3. Κατάχρηση NTS & έκθεση 4460/tcp
Το NTS μεταφέρει την βαριά κρυπτογράφηση σε ένα ξεχωριστό κανάλι TLS 1.3 στην 4460/tcp (ntske/1
). Κακές υλοποιήσεις (βλ. CVE-2023-33192) καταρρέουν κατά την ανάλυση cookies ή επιτρέπουν αδύναμους κρυπτογραφικούς αλγόριθμους. Οι pentesters θα πρέπει:
# 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
Αναζητήστε αυτο-υπογεγραμμένα ή ληγμένα πιστοποιητικά και αδύναμες κρυπτογραφικές σουίτες (μη-AEAD). Αναφορά: RFC 8915 §4.
Σκληροποίηση / Καλύτερη-Τρέχουσα-Πρακτική (BCP-233 / RFC 8633)
Οι χειριστές ΠΡΕΠΕΙ:
- Να χρησιμοποιούν ≥ 4 ανεξάρτητες, ποικιλόμορφες πηγές χρόνου (δημόσιες πισίνες, GPS, PTP-γέφυρες) για να αποφευχθεί η δηλητηρίαση από μία μόνο πηγή.
- Να ενεργοποιούν τους περιορισμούς
kod
καιlimited
/nomodify
ώστε οι κακόβουλοι πελάτες να λαμβάνουν πακέτα περιορισμού Kiss-o'-Death αντί για πλήρεις απαντήσεις. - Να παρακολουθούν τα αρχεία καταγραφής του δαίμονα για γεγονότα panic ή ρυθμίσεις βημάτων > 1000 s. (Υπογραφές επίθεσης σύμφωνα με το RFC 8633 §5.3.)
- Να εξετάσουν το leap-smear για να αποφευχθούν οι διακοπές δευτερολέπτων, αλλά να διασφαλίσουν ότι όλοι οι downstream πελάτες χρησιμοποιούν το ίδιο παράθυρο smear.
- Να διατηρούν την αναζήτηση ≤24 h ώστε να μην χάνονται οι σημαίες δευτερολέπτων.
Δείτε το RFC 8633 για μια ολοκληρωμένη λίστα ελέγχου.
Shodan / Censys Dorks
port:123 "ntpd" # Version banner
udp port:123 monlist:true # Censys tag for vulnerable servers
port:4460 "ntske" # NTS-KE
Χρήσιμα Εργαλεία
Εργαλείο | Σκοπός | Παράδειγμα |
---|---|---|
ntpwn | Script-kiddie wrapper για να ψεκάσει monlist & peers queries | python ntpwn.py --monlist targets.txt |
zgrab2 ntp | Μαζική σάρωση / JSON έξοδος συμπεριλαμβανομένης της σημαίας monlist | Δείτε την παραπάνω εντολή |
chronyd με allow | Εκτέλεση κακόβουλου NTP server σε περιβάλλον pentest | chronyd -q 'server 127.127.1.0 iburst' |
BetterCap | Εισαγωγή NTP πακέτων για MITM με μετατόπιση χρόνου σε Wi-Fi | set arp.spoof.targets <victim>; set ntp.time.delta 30s; arp.spoof on |
HackTricks Αυτόματες Εντολές
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}
Αναφορές
- RFC 8915 – Ασφάλεια Χρόνου Δικτύου για το Πρωτόκολλο Χρόνου Δικτύου (θύρα 4460)
- RFC 8633 – Πρωτόκολλο Χρόνου Δικτύου BCP
- Αναφορά DDoS Cloudflare 2024 Q4 (5.6 Tbps)
- Άρθρο Cloudflare Επίθεση Ενίσχυσης NTP
- NTP 4.2.8p15 CVE σειρά 2023-04
- Εγγραφές NVD CVE-2023-26551–55, CVE-2023-33192
- Ενημέρωση ασφαλείας SUSE chrony 2024 (chrony 4.5)
- Σχέδιο Khronos/Chronos (μείωση μετατόπισης χρόνου)
- chronyc εγχειρίδιο/παραδείγματα για απομακρυσμένη παρακολούθηση
- zgrab2 ntp module docs
tip
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.