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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
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
# 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:
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
# 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
# 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)
Godina | CVE | Komponenta | Uticaj |
---|---|---|---|
2023 | CVE-2023-26551→26555 | ntp 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. |
2023 | CVE-2023-33192 | ntpd-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. |
2024 | ažuriranja distribucije | chrony 4.4 / 4.5 – nekoliko bezbednosnih poboljšanja i NTS-KE ispravki (npr. SUSE-RU-2024:2022) | |
2024 | Rekord DDoS | Cloudflare 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:
# 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:
- Koriste ≥ 4 nezavisna, raznolika vremenska izvora (javne grupe, GPS, PTP-bridževe) kako bi izbegli trovanje jednim izvorom.
- Omoguće
kod
ilimited
/nomodify
ograničenja tako da zlonamerni klijenti dobijaju Kiss-o'-Death pakete sa ograničenjem brzine umesto punih odgovora. - Prate dnevnike demona za panic događaje ili prilagođavanja koraka > 1000 s. (Potpisi napada prema RFC 8633 §5.3.)
- Razmotre leap-smear kako bi izbegli prekide zbog skoka sekundi, ali osiguraju da svi klijenti nizvodno koriste isti prozor za razmazivanje.
- 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
Alat | Svrha | Primer |
---|---|---|
ntpwn | Script-kiddie omotač za slanje monlist & peers upita | python ntpwn.py --monlist targets.txt |
zgrab2 ntp | Masovno skeniranje / JSON izlaz uključujući monlist zastavicu | Pogledajte komandu iznad |
chronyd sa allow | Pokrenite rogue NTP server u pentest laboratoriji | chronyd -q 'server 127.127.1.0 iburst' |
BetterCap | Umetnite NTP pakete za MITM napad sa pomeranjem vremena na Wi-Fi | set 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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.