123/udp - Pentesting NTP

Reading time: 7 minutes

tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

Basiese Inligting

Die Network Time Protocol (NTP) verseker dat rekenaars en netwerktoestelle oor veranderlike-latensie netwerke hul horlosies akkuraat sinkroniseer. Dit is noodsaaklik vir die handhawing van presiese tydskeeping in IT-bedrywighede, sekuriteit en logging. Omdat tyd in byna elke outentikasie, kripto-protokol en forensiese proses gebruik word, kan 'n aanvaller wat NTP kan beïnvloed dikwels sekuriteitsbeheermaatreëls omseil of aanvalle moeiliker maak om te ondersoek.

Samevatting & Sekuriteitswenke

  • Doel: Sinkroniseer toestelhorlosies oor netwerke.
  • Belangrikheid: Krities vir sekuriteit, logging, kripto-protokolle en verspreide stelsels.
  • Sekuriteitsmaatreëls:
  • Gebruik vertroude NTP of NTS (Network Time Security) bronne met outentikasie.
  • Beperk wie die daemon kan vra/beveel (restrict default noquery, kod ens.).
  • Deaktiveer erflating Mode-6/7 kontrole vrae (monlist, ntpdc) of beperk hul tempo.
  • Monitor sinkronisasie-afwyking/leap-second toestand vir manipulasie.
  • Hou die daemon opgedateer (sien onlangse CVEs hieronder).

Standaard poorte

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

Opname

