
POC di CVE-1999-0524
╔══════════════════════════════════════════════════════════════════╗
║ ██╗ ██████╗███╗ ███╗██████╗ ████████╗███████╗ ║
║ ██║██╔════╝████╗ ████║██╔══██╗ ██╔══╝██╔════╝ ║
║ ██║██║ ██╔████╔██║██████╔╝ ██║ ███████╗ ║
║ ██║██║ ██║╚██╔╝██║██╔═══╝ ██║ ╚════██║ ║
║ ██║╚██████╗██║ ╚═╝ ██║██║ ██║ ███████║ ║
║ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══════╝ ║
╠══════════════════════════════════════════════════════════════════╣
║ CVE-1999-0524 · Scanner Richiesta/Risposta Timestamp ICMP ║
║ Autore : Muhamad Bion Tadavi — VPSI ║
║ Org : Vantage Point Security — Solo Uso Autorizzato ║
╚══════════════════════════════════════════════════════════════════╝
Scanner ICMP Timestamp veloce e multi-thread con output esadecimale colorato e analisi dettagliata dei timestamp.
Rileva host vulnerabili a CVE-1999-0524 (Divulgazione di informazioni tramite Timestamp ICMP) inviando pacchetti ICMP Tipo 13 (Richiesta Timestamp). Gli host che rispondono con ICMP Tipo 14 (Risposta Timestamp) vengono segnalati come vulnerabili — perdono il loro orologio di sistema interno, facilitando l'identificazione del dispositivo e l'incatenamento di attacchi basati sul tempo.
Realizzato con zero dipendenze esterne — puro Python stdlib.
Attaccante Target
│ │
│──── ICMP Tipo 13 (Richiesta Timestamp) ─▶│
│ │ [host elabora la richiesta]
│◀─── ICMP Tipo 14 (Risposta Timestamp) ──│
│ │
La risposta contiene tre campi timestamp a 32 bit (ms dalla mezzanotte UTC):
├── Timestamp di Origine (impostato dal richiedente — spesso 0)
├── Timestamp di Ricezione ◀── orologio del server divulgato qui
└── Timestamp di Trasmissione ◀── orologio del server divulgato qui
python3 --version # deve essere 3.8+
git clone https://github.com/<tuo-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 [OPZIONI]
Opzioni:
-t, --target IP, IP separati da virgola o CIDR (input da terminale)
-f, --file Percorso del file con un IP/CIDR per riga
--timeout SECS Secondi da attendere per host (predefinito: 2.0)
--threads N Thread concorrenti (predefinito: 30)
-v, --verbose Mostra barra di avanzamento + dump esadecimale completo per host
-h, --help Mostra aiuto
| Modalità | Comportamento |
|---|---|
Predefinita (senza -v) | Risultati stampati immediatamente appena ogni host risponde — hex colorato + timestamp per host, poi riepilogo |
Verbose (-v) | Barra di avanzamento live durante la scansione, poi dump esadecimale completo per host, poi riepilogo |
# Host singolo
sudo python3 icmp_timestamp_scan.py -t 192.168.1.1
# Host multipli
sudo python3 icmp_timestamp_scan.py -t 192.168.1.1,192.168.1.2,192.168.1.3
# Scansione sottorete CIDR
sudo python3 icmp_timestamp_scan.py -t 192.168.1.0/24
# Da file
sudo python3 icmp_timestamp_scan.py -f hosts.txt
# Verbose — barra di avanzamento + dump esadecimale completo
sudo python3 icmp_timestamp_scan.py -f hosts.txt -v
# Scansione ampia veloce
sudo python3 icmp_timestamp_scan.py -t 10.0.0.0/16 --threads 100 --timeout 1
hosts.txt# Un IP o CIDR per riga. Le righe che iniziano con # vengono ignorate.
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) [*] Target : 4 host
[*] Timeout : 2.0s | Thread: 30
[*] Iniziato : 2026-07-14 06:37:25 UTC
[*] Sonda : ICMP Tipo 13 (Richiesta Timestamp)
[*] Atteso : ICMP Tipo 14 (Risposta Timestamp) da host vulnerabili
╔══ VULNERABILE ════════════════════════════════════════════╗
║ Host : 192.168.1.1
║ Tipo ICMP : 14 — Risposta Timestamp (inviato Tipo 13)
║ TTL : 59
║ RTT : 1.84 ms
║ ── Timestamp (ms dalla mezzanotte UTC) ────────────────
║ Origine : 0 ms → 00:00:00.000 (non impostato)
║ Ricezione : 22,974,518 ms → 06:22:54.518 UTC
║ Trasmissione: 22,974,518 ms → 06:22:54.518 UTC ← orario server
║ ── Risposta Grezza (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 ...
║ Legenda: ██=intestazione IP ██=intestazione ICMP ██=tipo ICMP 14 ██=timestamp
╚══════════════════════════════════════════════════════════╝
[-] 192.168.1.2 nessuna risposta (filtrato o non vulnerabile)
╔══ VULNERABILE ════════════════════════════════════════════╗
║ Host : 192.168.1.3
║ TTL : 59 | RTT : 2.11 ms
║ Trasmissione: 22,977,926 ms → 06:22:57.926 UTC ← orario server
╚══════════════════════════════════════════════════════════╝
══════════════════════════════════════════════════════════════════
RIEPILOGO SCANSIONE
══════════════════════════════════════════════════════════════════
Ora scanner : 2026-07-14 13:37:25 WIB (06:37:25 UTC)
Totale sondati : 4
Vulnerabili : 2
Nessuna risp. : 2
Errori : 0
┌─ HOST VULNERABILI ────────────────────────────────────────────┐
│ Host TTL RTT Ora Server (UTC) ms Trasmissione │
├──────────────────────────────────────────────────────────────┤
│ 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 │
└──────────────────────────────────────────────────────────────┘
── Evidenza Esadecimale ───────────────────────────────────
[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 ...
Legenda: ██=intestazione IP ██=intestazione ICMP ██=tipo ICMP 14 ██=timestamp
[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 ...
Legenda: ██=intestazione IP ██=intestazione ICMP ██=tipo ICMP 14 ██=timestamp
Impatto : Divulgazione di Informazioni — orario server esposto
CWE : CWE-200 Esposizione di Informazioni Sensibili
CVSS v3 : 0.0 (Bassa) — accesso di rete richiesto
Fix : Bloccare ICMP tipo 13 al perimetro ACL/firewall
Cisco : access-list <ACL> deny icmp any any 13
Byte Campo Esempio Descrizione
───── ───────────────── ─────────── ──────────────────────────────────────
0 Versione IP/IHL 45 IPv4, lunghezza intestazione = 20 byte
1 DSCP/ECN 48
2-3 Lunghezza Totale 0028 40 byte
4-5 Identificazione 1476
6-7 Flag/Frammento 0000
8 TTL 3b 59 hop
9 Protocollo 01 ICMP
10-11 Checksum IP 2d93
12-15 IP Sorgente c0a80101 192.168.1.1 ← host rispondente
16-19 IP Destinazione c0a80164 192.168.1.100 ← scanner
──── Intestazione ICMP inizia al byte 20 ──────────────────────────────────────
20 Tipo ICMP 0e 14 = Risposta Timestamp ← VULNERABILE
21 Codice ICMP 00
22-23 Checksum ICMP f915
24-25 Identificatore d5bf
26-27 Numero Sequenza 0001
28-31 TS Origine 00000000 0 ms (campo richiedente, non compilato)
32-35 TS Ricezione 015e9036 22,974,518 ms = 06:22:54 UTC ← divulgato
36-39 TS Trasmissione 015e9036 22,974,518 ms = 06:22:54 UTC ← divulgato
ip access-list extended BLOCK-ICMP-TS
deny icmp any any 13
deny icmp any any 17
permit ip any any
!
interface GigabitEthernet0/0
ip access-group BLOCK-ICMP-TS in
access-list OUTSIDE_IN deny icmp any any 13
access-list OUTSIDE_IN deny icmp any any 17
access-group OUTSIDE_IN in interface outside
iptables -A INPUT -p icmp --icmp-type timestamp-request -j DROP
iptables -A OUTPUT -p icmp --icmp-type timestamp-reply -j DROP
nft add rule inet filter input icmp type timestamp-request drop
nft add rule inet filter output icmp type timestamp-reply drop
netsh advfirewall firewall add rule `
name="Blocca Richiesta Timestamp ICMP" `
protocol=icmpv4:13,any action=block dir=in
Questo strumento è destinato esclusivamente a test di penetration test autorizzati, ricerca sulla sicurezza e scopi educativi.
L'esecuzione di questo strumento contro qualsiasi sistema senza esplicita autorizzazione scritta del proprietario del sistema è illegale e potrebbe violare le leggi sui crimini informatici nella tua giurisdizione.
L'autore e Vantage Point Security non si assumono alcuna responsabilità per qualsiasi uso improprio di questo strumento.
Realizzato con ♥ da Muhamad Bion Tadavi — Vantage Point Security (VPSI)
| Campo | Valore |
|---|
| ID CVE | CVE-1999-0524 |
| CWE | CWE-200 — Esposizione di Informazioni Sensibili |
| CVSS v3 | 0.0 (Bassa) |
| Tipo | Divulgazione di Informazioni |
| Protocollo | ICMP Tipo 13 / Tipo 14 |
| Affetti | Cisco IOS, Cisco ASA, Linux, Windows (dipende dalla configurazione) |
| Caratteristica | Dettaglio |
|---|
| Scansione multi-thread | Sonde parallele configurabili (predefinito: 30 thread) |
| Input flessibile | IP singolo · Separati da virgola · Range CIDR · File (-t / -f) |
| Esadecimale colorato | Intestazione IP · Intestazione ICMP · Byte tipo · Timestamp — ognuno colorato in modo univoco |
| Decodifica timestamp | Millisecondi grezzi decodificati in HH:MM:SS.mmm UTC |
| Evidenza esadecimale nel riepilogo | Hex colorato + legenda stampati per host vulnerabile nel riepilogo finale |
Dump esadecimale completo (-v) | Colonne offset + hex + ASCII per ogni risposta |
Barra di avanzamento (-v) | Barra di avanzamento live visualizzata solo in modalità verbose |
| Tabella di riepilogo | Tabella degli host vulnerabili ordinata con TTL, RTT e orario server |
| Zero dipendenze | Puro Python stdlib — nessun pip install richiesto |