123/udp - Pentesting NTP

Reading time: 7 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Osnovne informacije

Network Time Protocol (NTP) osigurava da računari i mrežni uređaji širom mreža sa promenljivom latencijom tačno sinhronizuju svoje satove. To je od vitalnog značaja za održavanje preciznog merenja vremena u IT operacijama, bezbednosti i logovanju. Pošto se vreme koristi u gotovo svakoj autentifikaciji, kripto-protokolu i forenzičkom procesu, napadač koji može da utiče na NTP često može da zaobiđe bezbednosne kontrole ili oteža istraživanje napada.

Sažetak i saveti za bezbednost

  • Svrha: Sinhronizuje satove uređaja preko mreža.
  • Značaj: Kritično za bezbednost, logovanje, kripto-protokole i distribuirane sisteme.
  • Bezbednosne mere:
  • Koristite pouzdane NTP ili NTS (Network Time Security) izvore sa autentifikacijom.
  • Ograničite ko može da upita/naredi demon (restrict default noquery, kod itd.).
  • Onemogućite nasleđene Mode-6/7 kontrolne upite (monlist, ntpdc) ili ih ograničite po brzini.
  • Pratite pomeranje sinhronizacije/stanje skakanja sekundi za manipulaciju.
  • Održavajte demona ažuriranim (vidite nedavne CVE-ove ispod).

Podrazumevani portovi

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

Enumeracija

Klasični 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 (u većini modernih Linux distribucija)

Samo mali broj komandi za nadgledanje se prihvata sa udaljenih IP adresa kada je cmdallow omogućen:

bash
chronyc -a -n tracking   -h <IP>
chronyc -a -n sources -v -h <IP>
chronyc -a -n sourcestats -h <IP>

Pogledajte stranicu sa uputstvima za chronyc za značenje M/S oznaka i drugih polja (stratum, reach, jitter, itd.).

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>

Masovno/Internet skeniranje

bash
# Check if MONLIST is enabled (zgrab2 module)
zgrab2 ntp --monlist --timeout 3 --output-file monlist.json -f "zmap_results.csv"

Istražite konfiguracione datoteke

  • /etc/ntp.conf (ntpd)
  • /etc/chrony/chrony.conf (chrony)
  • /etc/systemd/timesyncd.conf (timesyncd – samo klijent)