Klassieke 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 (in die meeste moderne Linux-distro's)

Slegs 'n handvol moniteringsopdragte word aanvaar vanaf afstand IP's wanneer cmdallow geaktiveer is:

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

Sien die chronyc man-bladsy vir die betekenis van die M/S vlae en ander velde (stratum, reach, jitter, ens.).

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>

Mass/Internet skandering

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

Ondersoek konfigurasie lêers

  • /etc/ntp.conf (ntpd)
  • /etc/chrony/chrony.conf (chrony)
  • /etc/systemd/timesyncd.conf (timesyncd – slegs kliënt)

Gee spesiale aandag aan restrict lyne, kod (Kiss-o'-Death) instellings, disable monitor/includefile /etc/ntp/crypto en of NTS geaktiveer is (nts enable).


Onlangse Kwetsbaarhede (2023-2025)

JaarCVEKomponentImpak
2023CVE-2023-26551→26555ntp 4.2.8p15 (libntp mstolfp, praecis_parse)Meervoudige out-of-bounds skrywe bereikbaar via ntpq antwoorde. Patch in 4.2.8p16 🡒 opgradeer of back-port regstellings.
2023CVE-2023-33192ntpd-rs (Rust implementasie)Swak gevormde NTS koekie veroorsaak afstand DoS voor v0.3.3 – beïnvloed poort 123 selfs wanneer NTS deaktiveer is.
2024distro opdateringschrony 4.4 / 4.5 – verskeie sekuriteitsversterkings & NTS-KE regstellings (bv. SUSE-RU-2024:2022)
2024Rekord DDoSCloudflare rapporteer 'n 5.6 Tbps UDP refleksie aanval (NTP onder protokolle gebruik). Hou monitor & monlist gedeaktiveer op internet-gesigte gasheer.

Exploit kits: Bewys-van-konsep payloads vir die 2023 ntpq OOB-skrywe reeks is op GitHub (sien Meinberg skrywe) en kan gewapen word vir kliënt-kant phishing van sysadmins.


Gevorderde Aanvalle

1. NTP Versterking / Refleksie

Die erfenis Mode-7 monlist navraag keer tot 600 gasheer adresse terug en is steeds teenwoordig op duisende internet gasheers. Omdat die antwoord (428-468 bytes/inskrywing) ~ 200× groter is as die 8-byte versoek, kan 'n aanvaller drievoudige versterkingsfaktore bereik. Versagtings:

  • Opgradeer na ntp 4.2.8p15+ en voeg disable monitor by.
  • Beperk UDP/123 op die rand of aktiveer sessies-vereis op DDoS toestelle.
  • Aktiveer BCP 38 uitgangsfiltrering om bron spoofing te blokkeer.

Sien Cloudflare se leer-sentrum artikel vir 'n stap-vir-stap ontleding.

2. Tyd-verskuiwing / Vertraag aanvalle (Khronos / Chronos navorsing)

Selfs met outentisering, kan 'n op-pad aanvaller stilweg die kliënt klok verskuif deur pakkette te laat val/vertraag. Die IETF Khronos (voorheen Chronos) konsep stel voor om 'n diverse stel bedieners in die agtergrond te ondervra en die resultaat te kontroleer om 'n verskuiwing > 𝚡 ms te ontdek. Moderne chrony (4.4+) implementeer reeds 'n soortgelyke sanity filter (maxdistance / maxjitter).

3. NTS misbruik & 4460/tcp blootstelling

NTS skuif die swaar kripto na 'n aparte TLS 1.3 kanaal op 4460/tcp (ntske/1). Swak implementasies (sien CVE-2023-33192) val uit wanneer koekies ontleed word of laat swak ciphers toe. Pentesters behoort:

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

Soek na self-signed of vervalde sertifikate en swak cipher-suites (non-AEAD). Verwysing: RFC 8915 §4.


Versterking / Beste-Huidige-Praktyk (BCP-233 / RFC 8633)

Operateurs MOET:

  1. Gebruik ≥ 4 onafhanklike, diverse tydbronne (publieke poele, GPS, PTP-brugte) om enkelbron vergiftiging te vermy.
  2. Aktiveer kod en limited/nomodify beperkings sodat misbruikende kliënte Kiss-o'-Death tempo-beperking pakkette ontvang in plaas van volle antwoorde.
  3. Monitor daemon logs vir panic gebeurtenisse of stap aanpassings > 1000 s. (Handtekeninge van aanval volgens RFC 8633 §5.3.)
  4. Oorweeg leap-smear om leap-sekonde onderbrekings te vermy, maar verseker dat alle afwaartse kliënte dieselfde smear venster gebruik.
  5. Hou polling ≤24 h sodat leap-sekonde vlae nie gemis word nie.

Sien RFC 8633 vir 'n omvattende kontrolelys.


Shodan / Censys Dorks

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

Nuttige Gereedskap

GereedskapDoelVoorbeeld
ntpwnSkrip-kiddie-wrapper om monlist & peers navrae te spuitpython ntpwn.py --monlist targets.txt
zgrab2 ntpMassaskandering / JSON-uitvoer insluitend monlist-vlagSien opdrag hierbo
chronyd met allowLoop rogue NTP-bediener in pentest laboratoriumchronyd -q 'server 127.127.1.0 iburst'
BetterCapSpuit NTP-pakkette vir tydverskuiwing MITM op Wi-Fiset arp.spoof.targets <victim>; set ntp.time.delta 30s; arp.spoof on

HackTricks Outomatiese Opdragte

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}

Verwysings

  • RFC 8915 – Netwerk Tyd Sekuriteit vir die Netwerk Tyd Protokol (poort 4460)
  • RFC 8633 – Netwerk Tyd Protokol BCP
  • Cloudflare DDoS verslag 2024 Q4 (5.6 Tbps)
  • Cloudflare NTP Versterking Aanval artikel
  • NTP 4.2.8p15 CVE reeks 2023-04
  • NVD inskrywings CVE-2023-26551–55, CVE-2023-33192
  • SUSE chrony sekuriteitsopdatering 2024 (chrony 4.5)
  • Khronos/Chronos konsep (tyd-verskuiwing versagting)
  • chronyc handleiding/voorbeelde vir afstandsmonitering
  • zgrab2 ntp module dokumentasie

tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks