
PoC для CVE-1999-0524
╔══════════════════════════════════════════════════════════════════╗
║ ██╗ ██████╗███╗ ███╗██████╗ ████████╗███████╗ ║
║ ██║██╔════╝████╗ ████║██╔══██╗ ██╔══╝██╔════╝ ║
║ ██║██║ ██╔████╔██║██████╔╝ ██║ ███████╗ ║
║ ██║██║ ██║╚██╔╝██║██╔═══╝ ██║ ╚════██║ ║
║ ██║╚██████╗██║ ╚═╝ ██║██║ ██║ ███████║ ║
║ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══════╝ ║
╠══════════════════════════════════════════════════════════════════╣
║ CVE-1999-0524 · ICMP Timestamp Request/Reply Scanner ║
║ Author : Muhamad Bion Tadavi — VPSI ║
║ Org : Vantage Point Security — Authorized Use Only ║
╚══════════════════════════════════════════════════════════════════╝
Быстрый многопоточный сканер ICMP Timestamp с цветным hex-выводом и детальным анализом временных меток.
Обнаруживает хосты, уязвимые к CVE-1999-0524 (раскрытие информации через ICMP Timestamp), отправляя пакеты 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) |
| Цветное hex-представление | Заголовок IP · заголовок ICMP · байт типа · временные метки — у каждого элемента свой цвет |
| Декодирование временных меток | Сырые миллисекунды преобразуются в HH:MM:SS.mmm UTC |
| Hex-доказательства в сводке | Цветной hex + легенда выводятся для каждого уязвимого хоста в итоговой сводке |
Полный hex-дамп (-v) | Колонки смещения, hex и ASCII для каждого ответа |
Индикатор прогресса (-v) | Живой индикатор прогресса, отображается только в подробном режиме |
| Сводная таблица | Сортированная таблица уязвимых хостов с TTL, RTT и временем сервера |
| Ноль зависимостей | Только стандартная библиотека Python — установка через pip не требуется |
python3 --version # must be 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) | Результаты выводятся сразу по мере ответа каждого хоста — цветной hex + временные метки для каждого хоста, затем сводка |
Подробный (-v) | Живой индикатор прогресса во время сканирования, затем полный hex-дамп для каждого хоста, затем сводка |
# 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 ─────────────────────────────────────────────