# 123/udp - Pentesting NTP {{#include ../banners/hacktricks-training.md}} ## Basic Information **Network Time Protocol (NTP)** inahakikisha kwamba kompyuta na vifaa vya mtandao katika mitandao yenye latensi tofauti zinapatana saa zao kwa usahihi. Ni muhimu kwa kudumisha usahihi wa wakati katika operesheni za IT, usalama, na uandishi wa kumbukumbu. Kwa sababu wakati unatumika katika karibu kila uthibitisho, crypto-protocol na mchakato wa uchunguzi, **mshambuliaji ambaye anaweza kuathiri NTP mara nyingi anaweza kupita udhibiti wa usalama au kufanya mashambulizi kuwa magumu kuchunguza.** ### Summary & Security Tips - **Purpose**: Inapatana saa za vifaa kupitia mitandao. - **Importance**: Muhimu kwa usalama, uandishi wa kumbukumbu, crypto-protocols na mifumo iliyosambazwa. - **Security Measures**: - Tumia vyanzo vya NTP au NTS (Network Time Security) vilivyoaminika na uthibitisho. - Punguza nani anaweza kuuliza/kutoa amri kwa daemon (``restrict default noquery``, ``kod`` n.k.). - Zima maswali ya udhibiti ya Mode-6/7 ya zamani (``monlist``, ``ntpdc``) au punguza kiwango chao. - Fuata mabadiliko ya usawazishaji/halisi ya sekunde za kuruka kwa udanganyifu. - Hifadhi daemon ikisasishwa (angalia CVEs za hivi karibuni hapa chini). **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 ``` --- ## Uainishaji ### Klasiki ntpd / ntpq / ntpdc ```bash # 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 (katika usambazaji wa kisasa wa Linux) Ni amri chache tu za ufuatiliaji zinazokubaliwa kutoka kwa IP za mbali wakati ``cmdallow`` imewezeshwa: ```bash chronyc -a -n tracking -h chronyc -a -n sources -v -h chronyc -a -n sourcestats -h ``` Tazama ukurasa wa mtu wa chronyc kwa maana ya bendera za **M/S** na maeneo mengine (stratum, reach, jitter, nk.). ### 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 ``` ### Skanningi kwa Wingi/Intaneti ```bash # Check if MONLIST is enabled (zgrab2 module) zgrab2 ntp --monlist --timeout 3 --output-file monlist.json -f "zmap_results.csv" ``` --- ## Kagua faili za usanidi - ``/etc/ntp.conf`` (ntpd) - ``/etc/chrony/chrony.conf`` (chrony) - ``/etc/systemd/timesyncd.conf`` (timesyncd โ€“ mteja pekee) Zingatia kwa makini mistari ya ``restrict``, mipangilio ya ``kod`` (Kiss-o'-Death), ``disable monitor``/``includefile /etc/ntp/crypto`` na ikiwa *NTS* imewezeshwa (``nts enable``). --- ## Uthibitisho wa Hivi Karibuni (2023-2025) | Mwaka | CVE | Kipengele | Athari | |------|-----|-----------|--------| | 2023 | **CVE-2023-26551โ†’26555** | ntp 4.2.8p15 (libntp *mstolfp*, *praecis_parse*) | Maandishi mengi ya nje ya mipaka yanayoweza kufikiwa kupitia majibu ya **ntpq**. Patch katika **4.2.8p16** ๐Ÿก’ sasisha au rudisha nyuma marekebisho. | | 2023 | **CVE-2023-33192** | **ntpd-rs** (uteuzi wa Rust) | Keki ya **NTS** isiyo sahihi husababisha **DoS** ya mbali kabla ya v0.3.3 โ€“ inaathiri bandari 123 hata wakati NTS **imezimwa**. | | 2024 | sasisho za distro | **chrony 4.4 / 4.5** โ€“ uimarishaji wa usalama kadhaa & marekebisho ya NTS-KE (mfano SUSE-RU-2024:2022) | | 2024 | Rekodi ya DDoS | Cloudflare inaripoti shambulio la **5.6 Tbps UDP reflection** (NTP miongoni mwa protokali zinazotumika). Hifadhi *monitor* & *monlist* zimezimwa kwenye mwenyeji wa mtandao. | > **Vifaa vya kutekeleza**: Mifano ya uthibitisho wa dhana kwa mfululizo wa 2023 ntpq OOB-write iko kwenye GitHub (ona andiko la Meinberg) na inaweza kutumika kama silaha kwa uvuvi wa upande wa mteja wa wasimamizi wa mifumo. --- ## Mashambulizi ya Juu ### 1. NTP Amplification / Reflection Swali la zamani la Mode-7 ``monlist`` linarejesha hadi **600 anwani za mwenyeji** na bado lipo kwenye maelfu ya mwenyeji wa Mtandao. Kwa sababu ya jibu (428-468 bytes/entry) ni *~ 200ร—* kubwa kuliko ombi la byte 8, mshambuliaji anaweza kufikia viwango vya kuimarisha vya tarakimu tatu. Njia za kupunguza: - Sasisha hadi ntp 4.2.8p15+ na **ongeza** ``disable monitor``. - Punguza kiwango cha UDP/123 kwenye ukingo au wezesha *sessions-required* kwenye vifaa vya DDoS. - Wezesha *BCP 38* uchujaji wa kutoka kuzuia udanganyifu wa chanzo. Tazama makala ya kituo cha kujifunza cha Cloudflare kwa muhtasari wa hatua kwa hatua. ### 2. Mashambulizi ya Muda-Kuhamisha / Kuchelewesha (utafiti wa Khronos / Chronos) Hata na uthibitisho, mshambuliaji kwenye njia anaweza kimya kimya **kuhamasisha saa ya mteja** kwa kuangusha/kuchelewesha pakiti. Rasimu ya IETF **Khronos (zamani Chronos)** inapendekeza kuuliza seti tofauti ya seva kwa nyuma na kuangalia matokeo ili kugundua mabadiliko > ๐šก ms. Chrony ya kisasa (4.4+) tayari inatekeleza chujio kama hicho cha akili (``maxdistance`` / ``maxjitter``). ### 3. Unyanyasaji wa NTS & 4460/tcp kufichuliwa NTS inahamisha crypto nzito kwenye **kanali ya TLS 1.3 kwenye 4460/tcp** (``ntske/1``). Utekelezaji mbaya (ona CVE-2023-33192) unakufa wakati wa kuchambua keki au kuruhusu cipher dhaifu. Wapimaji wa usalama wanapaswa: ```bash # 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 ``` Tafuta vyeti vilivyojitegemea au vilivyokwisha muda na cipher-suites dhaifu (non-AEAD). Rejea: RFC 8915 ยง4. --- ## Kuimarisha / Mbinu Bora za Sasa (BCP-233 / RFC 8633) *Waendeshaji WANAPASWA:* 1. Tumia **โ‰ฅ 4** vyanzo huru, tofauti vya muda (mabwawa ya umma, GPS, PTP-bridges) ili kuepuka sumu ya chanzo kimoja. 2. Washa ``kod`` na ``limited``/``nomodify`` vizuizi ili wateja wanaotumia vibaya wapokee pakiti za **Kiss-o'-Death** za mipaka ya kiwango badala ya majibu kamili. 3. Fuata kumbukumbu za daemon kwa matukio ya **panic** au marekebisho ya hatua > 1000 s. (Saini za shambulio kulingana na RFC 8633 ยง5.3.) 4. Fikiria **leap-smear** ili kuepuka kukatika kwa sekunde za leap, lakini hakikisha *wateja wote* wa chini wanatumia dirisha sawa la smear. 5. Hifadhi polling โ‰ค24 h ili bendera za sekunde za leap zisikosewe. Tazama RFC 8633 kwa orodha kamili ya ukaguzi. --- ## Shodan / Censys Dorks ``` port:123 "ntpd" # Version banner udp port:123 monlist:true # Censys tag for vulnerable servers port:4460 "ntske" # NTS-KE ``` --- ## Vyombo vya Kazi | Chombo | Kusudi | Mfano | |--------|--------|-------| | ``ntpwn`` | Wrapper ya script-kiddie kutekeleza maswali ya monlist & peers | ``python ntpwn.py --monlist targets.txt`` | | **zgrab2 ntp** | Skanning ya wingi / Matokeo ya JSON ikiwa na bendera ya monlist | Tazama amri hapo juu | | ``chronyd`` na ``allow`` | Endesha seva ya NTP isiyo halali katika maabara ya pentest | ``chronyd -q 'server 127.127.1.0 iburst'`` | | ``BetterCap`` | Ingiza pakiti za NTP kwa ajili ya MITM ya mabadiliko ya wakati kwenye Wi-Fi | ``set arp.spoof.targets ; set ntp.time.delta 30s; arp.spoof on`` | --- ## Amri za Kiotomatiki za 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} ``` --- ## Marejeo - RFC 8915 โ€“ *Usalama wa Wakati wa Mtandao kwa Protokali ya Wakati wa Mtandao* (bandari 4460) - RFC 8633 โ€“ *Protokali ya Wakati wa Mtandao BCP* - Ripoti ya DDoS ya Cloudflare 2024 Q4 (5.6 Tbps) - Makala ya Cloudflare *Shambulio la Kuongeza NTP* - NTP 4.2.8p15 mfululizo wa CVE 2023-04 - Kuingia kwa NVD **CVE-2023-26551โ€“55**, **CVE-2023-33192** - Sasisho la usalama la SUSE chrony 2024 (chrony 4.5) - Rasimu ya Khronos/Chronos (kupunguza mabadiliko ya wakati) - mwongozo wa chronyc/mifano kwa ufuatiliaji wa mbali - hati za moduli za zgrab2 ntp {{#include ../banners/hacktricks-training.md}}