Anterior, noi
Destul de ciudat, Kolsek nu a putut reproduce inițial atacul descris și demonstrat de John, unde a folosit Internet Explorer care rulează pe Windows 7 pentru a descărca și apoi a deschide un fișier MHT rău intenționat. Deși managerul său de proces a arătat că system.ini, care a fost planificat să fie furat de el însuși, a fost citit de un script ascuns în fișierul MHT, dar nu a fost trimis la serverul de la distanță.
„Aceasta arăta ca o situație clasică de marcare a web-ului”, scrie Kolsek. „Când un fișier este primit de pe Internet, aplicațiile Windows care rulează corect, cum ar fi browserele web și clienții de e-mail, adaugă o etichetă la un astfel de fișier sub forma
Cercetătorul a verificat că IE a stabilit de fapt o astfel de etichetă pentru fișierul MHT descărcat. Kolsek a încercat apoi să descarce același fișier folosind Edge și să îl deschidă în IE, care rămâne aplicația implicită pentru fișierele MHT. În mod neașteptat, exploit-ul a funcționat.
În primul rând, cercetătorul a verificat „mark-of-the-Web”, s-a dovedit că Edge stochează și sursa originii fișierului într-un flux de date alternativ, pe lângă identificatorul de securitate, ceea ce poate ridica unele întrebări cu privire la confidențialitatea acestui fișier. metodă. Kolsek a speculat că liniile suplimentare ar fi putut confunda IE și l-au împiedicat să citească SID-ul, dar, după cum se dovedește, problema era în altă parte. După o analiză îndelungată, specialistul în securitate a găsit cauza în două intrări din lista de control acces care adăugau dreptul de citire a fișierului MHT unui anumit serviciu de sistem, pe care Edge l-a adăugat acolo după ce l-a încărcat.
James Foreshaw de la echipa dedicată vulnerabilităților zero-day - Google Project Zero -
În continuare, cercetătorul a dorit să înțeleagă mai bine ce cauzează eșuarea sistemului de securitate al IE. O analiză aprofundată folosind utilitarul Process Monitor și dezasamblatorul IDA a dezvăluit în cele din urmă că rezoluția setată a Edge a împiedicat funcția Win Api GetZoneFromAlternateDataStreamEx să citească fluxul de fișiere Zone.Identifier și a returnat o eroare. Pentru Internet Explorer, o astfel de eroare la solicitarea etichetei de securitate a unui fișier a fost complet neașteptată și, aparent, browserul a considerat că eroarea era echivalentă cu faptul că fișierul nu avea marcajul „mark-of-the-Web”, ceea ce îl face automat de încredere, după ce IE a permis ca scriptul ascuns în fișierul MHT să execute și să trimită fișierul local țintă către serverul de la distanță.
„Vezi ironia aici?” întreabă Kolsek. „O caracteristică de securitate nedocumentată folosită de Edge a neutralizat o caracteristică existentă, fără îndoială, mult mai importantă (mark-of-the-Web) în Internet Explorer.”
În ciuda importanței crescute a vulnerabilității, care permite rularea unui script rău intenționat ca un script de încredere, nu există nicio indicație că Microsoft intenționează să remedieze eroarea în curând, dacă va fi remediată vreodată. Prin urmare, vă recomandăm în continuare ca, ca și în articolul precedent, să schimbați programul implicit pentru deschiderea fișierelor MHT în orice browser modern.
Desigur, cercetarea lui Kolsek nu a mers fără un pic de auto-PR. La sfârșitul articolului, a demonstrat un mic patch scris în limbaj de asamblare care poate folosi serviciul 0patch dezvoltat de compania sa. 0patch detectează automat software-ul vulnerabil pe computerul utilizatorului și îi aplică literalmente din mers mici patch-uri. De exemplu, în cazul descris de noi, 0patch va înlocui mesajul de eroare din funcția GetZoneFromAlternateDataStreamEx cu o valoare corespunzătoare unui fișier nede încredere primit din rețea, astfel încât IE să nu permită executarea niciunui script ascuns în conformitate cu în politica de securitate.
Sursa: 3dnews.ru