hacktricks/network-services-pentesting/pentesting-ntp.md
2023-08-03 19:12:22 +00:00

11 KiB
Raw Blame History

123/udp - NTP渗透测试

☁️ HackTricks云 ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

HackenProof是所有加密漏洞赏金的家园。

无需等待即可获得奖励
HackenProof的赏金只有在客户存入奖励预算后才会启动。在漏洞验证后您将获得奖励。

在web3渗透测试中积累经验
区块链协议和智能合约是新的互联网在其兴起的时代掌握web3安全。

成为web3黑客传奇
每次验证的漏洞都会获得声誉积分,并占据每周排行榜的榜首。

在HackenProof上注册开始从您的黑客攻击中获利!

{% embed url="https://hackenproof.com/register" %}

基本信息

网络时间协议(NTP)是一种用于在分组交换、可变延迟数据网络上进行计算机系统时钟同步的网络协议。

默认端口: 123/udp

PORT    STATE SERVICE REASON
123/udp open  ntp     udp-response

枚举

NTP Enumeration

NTP 枚举

NTP (Network Time Protocol) is a protocol used to synchronize the clocks of computers over a network. It is commonly used to ensure accurate timekeeping on computer systems.

NTP (Network Time Protocol) 是一种用于在网络上同步计算机时钟的协议。它通常用于确保计算机系统的准确时间。

NTP Enumeration with nmap

使用 nmap 进行 NTP 枚举

Nmap can be used to perform NTP enumeration by scanning for open NTP ports (123/udp) on target systems. This can be done using the following command:

可以使用 nmap 扫描目标系统上的开放 NTP 端口123/udp来执行 NTP 枚举。可以使用以下命令完成此操作:

nmap -p 123 -sU <target>

NTP Enumeration with ntpq

使用 ntpq 进行 NTP 枚举

The ntpq command-line utility can also be used to perform NTP enumeration. It allows you to query NTP servers for information about their configuration and status. To use ntpq, you can run the following command:

ntpq 命令行实用程序也可以用于执行 NTP 枚举。它允许您查询 NTP 服务器以获取有关其配置和状态的信息。要使用 ntpq,可以运行以下命令:

ntpq -p <target>

This will display a list of NTP servers and their associated information, such as the server's IP address, stratum level, and reachability.

这将显示 NTP 服务器的列表及其相关信息,例如服务器的 IP 地址、层级和可达性。

NTP Enumeration with ntptrace

使用 ntptrace 进行 NTP 枚举

The ntptrace command-line utility can be used to trace the path of NTP packets from the local system to a target NTP server. This can help identify the NTP servers in the network and their relationships. To use ntptrace, you can run the following command:

ntptrace 命令行实用程序可用于跟踪从本地系统到目标 NTP 服务器的 NTP 数据包的路径。这可以帮助识别网络中的 NTP 服务器及其关系。要使用 ntptrace,可以运行以下命令:

ntptrace <target>

This will display the path of NTP packets and the IP addresses of the NTP servers along the way.

这将显示 NTP 数据包的路径以及沿途的 NTP 服务器的 IP 地址。

NTP Enumeration with ntpdc

使用 ntpdc 进行 NTP 枚举

The ntpdc command-line utility can be used to query and control an NTP server. It provides various commands to retrieve information about the server's configuration and status. To use ntpdc, you can run the following command:

ntpdc 命令行实用程序可用于查询和控制 NTP 服务器。它提供了各种命令来获取有关服务器配置和状态的信息。要使用 ntpdc,可以运行以下命令:

ntpdc -c monlist <target>

This will display a list of the last 600 clients that have connected to the NTP server, along with their IP addresses and timestamps.

这将显示最近连接到 NTP 服务器的最后 600 个客户端的列表,以及它们的 IP 地址和时间戳。

NTP Enumeration with Metasploit

使用 Metasploit 进行 NTP 枚举

Metasploit, a popular penetration testing framework, also provides modules for NTP enumeration. These modules can be used to scan for NTP servers, gather information about them, and even exploit vulnerabilities if any are found.

Metasploit 是一个流行的渗透测试框架,还提供了用于 NTP 枚举的模块。这些模块可用于扫描 NTP 服务器、收集有关它们的信息,甚至在发现漏洞时利用它们。

To use Metasploit for NTP enumeration, you can follow these steps:

要使用 Metasploit 进行 NTP 枚举,可以按照以下步骤进行操作:

  1. Start Metasploit by running the msfconsole command.

    运行 msfconsole 命令启动 Metasploit。

  2. Search for NTP-related modules using the search command.

    使用 search 命令搜索与 NTP 相关的模块。

  3. Select a module that suits your needs and load it using the use command.

    选择适合您需求的模块,并使用 use 命令加载它。

  4. Set the required options for the module using the set command.

    使用 set 命令设置模块的必需选项。

  5. Run the module using the run command.

    使用 run 命令运行模块。

  6. Review the results and gather the necessary information.

    查看结果并收集必要的信息。

Metasploit provides a wide range of NTP enumeration modules, allowing you to choose the most suitable one for your specific needs.

Metasploit 提供了广泛的 NTP 枚举模块,使您可以根据特定需求选择最合适的模块。

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>
nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 123 <IP>

检查配置文件

  • ntp.conf

NTP放大攻击

NTP DDoS攻击的工作原理

NTP协议的设计使用UDP进行操作不需要像TCP那样进行握手因此没有请求的记录。因此NTP DDoS放大攻击开始于攻击者伪造带有欺骗性源IP的数据包使数据包看起来来自目标服务器并将其发送到NTP服务器。攻击者最初构造了几个字节的数据包但NTP会以大量数据进行响应从而放大了这次攻击。

MONLIST命令这是一个NTP协议命令几乎没有什么用处但正是这个命令是这次攻击的主要罪魁祸首。然而MONLIST命令的用途是提供连接到NTP时间服务的最近600个客户端的详细信息。以下是命令的语法

ntpdc -n -c monlist <IP>

Shodan

  • ntp

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) is a networking protocol for clock synchronization between computer systems over packet-switched, variable-latency data networks.

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}

HackenProof是所有加密漏洞赏金的家园。

即时获得奖励
HackenProof的赏金只有在客户存入奖励预算后才会启动。在漏洞验证后您将获得奖励。

在web3渗透测试中积累经验
区块链协议和智能合约是新的互联网在其兴起的时代掌握web3安全。

成为web3黑客传奇
每次验证的漏洞都会获得声望积分,并登上每周排行榜的榜首。

在HackenProof上注册并从您的黑客攻击中获利!

{% embed url="https://hackenproof.com/register" %}

☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