Obratite posebnu pažnju na restrict linije, kod (Kiss-o'-Death) podešavanja, disable monitor/includefile /etc/ntp/crypto i da li je NTS omogućen (nts enable).


Nedavne ranjivosti (2023-2025)

GodinaCVEKomponentaUticaj
2023CVE-2023-26551→26555ntp 4.2.8p15 (libntp mstolfp, praecis_parse)Više izlaznih pisanja koja se mogu dostići putem ntpq odgovora. Zakrpa u 4.2.8p16 🡒 nadogradite ili vratite ispravke.
2023CVE-2023-33192ntpd-rs (Rust implementacija)Neispravan NTS kolačić uzrokuje udaljeni DoS pre v0.3.3 – utiče na port 123 čak i kada je NTS onemogućen.
2024ažuriranja distribucijechrony 4.4 / 4.5 – nekoliko bezbednosnih poboljšanja i NTS-KE ispravki (npr. SUSE-RU-2024:2022)
2024Rekord DDoSCloudflare izveštava o 5.6 Tbps UDP refleksivnom napadu (NTP među korišćenim protokolima). Držite monitor i monlist onemogućenim na hostovima koji su izloženi internetu.

Eksploatacione kitove: Dokazi o konceptu za seriju 2023 ntpq OOB-pisanja su na GitHub-u (vidi Meinberg izveštaj) i mogu se iskoristiti za phishing na klijentskoj strani sysadmina.


Napredni napadi

1. NTP amplifikacija / refleksija

Nasleđeni Mode-7 monlist upit vraća do 600 adresa hostova i još uvek je prisutan na hiljadama internet hostova. Budući da je odgovor (428-468 bajtova/unos) ~ 200× veći od 8-bajtne zahteva, napadač može dostići trocifrene faktore amplifikacije. Mogućnosti ublažavanja:

  • Nadogradite na ntp 4.2.8p15+ i dodajte disable monitor.
  • Ograničite UDP/123 na ivici ili omogućite sessions-required na DDoS uređajima.
  • Omogućite BCP 38 filtriranje izlaza da blokirate lažno predstavljanje izvora.

Pogledajte članak Cloudflare-ovog centra za učenje za detaljno objašnjenje.

2. Napadi pomeranja vremena / kašnjenja (Khronos / Chronos istraživanje)

Čak i sa autentifikacijom, napadač na putu može tiho pomeriti klijentski sat tako što će odbaciti/odložiti pakete. IETF Khronos (ranije Chronos) nacrt predlaže upit raznovrsnom skupu servera u pozadini i proveru rezultata kako bi se otkrilo pomeranje > 𝚡 ms. Moderni chrony (4.4+) već implementira sličan filter za proveru (maxdistance / maxjitter).

3. Zloupotreba NTS i izloženost 4460/tcp

NTS premesta tešku kriptografiju na poseban TLS 1.3 kanal na 4460/tcp (ntske/1). Loše implementacije (vidi CVE-2023-33192) se ruše prilikom parsiranja kolačića ili dozvoljavaju slabe šifre. Pentesteri bi trebali:

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

Look for self-signed or expired certificates and weak cipher-suites (non-AEAD). Reference: RFC 8915 §4.


Hardening / Best-Current-Practice (BCP-233 / RFC 8633)

Operateri TREBA da:

  1. Koriste ≥ 4 nezavisna, raznolika vremenska izvora (javne grupe, GPS, PTP-bridževe) kako bi izbegli trovanje jednim izvorom.
  2. Omoguće kod i limited/nomodify ograničenja tako da zlonamerni klijenti dobijaju Kiss-o'-Death pakete sa ograničenjem brzine umesto punih odgovora.
  3. Prate dnevnike demona za panic događaje ili prilagođavanja koraka > 1000 s. (Potpisi napada prema RFC 8633 §5.3.)
  4. Razmotre leap-smear kako bi izbegli prekide zbog skoka sekundi, ali osiguraju da svi klijenti nizvodno koriste isti prozor za razmazivanje.
  5. Održavaju polling ≤24 h kako ne bi propustili oznake za skok sekundi.

Pogledajte RFC 8633 za sveobuhvatan kontrolni spisak.


Shodan / Censys Dorks

port:123 "ntpd"          # Version banner
udp port:123 monlist:true # Censys tag for vulnerable servers
port:4460 "ntske"         # NTS-KE

Korisni alati

AlatSvrhaPrimer
ntpwnScript-kiddie omotač za slanje monlist & peers upitapython ntpwn.py --monlist targets.txt
zgrab2 ntpMasovno skeniranje / JSON izlaz uključujući monlist zastavicuPogledajte komandu iznad
chronyd sa allowPokrenite rogue NTP server u pentest laboratorijichronyd -q 'server 127.127.1.0 iburst'
BetterCapUmetnite NTP pakete za MITM napad sa pomeranjem vremena na Wi-Fiset arp.spoof.targets <victim>; set ntp.time.delta 30s; arp.spoof on

HackTricks Automatske komande

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}

References

  • RFC 8915 – Sigurnost mrežnog vremena za protokol mrežnog vremena (port 4460)
  • RFC 8633 – Protokol mrežnog vremena BCP
  • Cloudflare DDoS izveštaj 2024 Q4 (5.6 Tbps)
  • Cloudflare NTP amplifikacioni napad članak
  • NTP 4.2.8p15 CVE serija 2023-04
  • NVD unosi CVE-2023-26551–55, CVE-2023-33192
  • SUSE chrony bezbednosna ažuriranja 2024 (chrony 4.5)
  • Khronos/Chronos nacrt (ublažavanje pomeranja vremena)
  • chronyc priručnik/primeri za daljinsko praćenje
  • zgrab2 ntp modul dokumentacija

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks