mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/network-services-pentesting/pentesting-ntp.md'] to pl
This commit is contained in:
parent
94551b1e1f
commit
ad8d95878b
@ -4,59 +4,154 @@
|
||||
|
||||
## Podstawowe informacje
|
||||
|
||||
**Protokół Czasu Sieciowego (NTP)** zapewnia, że komputery i urządzenia sieciowe w sieciach o zmiennej latencji synchronizują swoje zegary dokładnie. Jest to kluczowe dla utrzymania precyzyjnego pomiaru czasu w operacjach IT, bezpieczeństwie i logowaniu. Dokładność NTP jest istotna, ale niesie również ryzyko bezpieczeństwa, jeśli nie jest odpowiednio zarządzana.
|
||||
**Protokół Czasu Sieciowego (NTP)** zapewnia, że komputery i urządzenia sieciowe w sieciach o zmiennej latencji synchronizują swoje zegary dokładnie. Jest to kluczowe dla utrzymania precyzyjnego pomiaru czasu w operacjach IT, bezpieczeństwie i logowaniu. Ponieważ czas jest używany w niemal każdym procesie uwierzytelniania, protokole kryptograficznym i procesie kryminalistycznym, **atakujący, który może wpływać na NTP, często może obejść kontrole bezpieczeństwa lub utrudnić badanie ataków.**
|
||||
|
||||
### Podsumowanie i wskazówki dotyczące bezpieczeństwa:
|
||||
### Podsumowanie i wskazówki dotyczące bezpieczeństwa
|
||||
|
||||
- **Cel**: Synchronizuje zegary urządzeń w sieciach.
|
||||
- **Znaczenie**: Krytyczne dla bezpieczeństwa, logowania i operacji.
|
||||
- **Znaczenie**: Krytyczne dla bezpieczeństwa, logowania, protokołów kryptograficznych i systemów rozproszonych.
|
||||
- **Środki bezpieczeństwa**:
|
||||
- Używaj zaufanych źródeł NTP z autoryzacją.
|
||||
- Ogranicz dostęp do serwera NTP w sieci.
|
||||
- Monitoruj synchronizację w poszukiwaniu oznak manipulacji.
|
||||
- Używaj zaufanych źródeł NTP lub NTS (Network Time Security) z uwierzytelnieniem.
|
||||
- Ogranicz, kto może zapytywać/komendować demon (``restrict default noquery``, ``kod`` itp.).
|
||||
- Wyłącz kontrolne zapytania w trybie 6/7 (``monlist``, ``ntpdc``) lub ogranicz ich częstotliwość.
|
||||
- Monitoruj dryf synchronizacji/stan sekund przestępnych pod kątem manipulacji.
|
||||
- Utrzymuj demona w aktualizacji (zobacz ostatnie CVE poniżej).
|
||||
|
||||
**Domyślne porty**
|
||||
```
|
||||
123/udp NTP (data + legacy control)
|
||||
4460/tcp NTS-KE (RFC 8915) – TLS key-establishment for NTP
|
||||
```
|
||||
|
||||
**Domyślny port:** 123/udp
|
||||
```
|
||||
PORT STATE SERVICE REASON
|
||||
123/udp open ntp udp-response
|
||||
```
|
||||
---
|
||||
## Enumeracja
|
||||
```bash
|
||||
ntpq -c readlist <IP_ADDRESS>
|
||||
ntpq -c readvar <IP_ADDRESS>
|
||||
ntpq -c peers <IP_ADDRESS>
|
||||
ntpq -c associations <IP_ADDRESS>
|
||||
ntpdc -c monlist <IP_ADDRESS>
|
||||
ntpdc -c listpeers <IP_ADDRESS>
|
||||
ntpdc -c sysinfo <IP_ADDRESS>
|
||||
```
|
||||
|
||||
### Klasyczny 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 (w większości nowoczesnych dystrybucji Linuksa)
|
||||
|
||||
Tylko garstka poleceń monitorujących jest akceptowana z zdalnych adresów IP, gdy ``cmdallow`` jest włączone:
|
||||
```bash
|
||||
chronyc -a -n tracking -h <IP>
|
||||
chronyc -a -n sources -v -h <IP>
|
||||
chronyc -a -n sourcestats -h <IP>
|
||||
```
|
||||
Zobacz stronę podręcznika chronyc, aby poznać znaczenie flag **M/S** i innych pól (stratum, reach, jitter itp.).
|
||||
|
||||
### 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>
|
||||
```
|
||||
## Examine configuration files
|
||||
|
||||
- ntp.conf
|
||||
|
||||
## NTP Amplification Attack
|
||||
|
||||
[**How NTP DDoS Attack Works**](https://resources.infosecinstitute.com/network-time-protocol-ntp-threats-countermeasures/#gref)
|
||||
|
||||
Protokół **NTP**, używający UDP, pozwala na działanie bez potrzeby procedur handshake, w przeciwieństwie do TCP. Ta cecha jest wykorzystywana w **atakach amplifikacyjnych DDoS NTP**. Tutaj napastnicy tworzą pakiety z fałszywym adresem IP źródłowym, sprawiając, że wydaje się, iż żądania ataku pochodzą od ofiary. Te pakiety, początkowo małe, powodują, że serwer NTP odpowiada znacznie większymi wolumenami danych, amplifikując atak.
|
||||
|
||||
Polecenie _**MONLIST**_, mimo rzadkiego użycia, może zgłosić ostatnich 600 klientów połączonych z usługą NTP. Chociaż samo polecenie jest proste, jego niewłaściwe użycie w takich atakach podkreśla krytyczne luki w zabezpieczeniach.
|
||||
### Skanowanie masowe/Internetowe
|
||||
```bash
|
||||
ntpdc -n -c monlist <IP>
|
||||
# Check if MONLIST is enabled (zgrab2 module)
|
||||
zgrab2 ntp --monlist --timeout 3 --output-file monlist.json -f "zmap_results.csv"
|
||||
```
|
||||
## Shodan
|
||||
---
|
||||
## Zbadaj pliki konfiguracyjne
|
||||
|
||||
- `ntp`
|
||||
- ``/etc/ntp.conf`` (ntpd)
|
||||
- ``/etc/chrony/chrony.conf`` (chrony)
|
||||
- ``/etc/systemd/timesyncd.conf`` (timesyncd – tylko klient)
|
||||
|
||||
## HackTricks Automatyczne Komendy
|
||||
Zwróć szczególną uwagę na linie ``restrict``, ustawienia ``kod`` (Kiss-o'-Death), ``disable monitor``/``includefile /etc/ntp/crypto`` oraz czy *NTS* jest włączone (``nts enable``).
|
||||
|
||||
---
|
||||
## Ostatnie luki (2023-2025)
|
||||
|
||||
| Rok | CVE | Komponent | Wpływ |
|
||||
|-----|-----|-----------|-------|
|
||||
| 2023 | **CVE-2023-26551→26555** | ntp 4.2.8p15 (libntp *mstolfp*, *praecis_parse*) | Wiele zapisów poza zakresem dostępnych poprzez odpowiedzi **ntpq**. Łatka w **4.2.8p16** 🡒 zaktualizuj lub wprowadź poprawki. citeturn1search1turn1search2turn1search0|
|
||||
| 2023 | **CVE-2023-33192** | **ntpd-rs** (implementacja w Rust) | Źle sformatowane ciasteczko **NTS** powoduje zdalny **DoS** przed wersją v0.3.3 – wpływa na port 123 nawet gdy NTS **wyłączone**. citeturn4view0|
|
||||
| 2024 | aktualizacje dystrybucji | **chrony 4.4 / 4.5** – kilka poprawek zabezpieczeń i NTS-KE (np. SUSE-RU-2024:2022) citeturn2search2|
|
||||
| 2024 | Rekord DDoS | Cloudflare zgłasza atak **5.6 Tbps UDP reflection** (NTP wśród używanych protokołów). Utrzymuj *monitor* i *monlist* wyłączone na hostach wystawionych na Internet. citeturn5search0|
|
||||
|
||||
> **Zestawy exploitów**: Dowody koncepcji dla serii OOB-write ntpq z 2023 roku są dostępne na GitHubie (zobacz opis Meinberga) i mogą być wykorzystane do phishingu po stronie klienta w celu ataku na administratorów systemów. citeturn1search4
|
||||
|
||||
---
|
||||
## Zaawansowane ataki
|
||||
|
||||
### 1. Wzmocnienie / Odbicie NTP
|
||||
|
||||
Zapytanie w trybie 7 ``monlist`` zwraca do **600 adresów hostów** i wciąż jest obecne na tysiącach hostów w Internecie. Ponieważ odpowiedź (428-468 bajtów/wejście) jest *~ 200×* większa niż 8-bajtowe zapytanie, atakujący może osiągnąć współczynniki wzmocnienia w trzech cyfrach. Środki zaradcze:
|
||||
|
||||
- Zaktualizuj do ntp 4.2.8p15+ i **dodaj** ``disable monitor``.
|
||||
- Ogranicz przepustowość UDP/123 na krawędzi lub włącz *sessions-required* na urządzeniach DDoS.
|
||||
- Włącz filtrowanie egress *BCP 38*, aby zablokować fałszowanie źródła.
|
||||
|
||||
Zobacz artykuł w centrum wiedzy Cloudflare dla szczegółowego opisu krok po kroku. citeturn5search1
|
||||
|
||||
### 2. Ataki na przesunięcie czasu / opóźnienie (badania Khronos / Chronos)
|
||||
|
||||
Nawet przy uwierzytelnieniu, atakujący na ścieżce może cicho **przesunąć zegar klienta** poprzez gubienie/opóźnianie pakietów. Projekt IETF **Khronos (dawniej Chronos)** proponuje zapytanie do różnorodnego zestawu serwerów w tle i sprawdzanie wyników, aby wykryć przesunięcie > 𝚡 ms. Nowoczesny chrony (4.4+) już implementuje podobny filtr sanity (``maxdistance`` / ``maxjitter``). citeturn9search1
|
||||
|
||||
### 3. Nadużycie NTS i ekspozycja 4460/tcp
|
||||
|
||||
NTS przenosi ciężką kryptografię do osobnego **kanału TLS 1.3 na 4460/tcp** (``ntske/1``). Słabe implementacje (zobacz CVE-2023-33192) zawieszają się podczas analizy ciasteczek lub pozwalają na słabe szyfry. Pentesterzy powinni:
|
||||
```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
|
||||
```
|
||||
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
|
||||
Szukaj certyfikatów samopodpisanych lub wygasłych oraz słabych zestawów szyfrujących (non-AEAD). Referencja: RFC 8915 §4. citeturn11search0
|
||||
|
||||
---
|
||||
## Wzmacnianie / Najlepsze aktualne praktyki (BCP-233 / RFC 8633)
|
||||
|
||||
*Operatorzy POWINNI:*
|
||||
|
||||
1. Używać **≥ 4** niezależnych, różnorodnych źródeł czasu (publiczne pule, GPS, mosty PTP), aby uniknąć zanieczyszczenia z jednego źródła.
|
||||
2. Włączyć ograniczenia ``kod`` oraz ``limited``/``nomodify``, aby klienci nadużywający otrzymywali pakiety **Kiss-o'-Death** z ograniczeniem prędkości zamiast pełnych odpowiedzi.
|
||||
3. Monitorować logi demona pod kątem zdarzeń **panic** lub dostosowań kroków > 1000 s. (Podpisy ataku zgodnie z RFC 8633 §5.3.)
|
||||
4. Rozważyć **leap-smear**, aby uniknąć przerw związanych z sekundą przestępną, ale upewnić się, że *wszyscy* klienci downstream używają tego samego okna smarowania.
|
||||
5. Utrzymywać polling ≤24 h, aby nie przegapić flag sekund przestępnych.
|
||||
|
||||
Zobacz RFC 8633, aby uzyskać kompleksową listę kontrolną. citeturn8search0turn8search1
|
||||
|
||||
---
|
||||
## Shodan / Censys Dorks
|
||||
```
|
||||
port:123 "ntpd" # Version banner
|
||||
udp port:123 monlist:true # Censys tag for vulnerable servers
|
||||
port:4460 "ntske" # NTS-KE
|
||||
```
|
||||
---
|
||||
## Przydatne Narzędzia
|
||||
|
||||
| Narzędzie | Cel | Przykład |
|
||||
|-----------|-----|----------|
|
||||
| ``ntpwn`` | Wrapper dla script-kiddie do rozprzestrzeniania zapytań monlist i peers | ``python ntpwn.py --monlist targets.txt`` |
|
||||
| **zgrab2 ntp** | Masowe skanowanie / wyjście JSON z flagą monlist | Zobacz powyższe polecenie |
|
||||
| ``chronyd`` z ``allow`` | Uruchomienie nieautoryzowanego serwera NTP w laboratorium pentestowym | ``chronyd -q 'server 127.127.1.0 iburst'`` |
|
||||
| ``BetterCap`` | Wstrzykiwanie pakietów NTP do ataku MITM na Wi-Fi z przesunięciem czasowym | ``set arp.spoof.targets <victim>; set ntp.time.delta 30s; arp.spoof on`` |
|
||||
|
||||
---
|
||||
## Automatyczne Komendy HackTricks
|
||||
```
|
||||
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}}
|
||||
---
|
||||
## Odniesienia
|
||||
|
||||
- RFC 8915 – *Bezpieczeństwo Czasu Sieciowego dla Protokółu Czasu Sieciowego* (port 4460) citeturn11search0
|
||||
- RFC 8633 – *Protokół Czasu Sieciowego BCP* citeturn8search0
|
||||
- Raport Cloudflare DDoS 2024 Q4 (5.6 Tbps) citeturn5search0
|
||||
- Artykuł Cloudflare *Atak Amplifikacji NTP* citeturn5search1
|
||||
- NTP 4.2.8p15 seria CVE 2023-04 citeturn1search4
|
||||
- Wpisy NVD **CVE-2023-26551–55**, **CVE-2023-33192** citeturn1search1turn1search2turn1search0turn4view0
|
||||
- Aktualizacja zabezpieczeń SUSE chrony 2024 (chrony 4.5) citeturn2search2
|
||||
- Projekt Khronos/Chronos (łagodzenie przesunięcia czasowego) citeturn9search1
|
||||
- Podręcznik chronyc/przykłady do zdalnego monitorowania citeturn3search0turn10search1
|
||||
- Dokumentacja modułu ntp zgrab2 citeturn7search0
|
||||
{{#include /banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user