Vulnerabilitatea Windows Bad Neighbor – și cum să vă protejați rețeaua

În octombrie 2020, Microsoft a reparat un set de vulnerabilități care includeau erori critice de rețea CVE-2020-16898 și CVE-2020-16899. Cunoscute sub numele de „Bad Neighbor” sau „Ping of Death Redux”, aceste defecte se ascund în implementarea rețelei TCP / IP în Windows în modul în care sunt tratate pachetele ICMPv6 în anumite condiții.

Atât CVE-2020-16898, cât și CVE-2020-16899 reprezintă vulnerabilitatea Bad Neighbor, cu toate acestea, impactul CVE-2020-16898 este executarea codului de la distanță, în timp ce pentru CVE-2020-16899 este denial of service (DoS).

Defectul necesită atenție, deoarece are impact chiar și pe versiunile recente de Windows 10 și Server, foarte utilizate atât în mediul de afaceri, cât și în cel de acasă. Mai mult, pe internet au apărut multiple exploatări ale dovezii de concept (PoC) pentru această vulnerabilitate.

Ce este Bad Neighbor?

Recomandările de securitate ale Microsoft privind vulnerabilitatea sunt destul de simpliste:

„Există o vulnerabilitate la execuția codului la distanță atunci când stiva Windows TCP / IP gestionează în mod necorespunzător pachetele ICMPv6 Router Advertisement. Un atacator care a exploatat cu succes această vulnerabilitate ar putea câștiga capacitatea de a executa cod pe serverul sau clientul țintă. ”

Defectul Bad Neighbor provine dintr-o depășire a bufferului care are loc din cauza modului în care stiva TCP / IP este implementată în Windows. Când protocolul ICMPv6 este activat, implementarea nu gestionează corect pachetele de router advertisement (RA), cu condiția ca serverul DNS recursiv (RDNSS) să fie, de asemenea, activat.

Acest lucru se datorează faptului că atunci când se aplică ambele condiții, se așteaptă ca pachetele ICMPv6 RA să aibă cinci câmpuri: tip, lungime, rezervat, durată de viață și adrese IPv6 RDNSS, lungimea pachetului fiind o valoare impară, așa cum este specificat de RFC 8106.

Motivul pentru aceasta este simplu. Valoarea lungimii (care ar trebui să fie de cel puțin 3) este numărată în trepte de 8 octeți. Primele patru câmpuri ocupă întotdeauna 8 octeți. Având în vedere ultimul câmp (adresele IPv6 RDNSS) poate conține una sau mai multe adrese IPv6 care au câte 16 octeți, dimensiunea totală a unui singur pachet RA este de așteptat să fie 24, 40, 56 … (în funcție de câte adrese IPv6 există) .

O structură de pachete ICMPv6 cu opțiunea RDNSS activată

O lungime de 3 ar implica faptul că lungimea totală a pachetului este de 24 octeți și conține doar o adresă IPv6. În consecință, valoarea prevăzută pentru lungime ar trebui să fie de 3, 5, 7 și așa mai departe.

Dacă un pachet elaborat conține o valoare de lungime uniformă, poate duce la un buffer overflow datorită faptului că pachetul este mai mare, dar se anunță că conține mai puțini octeți decât face de fapt. Rezultatul buffer overflow-lui este obligat să provoace o condiție DoS, dar în anumite condiții un atacator la distanță neautentificat poate exploata defectul pentru a executa și cod arbitrar pe sistemul afectat.

„Pentru a exploata această vulnerabilitate, un atacator ar trebui să trimită pachete router advertisement ICMPv6 special create la un computer Windows la distanță”, explică recomandarea de securitate Microsoft pe CVE-2020-16898.

Care este impactul potențial al Bad Neighbor?

Windows și Windows Server rămân cele mai utilizate sisteme de operare din mediul de afaceri, inclusiv asistența medicală. Operatorii Ransomware vizează spitalele și instituțiile medicale folosind o varietate de vectori de atac. Într-un caz, un atac ransomware a cauzat moartea unui pacient.

Având în vedere probabilitatea ca acest defect să fie abuzat pentru a viza spitalele, Serviciul Național de Sănătate (NHS) din Marea Britanie și-a lansat propriul aviz de securitate privind Bad Neighbor. „Bad Neighbor este una dintre acele vulnerabilități pe care oamenii le pot considera ușor, deoarece în prezent are ca rezultat doar un blocaj al ecranului albastru”, spune Rob Bathurst, director tehnic al Digitalware.

Bathurst spune că operatorii de ransomware pot folosi această vulnerabilitate ca un vector de atac pentru a-și livra kiturile rău intenționate și a-și accelera activitățile într-o rețea compromisă. „Cu toate acestea, această opinie nu ține cont de faptul că singura modalitate de a vă proteja este dezactivarea IPv6, care pe un computer modern sau cu unire de domeniu este aproape imposibilă. Acest lucru înseamnă că grupurile de ransomware, odată ce vulnerabilitatea este armată, o pot folosi împotriva oricui are un sistem de operare afectat pe care îl poate ajunge printr-o rețea. O versiune armată a acestei vulnerabilități capabilă [să instaleze] un kit de ransomware ar putea crește grav viteza unei infecții după compromisul inițial. ”

Vulnerabilitatea Bad Neighbor are acum multiple exploatări PoC disponibile. Motiv pentru care administratorii de rețea sunt încurajați să remedieze imediat acest defect.

Cum să atenuați vulnerabilitatea Bad Neighbor

Recomandările Microsoft recomandă repararea vulnerabilității Bad Neighbor prin aplicarea celor mai recente actualizări de securitate. Dacă actualizarea nu este posibilă, a fost prevăzută o soluție pentru sistemele care rulează Windows 10 versiunea 1709 și mai sus. Soluția de rezolvare cuprinde dezactivarea opțiunii ICMPv6 RDNSS prin executarea unei comenzi PowerShell simple. Nu este necesară o repornire a sistemului pentru ca modificările să intre în vigoare.

netsh int ipv6 set int *INTERFACENUMBER* rabaseddnsconfig=disable

„Soluția alternativă dezactivează configurația DNS bazată pe RA. Este o alternativă în rețelele în care adresa unei gazde IPv6 este configurată automat prin configurarea automată a adresei fără stat IPv6 în care fie nu există deloc o infrastructură DHCPv6, fie unele gazde nu au un client DHCPv6 ”, a spus consilierul Microsoft. „Windows acceptă în continuare DHCPv6 și are prioritate față de configurația bazată pe 6106”.

Cu toate acestea, consultați administratorii IT și de rețea înainte de a aplica aceste soluții pentru a vă asigura că infrastructura întreprinderii nu se bazează pe configurația DNS bazată pe RA.

Pentru profesioniștii din SOC, următoarea regulă Suricata IDS poate ajuta la monitorizarea traficului pentru semne ale unei exploatari Bad Neighbor în curs. Scriptul cve-2020-16898.lua cu informații conexe este disponibil de la echipa McAfee Advanced Threat Research de pe GitHub.

alert icmp any any -> any any (msg:”Potential CVE-2020-16898 Exploit”; lua:cve-2020-16898.lua; sid:202016898; rev:1;)

Ceea ce face remedierea deosebit de dificilă în Bad Neighbor este compromisul care ar putea rezulta din dezactivarea caracteristicii RDNSS a ICMPv6, în vremuri în care IPv6 continuă să fie adoptat pe scară largă.

Sursa: https://www.csoonline.com/article/3586565/the-windows-bad-neighbor-vulnerability-explained-and-how-to-protect-your-network.html

Comments are closed.

Translate »