Currently viewing the tag: "ntp"

Înainte de sfârșitul anului 2013, Symantec a observat o creștere semnificativă a numărului de atacuri reflexive ce folosesc protocolul NTP. NTP (Network Time Protocol), este un protocol mai puțin cunoscut ce folosește portul 123 (UDP) și este folosit pentru a sincroniza timpul pe echipamentele conectate la o rețea de comunicații de date. NTP, este unul din serviciile de tipul “configurează și uită”.

Cum funcționează atacurile reflexive ce folosesc NTP ?

La fel ca și atacurile DNS reflexive cu amplificare, atacatorul trimite un pachet cât mai mic (ce are ca adresă IP sursă adresa IP a victimei), ce generează un răspuns cât mai mare (ca și număr de octeți). În cazul de față, atacatorul se folosește de comanda NTP “monlist”. Această comandă este specifică versiunilor mai vechi de NTP și poate fi trimisă de la distanță fără a fi necesare operații de autentificare sau autorizare la nivel de utilizator sau adresă IP. Comanda “monlist”  trimite către adresa IP de la care a fost inițiată comanda o listă cu ultimele 600 de echipamente care s-au conectat la serverul de NTP, fiind astfel o sursă excelentă pentru a genera atacuri reflexive cu grad foarte mare de amplificare (sunt necesari doar câțiva octeți pentru a genera un trafic de 1000 de ori mai mare). Cele mai uzuale utilitare folosite pentru scanare claselor de adrese IP precum NMAP, au module speciale pentru NTP ce includ suport pentru acestă comandă, folosind-o pentru a aduna mai multe informații.

Cum ne putem elimina riscul ca serverul NTP să fie folosit în astfel de atacuri ?

Cea mai simplă cale este să facem upgrade la NTP versiunea 4.2.7, în care suportul pentru comanda “monlist” este scos definitiv. Atunci când upgrade-ul nu este o opțiune, se poate porni serviciul de NTP cu opțiunea noquery activată în fișierul de configurare. Această opțiune nu va permite accesul la pachetele de tip mod 6 și mod 7 ale NTP (ce includ și comanda monlist).

O rezolvare mult mai elegantă și mai sigură în același timp presupune configurarea corectă și completă a serviciului NTP. Un exemplu de bune practici în acest sens poate fi găsit pe site-ul Team Cymru.

Cum putem verifica dacă serverul nostru de NTP are comanda monlist activată ?

Cea mai simplă cale de a verifica dacă un server are comanda monlist activată este folosind utilitarul ntpdc , mai precis:

[root@server ~]# ntpdc -c monlist «adresă IP server NTP»

Dacă rezultatul arată ca în lista de mai jos atunci serverul dvs de NTP are suport pentru comanda monlist și poate fi folosit în atacuri NTP reflexive cu amplificare.

remote address          port local address      count m ver code avgint  lstint
===============================================================================
localhost.localdomain  53949 127.0.0.1              1 7 2      0      0       0
tock.usshc.com           123 xxx.xxx.xxx.xxx         1 4 4    5d0      0      53
198.52.198.248           123 xxx.xxx.xxx.xxx         1 4 4    5d0      0      54
rook.slash31.com         123 xxx.xxx.xxx.xxx       1 4 4    5d0      0      55
eightyeight.xmission.c   123 xxx.xxx.xxx.xxx         1 4 4    5d0      0      56

Referințe:

  1. Articol inițial – Symantec – http://www.symantec.com/connect/blogs/hackers-spend-christmas-break-launching-large-scale-ntp-reflection-attacks
  2. Ghid de bună practică a configurării serviciului NTP – Team Cymru – http://www.team-cymru.org/ReadingRoom/Templates/secure-ntp-template.html
Tagged with: