hacktricks/network-services-pentesting/pentesting-ntp.md
2024-02-11 01:46:25 +00:00

259 lines
10 KiB
Markdown

# 123/udp - Testowanie penetracyjne NTP
<details>
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Inne sposoby wsparcia HackTricks:
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
Dołącz do serwera [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy), aby komunikować się z doświadczonymi hakerami i łowcami nagród za błędy!
**Spostrzeżenia dotyczące hakerstwa**\
Zajmuj się treściami, które zagłębiają się w emocje i wyzwania hakerstwa
**Aktualności na żywo o hakerstwie**\
Bądź na bieżąco z szybkim tempem świata hakerstwa dzięki aktualnym wiadomościom i spostrzeżeniom
**Najnowsze ogłoszenia**\
Bądź na bieżąco z najnowszymi programami bug bounty i ważnymi aktualizacjami platformy
**Dołącz do nas na** [**Discordzie**](https://discord.com/invite/N3FrSbmwdy) i zacznij współpracować z najlepszymi hakerami już dziś!
## Podstawowe informacje
**Protokół czasu sieciowego (NTP)** zapewnia dokładną synchronizację zegarów komputerów i urządzeń sieciowych w zmiennych sieciach opóźnienia. Jest to niezbędne do utrzymania precyzyjnego odmierzania czasu w operacjach IT, bezpieczeństwie i logowaniu. Dokładność NTP jest istotna, ale może również stanowić ryzyko dla bezpieczeństwa, jeśli nie jest odpowiednio zarządzana.
### Podsumowanie i wskazówki dotyczące bezpieczeństwa:
- **Cel**: Synchronizuje zegary urządzeń w sieciach.
- **Ważność**: Krytyczne dla bezpieczeństwa, logowania i operacji.
- **Środki bezpieczeństwa**:
- Używaj zaufanych źródeł NTP z uwierzytelnianiem.
- Ogranicz dostęp do sieci serwera NTP.
- Monitoruj synchronizację w celu wykrycia prób manipulacji.
**Domyślny port:** 123/udp
```
PORT STATE SERVICE REASON
123/udp open ntp udp-response
```
## Wyliczanie
### NTP (Network Time Protocol)
NTP (Network Time Protocol) jest protokołem używanym do synchronizacji czasu między systemami komputerowymi w sieci. Może być również wykorzystywany do przeprowadzania ataków na infrastrukturę sieciową. Poniżej przedstawiono kilka technik wyliczania związanych z NTP.
#### Wyliczanie serwerów NTP
Aby znaleźć serwery NTP w sieci, można wykorzystać narzędzia takie jak `nmap` lub `ntpdate`. Przeskanuj port 123, który jest domyślnym portem NTP, aby znaleźć otwarte serwery NTP.
```plaintext
nmap -p 123 --script ntp-info <adres_IP>
```
#### Wyliczanie informacji o serwerze NTP
Aby uzyskać informacje o serwerze NTP, można użyć narzędzia `ntpdc`. Można to zrobić, wykonując następujące polecenie:
```plaintext
ntpdc -c monlist <adres_IP>
```
#### Wyliczanie synchronizacji czasu
Aby sprawdzić, czy serwer NTP jest zsynchronizowany z innymi serwerami, można użyć narzędzia `ntpdate`. Wykonaj polecenie:
```plaintext
ntpdate -q <adres_IP>
```
#### Wyliczanie podatności
Aby sprawdzić, czy serwer NTP jest podatny na ataki, można użyć narzędzia `ntpdc`. Wykonaj polecenie:
```plaintext
ntpdc -c reslist <adres_IP>
```
#### Wyliczanie informacji o klientach NTP
Aby uzyskać informacje o klientach NTP, można użyć narzędzia `ntpdc`. Wykonaj polecenie:
```plaintext
ntpdc -c sysinfo <adres_IP>
```
#### Wyliczanie informacji o czasie
Aby uzyskać informacje o czasie na serwerze NTP, można użyć narzędzia `ntpdate`. Wykonaj polecenie:
```plaintext
ntpdate -q <adres_IP>
```
#### Wyliczanie informacji o wersji
Aby uzyskać informacje o wersji serwera NTP, można użyć narzędzia `ntpdate`. Wykonaj polecenie:
```plaintext
ntpdate -V <adres_IP>
```
#### Wyliczanie informacji o trybie
Aby uzyskać informacje o trybie serwera NTP, można użyć narzędzia `ntpdate`. Wykonaj polecenie:
```plaintext
ntpdate -q <adres_IP>
```
#### Wyliczanie informacji o identyfikatorze
Aby uzyskać informacje o identyfikatorze serwera NTP, można użyć narzędzia `ntpdate`. Wykonaj polecenie:
```plaintext
ntpdate -q <adres_IP>
```
#### Wyliczanie informacji o dostępnych funkcjach
Aby uzyskać informacje o dostępnych funkcjach serwera NTP, można użyć narzędzia `ntpdate`. Wykonaj polecenie:
```plaintext
ntpdate -q <adres_IP>
```
#### Wyliczanie informacji o dostępnych trybach
Aby uzyskać informacje o dostępnych trybach serwera NTP, można użyć narzędzia `ntpdate`. Wykonaj polecenie:
```plaintext
ntpdate -q <adres_IP>
```
#### Wyliczanie informacji o dostępnych opcjach
Aby uzyskać informacje o dostępnych opcjach serwera NTP, można użyć narzędzia `ntpdate`. Wykonaj polecenie:
```plaintext
ntpdate -q <adres_IP>
```
#### Wyliczanie informacji o dostępnych zmiennych
Aby uzyskać informacje o dostępnych zmiennych serwera NTP, można użyć narzędzia `ntpdate`. Wykonaj polecenie:
```plaintext
ntpdate -q <adres_IP>
```
#### Wyliczanie informacji o dostępnych trybach zegara
Aby uzyskać informacje o dostępnych trybach zegara serwera NTP, można użyć narzędzia `ntpdate`. Wykonaj polecenie:
```plaintext
ntpdate -q <adres_IP>
```
#### Wyliczanie informacji o dostępnych trybach filtra
Aby uzyskać informacje o dostępnych trybach filtra serwera NTP, można użyć narzędzia `ntpdate`. Wykonaj polecenie:
```plaintext
ntpdate -q <adres_IP>
```
#### Wyliczanie informacji o dostępnych trybach trybu
Aby uzyskać informacje o dostępnych trybach trybu serwera NTP, można użyć narzędzia `ntpdate`. Wykonaj polecenie:
```plaintext
ntpdate -q <adres_IP>
```
```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>
```
```bash
nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 123 <IP>
```
## Przeglądaj pliki konfiguracyjne
* ntp.conf
## Atak z wykorzystaniem amplifikacji NTP
[**Jak działa atak DDoS na protokół NTP**](https://resources.infosecinstitute.com/network-time-protocol-ntp-threats-countermeasures/#gref)
Protokół **NTP**, korzystając z UDP, umożliwia działanie bez konieczności procedur handshake, w przeciwieństwie do TCP. Ta cecha jest wykorzystywana w **atakach DDoS z wykorzystaniem amplifikacji NTP**. Atakujący tworzą pakiety z fałszywym adresem IP źródła, sprawiając, że wydaje się, że żądania ataku pochodzą od ofiary. Te początkowo małe pakiety skłaniają serwer NTP do odpowiedzi o znacznie większej objętości danych, wzmacniając atak.
Polecenie **_MONLIST_**, pomimo rzadkiego użycia, może raportować ostatnie 600 klientów podłączonych do usługi NTP. Chociaż samo polecenie jest proste, jego niewłaściwe użycie w takich atakach ujawnia istotne podatności związane z bezpieczeństwem.
```bash
ntpdc -n -c monlist <IP>
```
## Shodan
* `ntp`
## Automatyczne polecenia HackTricks
```
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
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.xyz/pentesting/pentesting-ntp
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}
```
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
Dołącz do serwera [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy), aby komunikować się z doświadczonymi hakerami i łowcami błędów!
**Spostrzeżenia dotyczące hakerstwa**\
Zajmuj się treściami, które zagłębiają się w emocje i wyzwania hakerstwa.
**Aktualności na żywo o hakerstwie**\
Bądź na bieżąco z szybkim tempem świata hakerstwa dzięki aktualnym wiadomościom i spostrzeżeniom.
**Najnowsze ogłoszenia**\
Bądź na bieżąco z najnowszymi programami bug bounty i ważnymi aktualizacjami platformy.
**Dołącz do nas na** [**Discordzie**](https://discord.com/invite/N3FrSbmwdy) i zacznij współpracować z najlepszymi hakerami już dziś!
<details>
<summary><strong>Naucz się hakerstwa AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Inne sposoby wsparcia HackTricks:
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
</details>