hacktricks/network-services-pentesting/pentesting-ntp.md

10 KiB
Raw Blame History

123/udp - NTPのペンテスト

☁️ HackTricks Cloud ☁️ -🐦 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サービスの概要

NTPNetwork Time Protocolは、ネットワーク上のデバイスが正確な時刻を同期するために使用するプロトコルです。NTPサービスは、クライアントがNTPサーバーに接続して時刻情報を取得することができます。NTPサービスは、多くのシステムで使用されており、正確な時刻情報は暗号化や認証などのセキュリティプロトコルにおいて重要な要素です。

NTPサービスの列挙

NTPサービスの列挙は、以下の手法を使用して行うことができます。

  1. ポートスキャン: NTPサービスは通常、UDPポート123で動作しています。ポートスキャンツールを使用して、対象のホストがポート123を開いているかどうかを確認します。

  2. NTPクライアントの使用: NTPクライアントを使用して、対象のホストに対して時刻情報をリクエストします。応答がある場合、NTPサービスが動作していることがわかります。

  3. NTPサーバーの特定: NTPサービスが動作しているホストを特定するために、NTPサーバーのリストを使用することができます。公開されているNTPサーバーのリストを取得し、対象のホストがそのリストに含まれているかどうかを確認します。

  4. NTPバージョンの特定: NTPサービスのバージョン情報を取得することで、脆弱性のあるバージョンを特定することができます。NTPクライアントを使用して、対象のホストからバージョン情報を取得します。

  5. NTPサービスの解析: NTPサービスの応答を解析して、サービスの構成やセキュリティ設定に関する情報を取得します。応答パケットの解析には、Wiresharkなどのネットワーク分析ツールを使用します。

これらの手法を組み合わせて、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プロトコルは、TCPのようなハンドシェイクを必要としないUDPを使用して動作するため、リクエストの記録はありません。そのため、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ペントestingの経験を積む
ブロックチェーンプロトコルとスマートコントラクトは新しいインターネットですその成長期におけるweb3セキュリティをマスターしましょう。

Web3ハッカーレジェンドになる
各検証済みのバグごとに評判ポイントを獲得し、週間リーダーボードのトップを制覇しましょう。

HackenProofでサインアップして、ハッキングから報酬を得ましょう!

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

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