
CVE-1999-0524 の PoC
╔══════════════════════════════════════════════════════════════════╗
║ ██╗ ██████╗███╗ ███╗██████╗ ████████╗███████╗ ║
║ ██║██╔════╝████╗ ████║██╔══██╗ ██╔══╝██╔════╝ ║
║ ██║██║ ██╔████╔██║██████╔╝ ██║ ███████╗ ║
║ ██║██║ ██║╚██╔╝██║██╔═══╝ ██║ ╚════██║ ║
║ ██║╚██████╗██║ ╚═╝ ██║██║ ██║ ███████║ ║
║ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══════╝ ║
╠══════════════════════════════════════════════════════════════════╣
║ CVE-1999-0524 · ICMP Timestamp Request/Reply Scanner ║
║ Author : Muhamad Bion Tadavi — VPSI ║
║ Org : Vantage Point Security — Authorized Use Only ║
╚══════════════════════════════════════════════════════════════════╝
高速マルチスレッドICMPタイムスタンプスキャナー。色分けされた16進数出力と詳細なタイムスタンプ分析を提供します。
CVE-1999-0524(ICMPタイムスタンプ情報漏洩)の脆弱性を持つホストを検出します。ICMP Type 13 (Timestamp Request) パケットを送信し、ICMP Type 14 (Timestamp Reply) で応答したホストを脆弱と判定します。これにより内部システムクロックが漏洩し、デバイスのフィンガープリントや時刻ベースの攻撃連鎖に悪用される可能性があります。
外部依存関係なし、純粋なPython標準ライブラリのみで構築されています。
| フィールド | 値 |
|---|---|
| CVE ID | CVE-1999-0524 |
| CWE | CWE-200 — 機密情報の漏洩 |
| CVSS v3 | 0.0 (低) |
| 種別 | 情報漏洩 |
| プロトコル | ICMP Type 13 / Type 14 |
| 影響を受けるシステム | Cisco IOS、Cisco ASA、Linux、Windows(設定依存) |
Attacker Target
│ │
│──── ICMP Type 13 (Timestamp Request) ──▶│
│ │ [host processes request]
│◀─── ICMP Type 14 (Timestamp Reply) ─────│
│ │
Reply contains three 32-bit timestamp fields (ms since midnight UTC):
├── Originate Timestamp (set by requester — often 0)
├── Receive Timestamp ◀── server clock leaked here
└── Transmit Timestamp ◀── server clock leaked here
| 機能 | 詳細 |
|---|---|
| マルチスレッドスキャン | 並列プローブ数の設定可能(デフォルト: 30スレッド) |
| 柔軟な入力 | 単一IP · カンマ区切り · CIDRレンジ · ファイル(-t / -f) |
| 色分けされた16進数 | IPヘッダー · ICMPヘッダー · タイプバイト · タイムスタンプ — それぞれ異なる色 |
| タイムスタンプデコード | 生のミリ秒を HH:MM:SS.mmm UTC に変換 |
| サマリー内の16進数証拠 | 脆弱ホストごとに色付き16進数+凡例を最終サマリーに表示 |
完全16進ダンプ(-v) | 各応答についてオフセット+16進数+ASCII列を表示 |
プログレスバー(-v) | 詳細モードでのみライブプログレスバーを表示 |
| サマリーテーブル | TTL、RTT、サーバ時刻を含む脆弱ホストの並び替え可能なテーブル |
| 依存関係ゼロ | 純粋なPython標準ライブラリ — pipインストール不要 |
python3 --version # 3.8以上であること
git clone https://github.com/<your-username>/CVE-1999-0524-ICMP-Timestamp-Scanner.git
cd CVE-1999-0524-ICMP-Timestamp-Scanner
chmod +x icmp_timestamp_scan.py
sudo python3 icmp_timestamp_scan.py [OPTIONS]
Options:
-t, --target IP、カンマ区切りのIP、またはCIDR (端末入力)
-f, --file 1行に1つのIP/CIDRを記述したファイルのパス
--timeout SECS ホストごとの待機時間(秒)(デフォルト: 2.0)
--threads N 同時スレッド数(デフォルト: 30)
-v, --verbose プログレスバーと各ホストの完全16進ダンプを表示
-h, --help ヘルプを表示
| モード | 動作 |
|---|---|
デフォルト(-vなし) | 各ホストが応答するたびに結果を即時表示 — ホストごとに色付き16進数+タイムスタンプ、その後サマリー |
詳細(-v) | スキャン中にライブプログレスバー、その後各ホストの完全16進ダンプ、その後サマリー |
# 単一ホスト
sudo python3 icmp_timestamp_scan.py -t 192.168.1.1
# 複数ホスト
sudo python3 icmp_timestamp_scan.py -t 192.168.1.1,192.168.1.2,192.168.1.3
# CIDRサブネットスイープ
sudo python3 icmp_timestamp_scan.py -t 192.168.1.0/24
# ファイルから
sudo python3 icmp_timestamp_scan.py -f hosts.txt
# 詳細モード — プログレスバー+完全16進ダンプ
sudo python3 icmp_timestamp_scan.py -f hosts.txt -v
# 高速ワイドスキャン
sudo python3 icmp_timestamp_scan.py -t 10.0.0.0/16 --threads 100 --timeout 1
hosts.txt の形式# 1行に1つのIPまたはCIDRを記述。#で始まる行は無視されます。
192.168.1.1
192.168.1.2
192.168.1.3
10.0.0.1
10.0.0.2
10.0.0.0/24
-vなし) [*] Targets : 4 hosts
[*] Timeout : 2.0s | Threads: 30
[*] Started : 2026-07-14 06:37:25 UTC
[*] Probe : ICMP Type 13 (Timestamp Request)
[*] Expect : ICMP Type 14 (Timestamp Reply) from vulnerable hosts
╔══ VULNERABLE ══════════════════════════════════════════╗
║ Host : 192.168.1.1
║ ICMP Type : 14 — Timestamp Reply (sent Type 13)
║ TTL : 59
║ RTT : 1.84 ms
║ ── Timestamps (ms since midnight UTC) ──────────────
║ Originate : 0 ms → 00:00:00.000 (not set)
║ Receive : 22,974,518 ms → 06:22:54.518 UTC
║ Transmit : 22,974,518 ms → 06:22:54.518 UTC ← server time
║ ── Raw Response (hex) ──────────────────────────────
║ 45 48 00 28 14 76 00 00 3b 01 2d 93 c0 a8 01 01 c0 a8 01 64 0e 00 f9 15 ...
║ Legend: ██=IP header ██=ICMP header ██=ICMP type14 ██=timestamps
╚════════════════════════════════════════════════════════╝
[-] 192.168.1.2 no response (filtered or not vulnerable)
╔══ VULNERABLE ══════════════════════════════════════════╗
║ Host : 192.168.1.3
║ TTL : 59 | RTT : 2.11 ms
║ Transmit : 22,977,926 ms → 06:22:57.926 UTC ← server time
╚════════════════════════════════════════════════════════╝
══════════════════════════════════════════════════════════════════
SCAN SUMMARY
══════════════════════════════════════════════════════════════════
Scanner time : 2026-07-14 13:37:25 WIB (06:37:25 UTC)
Total probed : 4
Vulnerable : 2
No response : 2
Errors : 0
┌─ VULNERABLE HOSTS ────────────────────────────────────────────┐
│ Host TTL RTT Server Time (UTC) Transmit ms │
├───────────────────────────────────────────────────────────────┤
│ 192.168.1.1 59 1.8ms 06:22:54.518 UTC 22,974,518 │
│ 192.168.1.3 59 2.1ms 06:22:57.926 UTC 22,977,926 │
└───────────────────────────────────────────────────────────────┘
── Hex Evidence ─────────────────────────────────────────────
[192.168.1.1] TTL=59 RTT=1.84ms Server→ 06:22:54.518 UTC
45 48 00 28 14 76 00 00 3b 01 2d 93 c0 a8 01 01 c0 a8 01 64 0e 00 f9 15 ...
Legend: ██=IP header ██=ICMP header ██=ICMP type14 ██=timestamps
[192.168.1.3] TTL=59 RTT=2.11ms Server→ 06:22:57.926 UTC
45 48 00 28 1a c3 00 00 3b 01 27 46 c0 a8 01 03 c0 a8 01 64 0e 00 f3 7e ...
Legend: ██=IP header ██=ICMP header ██=ICMP type14 ██=timestamps
Impact : Information Disclosure — server time exposed
CWE : CWE-200 Exposure of Sensitive Information
CVSS v3 : 0.0 (Low) — network access required
Fix : Block ICMP type 13 at perimeter ACL/firewall
Cisco : access-list <ACL> deny icmp any any 13