
إثبات المفهوم لـ CVE-1999-0524
╔══════════════════════════════════════════════════════════════════╗
║ ██╗ ██████╗███╗ ███╗██████╗ ████████╗███████╗ ║
║ ██║██╔════╝████╗ ████║██╔══██╗ ██╔══╝██╔════╝ ║
║ ██║██║ ██╔████╔██║██████╔╝ ██║ ███████╗ ║
║ ██║██║ ██║╚██╔╝██║██╔═══╝ ██║ ╚════██║ ║
║ ██║╚██████╗██║ ╚═╝ ██║██║ ██║ ███████║ ║
║ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══════╝ ║
╠══════════════════════════════════════════════════════════════════╣
║ CVE-1999-0524 · ICMP Timestamp Request/Reply Scanner ║
║ Author : Muhamad Bion Tadavi — VPSI ║
║ Org : Vantage Point Security — Authorized Use Only ║
╚══════════════════════════════════════════════════════════════════╝
ماسح طابع زمني ICMP سريع ومتعدد الخيوط مع إخراج سداسي عشري ملون وتحليل مفصل للطابع الزمني.
يكتشف المضيفين المعرضين لـ CVE-1999-0524 (كشف معلومات الطابع الزمني ICMP) عن طريق إرسال حزم ICMP من النوع 13 (طلب طابع زمني). يتم تصنيف المضيفين الذين يردون بـ ICMP من النوع 14 (رد طابع زمني) على أنهم عرضة للخطر — فهم يسربون ساعة نظامهم الداخلية، مما يساعد في التعرف على الجهاز وسلسلة الهجمات المعتمدة على الوقت.
مبني بدون أي اعتماديات خارجية — مكتبة Python القياسية فقط.
| المجال | القيمة |
|---|---|
| معرف CVE | CVE-1999-0524 |
| CWE | CWE-200 — كشف المعلومات الحساسة |
| CVSS v3 | 0.0 (منخفضة) |
| النوع | كشف معلومات |
| البروتوكول | ICMP من النوع 13 / النوع 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) |
| سداسي عشري ملون | رأس IP · رأس ICMP · بايت النوع · الطوابع الزمنية — كل منها بلون فريد |
| فك الطابع الزمني | فك المللي ثانية الخام إلى HH:MM:SS.mmm UTC |
| أدلة سداسية عشرية في الملخص | سداسي عشري ملون + وسيلة إيضاح لكل مضيف معرض في الملخص النهائي |
تفريغ سداسي عشري كامل (-v) | أعمدة الإزاحة + السداسي العشري + ASCII لكل استجابة |
شريط التقدم (-v) | شريط تقدم حي يظهر فقط في الوضع المفصل |
| جدول الملخص | جدول مضيفين معرضين مرتب مع TTL و RTT ووقت الخادم |
| بدون اعتماديات | مكتبة Python القياسية فقط — لا حاجة إلى pip install |
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, comma-separated IPs, or CIDR (terminal input)
-f, --file Path to file with one IP/CIDR per line
--timeout SECS Seconds to wait per host (default: 2.0)
--threads N Concurrent threads (default: 30)
-v, --verbose Show progress bar + full hex dump per host
-h, --help Show help
| الوضع | السلوك |
|---|---|
افتراضي (بدون -v) | تظهر النتائج فورًا مع استجابة كل مضيف — سداسي عشري ملون + طوابع زمنية لكل مضيف، ثم الملخص |
مفصل (-v) | شريط تقدم حي أثناء المسح، ثم تفريغ سداسي عشري كامل لكل مضيف، ثم الملخص |
# Single host
sudo python3 icmp_timestamp_scan.py -t 192.168.1.1
# Multiple hosts
sudo python3 icmp_timestamp_scan.py -t 192.168.1.1,192.168.1.2,192.168.1.3
# CIDR subnet sweep
sudo python3 icmp_timestamp_scan.py -t 192.168.1.0/24
# From file
sudo python3 icmp_timestamp_scan.py -f hosts.txt
# Verbose — progress bar + full hex dump
sudo python3 icmp_timestamp_scan.py -f hosts.txt -v
# Fast wide scan
sudo python3 icmp_timestamp_scan.py -t 10.0.0.0/16 --threads 100 --timeout 1
hosts.txt# One IP or CIDR per line. Lines starting with # are ignored.
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