From b85dbb56868b4b16de8ed4f98e959e0a4b52e773 Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 10 Jul 2025 09:32:42 +0000 Subject: [PATCH] Translated ['src/network-services-pentesting/pentesting-ntp.md'] to el --- .../pentesting-ntp.md | 170 ++++++++++++++---- 1 file changed, 139 insertions(+), 31 deletions(-) diff --git a/src/network-services-pentesting/pentesting-ntp.md b/src/network-services-pentesting/pentesting-ntp.md index f63d3b44a..29f2443ac 100644 --- a/src/network-services-pentesting/pentesting-ntp.md +++ b/src/network-services-pentesting/pentesting-ntp.md @@ -4,59 +4,154 @@ ## Basic Information -Το **Network Time Protocol (NTP)** διασφαλίζει ότι οι υπολογιστές και οι δικτυακές συσκευές σε δίκτυα με μεταβλητή καθυστέρηση συγχρονίζουν τις ρολόγια τους με ακρίβεια. Είναι ζωτικής σημασίας για τη διατήρηση ακριβούς χρονομέτρησης στις λειτουργίες IT, την ασφάλεια και την καταγραφή. Η ακρίβεια του NTP είναι ουσιώδης, αλλά ενέχει επίσης κινδύνους ασφαλείας αν δεν διαχειριστεί σωστά. +Το **Network Time Protocol (NTP)** διασφαλίζει ότι οι υπολογιστές και οι δικτυακές συσκευές σε δίκτυα με μεταβλητή καθυστέρηση συγχρονίζουν τις ρολόγια τους με ακρίβεια. Είναι ζωτικής σημασίας για τη διατήρηση ακριβούς χρονομέτρησης σε λειτουργίες IT, ασφάλεια και καταγραφή. Επειδή ο χρόνος χρησιμοποιείται σχεδόν σε κάθε διαδικασία αυθεντικοποίησης, κρυπτογραφικού πρωτοκόλλου και εγκληματολογικής διαδικασίας, **ένας επιτιθέμενος που μπορεί να επηρεάσει το NTP μπορεί συχνά να παρακάμψει τους ελέγχους ασφαλείας ή να δυσκολέψει την έρευνα επιθέσεων.** -### Summary & Security Tips: +### Summary & Security Tips -- **Purpose**: Syncs device clocks over networks. -- **Importance**: Critical for security, logging, and operations. +- **Purpose**: Συγχρονίζει τις ρολόγια των συσκευών μέσω δικτύων. +- **Importance**: Κρίσιμο για την ασφάλεια, την καταγραφή, τα κρυπτογραφικά πρωτόκολλα και τα κατανεμημένα συστήματα. - **Security Measures**: -- Use trusted NTP sources with authentication. -- Limit NTP server network access. -- Monitor synchronization for signs of tampering. +- Χρησιμοποιήστε αξιόπιστες πηγές 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 +``` -**Default port:** 123/udp ``` PORT STATE SERVICE REASON 123/udp open ntp udp-response ``` -## Καταμέτρηση -```bash -ntpq -c readlist -ntpq -c readvar -ntpq -c peers -ntpq -c associations -ntpdc -c monlist -ntpdc -c listpeers -ntpdc -c sysinfo -``` +--- +## Enumeration +### Classic ntpd / ntpq / ntpdc ```bash -nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 123 +# Information & variables +ntpq -c rv +ntpq -c readvar +ntpq -c peers +ntpq -c associations + +# Legacy mode-7 (often disabled >=4.2.8p9) +ntpdc -c monlist +ntpdc -c listpeers +ntpdc -c sysinfo ``` +### chrony / chronyc (σε τις περισσότερες σύγχρονες διανομές Linux) + +Μόνο μια χούφτα εντολών παρακολούθησης γίνονται αποδεκτές από απομακρυσμένες διευθύνσεις IP όταν είναι ενεργοποιημένο το ``cmdallow``: +```bash +chronyc -a -n tracking -h +chronyc -a -n sources -v -h +chronyc -a -n sourcestats -h +``` +Δείτε τη σελίδα 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 + +# Explicit monlist check +nmap -sU -p123 --script ntp-monlist +``` +### Μαζική/Διαδικτυακή σάρωση +```bash +# Check if MONLIST is enabled (zgrab2 module) +zgrab2 ntp --monlist --timeout 3 --output-file monlist.json -f "zmap_results.csv" +``` +--- ## Εξέταση αρχείων ρυθμίσεων -- ntp.conf +- ``/etc/ntp.conf`` (ntpd) +- ``/etc/chrony/chrony.conf`` (chrony) +- ``/etc/systemd/timesyncd.conf`` (timesyncd – μόνο πελάτης) -## Επίθεση Ενίσχυσης NTP +Δώστε ιδιαίτερη προσοχή στις γραμμές ``restrict``, ρυθμίσεις ``kod`` (Kiss-o'-Death), ``disable monitor``/``includefile /etc/ntp/crypto`` και αν είναι ενεργοποιημένο το *NTS* (``nts enable``). -[**Πώς Λειτουργεί η Επίθεση DDoS NTP**](https://resources.infosecinstitute.com/network-time-protocol-ntp-threats-countermeasures/#gref) +--- +## Πρόσφατες Ευπάθειες (2023-2025) -Το **πρωτόκολλο NTP**, χρησιμοποιώντας UDP, επιτρέπει τη λειτουργία χωρίς την ανάγκη διαδικασιών χειραψίας, σε αντίθεση με το TCP. Αυτή η χαρακτηριστική εκμεταλλεύεται σε **επιθέσεις ενίσχυσης DDoS NTP**. Εδώ, οι επιτιθέμενοι δημιουργούν πακέτα με ψεύτικη διεύθυνση IP προέλευσης, κάνοντάς το να φαίνεται ότι τα αιτήματα επίθεσης προέρχονται από το θύμα. Αυτά τα πακέτα, αρχικά μικρά, προκαλούν τον διακομιστή NTP να απαντήσει με πολύ μεγαλύτερους όγκους δεδομένων, ενισχύοντας την επίθεση. +| Έτος | CVE | Συστατικό | Επιπτώσεις | +|------|-----|-----------|--------| +| 2023 | **CVE-2023-26551→26555** | ntp 4.2.8p15 (libntp *mstolfp*, *praecis_parse*) | Πολλαπλές εγγραφές εκτός ορίων προσβάσιμες μέσω απαντήσεων **ntpq**. Διορθωτικό σε **4.2.8p16** 🡒 αναβάθμιση ή επιστροφή διορθώσεων. citeturn1search1turn1search2turn1search0| +| 2023 | **CVE-2023-33192** | **ntpd-rs** (υλοποίηση Rust) | Κακώς διαμορφωμένο cookie **NTS** προκαλεί απομακρυσμένο **DoS** πριν από την v0.3.3 – επηρεάζει την θύρα 123 ακόμη και όταν το NTS είναι **απενεργοποιημένο**. citeturn4view0| +| 2024 | ενημερώσεις διανομής | **chrony 4.4 / 4.5** – αρκετές διορθώσεις ασφάλειας & NTS-KE (π.χ. SUSE-RU-2024:2022) citeturn2search2| +| 2024 | Καταγραφή DDoS | Η Cloudflare αναφέρει μια **5.6 Tbps UDP reflection** επίθεση (NTP μεταξύ των πρωτοκόλλων που χρησιμοποιούνται). Κρατήστε το *monitor* & *monlist* απενεργοποιημένα σε διακομιστές που είναι εκτεθειμένοι στο Διαδίκτυο. citeturn5search0| -Η _**εντολή MONLIST**_, παρά τη σπάνια χρήση της, μπορεί να αναφέρει τους τελευταίους 600 πελάτες που συνδέθηκαν στην υπηρεσία NTP. Ενώ η εντολή αυτή είναι απλή, η κακή χρήση της σε τέτοιες επιθέσεις αναδεικνύει κρίσιμες ευπάθειες ασφαλείας. +> **Εκμεταλλεύσεις**: Proof-of-concept payloads για τη σειρά OOB-write του ntpq το 2023 είναι διαθέσιμα στο GitHub (βλ. αναφορά Meinberg) και μπορούν να χρησιμοποιηθούν για phishing από την πλευρά του πελάτη σε διαχειριστές συστημάτων. citeturn1search4 + +--- +## Προχωρημένες Επιθέσεις + +### 1. Ενίσχυση / Αντανάκλαση NTP + +Το legacy Mode-7 ``monlist`` query επιστρέφει έως **600 διευθύνσεις host** και είναι ακόμα παρόν σε χιλιάδες διακομιστές στο Διαδίκτυο. Επειδή η απάντηση (428-468 bytes/καταχώρηση) είναι *~ 200×* μεγαλύτερη από το αίτημα 8 bytes, ένας επιτιθέμενος μπορεί να φτάσει σε παράγοντες ενίσχυσης τριών ψηφίων. Μετριασμοί: + +- Αναβάθμιση σε ntp 4.2.8p15+ και **προσθήκη** ``disable monitor``. +- Περιορισμός ρυθμού UDP/123 στην άκρη ή ενεργοποίηση *sessions-required* σε συσκευές DDoS. +- Ενεργοποίηση *BCP 38* φιλτραρίσματος εξόδου για να αποκλειστεί η παραποίηση πηγής. + +Δείτε το άρθρο του κέντρου μάθησης της Cloudflare για μια αναλυτική περιγραφή. citeturn5search1 + +### 2. Επιθέσεις Χρονικής Μετατόπισης / Καθυστέρησης (έρευνα Khronos / Chronos) + +Ακόμα και με αυθεντικοποίηση, ένας επιτιθέμενος σε διαδρομή μπορεί σιωπηλά να **μετατοπίσει το ρολόι του πελάτη** ρίχνοντας/καθυστερώντας πακέτα. Το σχέδιο **Khronos (πρώην Chronos)** της IETF προτείνει την ερώτηση μιας ποικιλίας διακομιστών στο παρασκήνιο και την επαλήθευση του αποτελέσματος για να ανιχνευθεί μια μετατόπιση > 𝚡 ms. Ο σύγχρονος chrony (4.4+) ήδη εφαρμόζει ένα παρόμοιο φίλτρο επαλήθευσης (``maxdistance`` / ``maxjitter``). citeturn9search1 + +### 3. Κατάχρηση NTS & έκθεση 4460/tcp + +Το NTS μεταφέρει την βαριά κρυπτογράφηση σε ένα ξεχωριστό **TLS 1.3 κανάλι στο 4460/tcp** (``ntske/1``). Κακές υλοποιήσεις (βλ. CVE-2023-33192) καταρρέουν κατά την ανάλυση cookies ή επιτρέπουν αδύναμους κρυπτογραφικούς αλγόριθμους. Οι pentesters θα πρέπει: ```bash -ntpdc -n -c monlist +# TLS reconnaissance +nmap -sV -p 4460 --script ssl-enum-ciphers,ssl-cert + +# Grab banner & ALPN +openssl s_client -connect :4460 -alpn ntske/1 -tls1_3 -ign_eof ``` -## Shodan +Αναζητήστε αυτο-υπογεγραμμένα ή ληγμένα πιστοποιητικά και αδύναμες κρυπτογραφικές σουίτες (μη-AEAD). Αναφορά: RFC 8915 §4. citeturn11search0 -- `ntp` +--- +## Σκληροποίηση / Καλύτερη-Τρέχουσα-Πρακτική (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 για μια ολοκληρωμένη λίστα ελέγχου. citeturn8search0turn8search1 + +--- +## Shodan / Censys Dorks +``` +port:123 "ntpd" # Version banner +udp port:123 monlist:true # Censys tag for vulnerable servers +port:4460 "ntske" # NTS-KE +``` +--- +## Χρήσιμα Εργαλεία + +| Εργαλείο | Σκοπός | Παράδειγμα | +|------|---------|---------| +| ``ntpwn`` | Wrapper για script-kiddie για να ψεκάσει ερωτήσεις monlist & peers | ``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 ; set ntp.time.delta 30s; arp.spoof on`` | + +--- ## HackTricks Αυτόματες Εντολές ``` -Protocol_Name: NTP #Protocol Abbreviation if there is one. -Port_Number: 123 #Comma separated if there is more than one. -Protocol_Description: Network Time Protocol #Protocol Abbreviation Spelled out +Protocol_Name: NTP +Port_Number: 123 +Protocol_Description: Network Time Protocol Entry_1: Name: Notes @@ -71,4 +166,17 @@ Name: Nmap Description: Enumerate NTP Command: nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 123 {IP} ``` -{{#include ../banners/hacktricks-training.md}} +--- +## Αναφορές + +- RFC 8915 – *Network Time Security for the Network Time Protocol* (port 4460) citeturn11search0 +- RFC 8633 – *Network Time Protocol BCP* citeturn8search0 +- Cloudflare DDoS report 2024 Q4 (5.6 Tbps) citeturn5search0 +- Cloudflare *NTP Amplification Attack* article citeturn5search1 +- NTP 4.2.8p15 CVE series 2023-04 citeturn1search4 +- NVD entries **CVE-2023-26551–55**, **CVE-2023-33192** citeturn1search1turn1search2turn1search0turn4view0 +- SUSE chrony security update 2024 (chrony 4.5) citeturn2search2 +- Khronos/Chronos draft (time-shift mitigation) citeturn9search1 +- chronyc manual/examples for remote monitoring citeturn3search0turn10search1 +- zgrab2 ntp module docs citeturn7search0 +{{#include /banners/hacktricks-training.md}}