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

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

bash
# 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:

bash
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

bash
# 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>

Μαζική/Διαδικτυακή σάρωση

bash
# 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ΣυστατικόΕπιπτώσεις
2023CVE-2023-26551→26555ntp 4.2.8p15 (libntp mstolfp, praecis_parse)Πολλαπλές εγγραφές εκτός ορίων προσβάσιμες μέσω απαντήσεων ntpq. Διορθώστε στην 4.2.8p16 🡒 αναβάθμιση ή επιστροφή διορθώσεων.
2023CVE-2023-33192ntpd-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 θα πρέπει:

bash
# 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)

Οι χειριστές ΠΡΕΠΕΙ:

  1. Να χρησιμοποιούν ≥ 4 ανεξάρτητες, ποικιλόμορφες πηγές χρόνου (δημόσιες πισίνες, GPS, PTP-γέφυρες) για να αποφευχθεί η δηλητηρίαση από μία μόνο πηγή.
  2. Να ενεργοποιούν τους περιορισμούς kod και limited/nomodify ώστε οι κακόβουλοι πελάτες να λαμβάνουν πακέτα περιορισμού Kiss-o'-Death αντί για πλήρεις απαντήσεις.
  3. Να παρακολουθούν τα αρχεία καταγραφής του δαίμονα για γεγονότα panic ή ρυθμίσεις βημάτων > 1000 s. (Υπογραφές επίθεσης σύμφωνα με το RFC 8633 §5.3.)
  4. Να εξετάσουν το leap-smear για να αποφευχθούν οι διακοπές δευτερολέπτων, αλλά να διασφαλίσουν ότι όλοι οι downstream πελάτες χρησιμοποιούν το ίδιο παράθυρο smear.
  5. Να διατηρούν την αναζήτηση ≤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

Χρήσιμα Εργαλεία

ΕργαλείοΣκοπόςΠαράδειγμα
ntpwnScript-kiddie wrapper για να ψεκάσει monlist & peers queriespython ntpwn.py --monlist targets.txt
zgrab2 ntpΜαζική σάρωση / JSON έξοδος συμπεριλαμβανομένης της σημαίας monlistΔείτε την παραπάνω εντολή
chronyd με allowΕκτέλεση κακόβουλου NTP server σε περιβάλλον pentestchronyd -q 'server 127.127.1.0 iburst'
BetterCapΕισαγωγή NTP πακέτων για MITM με μετατόπιση χρόνου σε Wi-Fiset 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