NowościRTV

Oddzielne błędy EoP pozwalają hakerom uzyskać pełną kontrolę nad systemami Windows i Linux

Rysunkowa kłódka została sfotografowana na świecących chipach komputerowych.

Świat obudził się we wtorek, gdy pojawiły się dwie nowe luki — jedna w systemie Windows, a druga w systemie Linux — które pozwalają hakerom, którzy mają kontakt z podatnym systemem, ominąć ograniczenia bezpieczeństwa systemu operacyjnego i uzyskać dostęp do wrażliwych zasobów.

Ponieważ systemy operacyjne i aplikacje stają się coraz trudniejsze do zhakowania, skuteczne ataki w dzisiejszych czasach zazwyczaj wymagają co najmniej dwóch luk w zabezpieczeniach. Jedna z luk umożliwia atakującemu dostęp do nisko uprzywilejowanych zasobów systemu operacyjnego, w których można wykonać kod lub odczytać poufne dane. Druga podatność podnosi, że wykonanie kodu lub dostęp do plików do zasobów systemu operacyjnego zarezerwowanych dla takich rzeczy, jak przechowywanie haseł lub inne wrażliwe operacje. W związku z tym w ostatnich latach wzrosła wartość tak zwanych luk w zabezpieczeniach eskalacji uprawnień lokalnych.

Łamanie okien

Luka w systemie Windows podejdź do światła przypadkiem w poniedziałek, kiedy badacz zaobserwował, jak sądził, regresję kodowania w wersji beta nadchodzącego systemu Windows 11. Badacz odkrył, że zawartość menedżera kont zabezpieczeń — bazy danych, która przechowuje konta użytkowników i deskryptory zabezpieczeń dla użytkowników na komputer lokalny — mogą być odczytywane przez użytkowników z ograniczonymi uprawnieniami systemowymi.

Umożliwiło to wyodrębnienie chronionych kryptograficznie danych haseł, odkrycie hasła używanego do instalacji systemu Windows, uzyskanie kluczy komputerowych dla interfejsu API ochrony danych systemu Windows — który może być użyty do odszyfrowania prywatnych kluczy szyfrowania — oraz utworzenie konta na podatnej maszynie. W rezultacie użytkownik lokalny może podnieść uprawnienia aż do Systemu, najwyższego poziomu w systemie Windows.

„Nie znam jeszcze pełnego zakresu problemu, ale myślę, że jest to zbyt wiele, aby nie stanowiło problemu” – zauważył badacz Jonas Lykkegaard. „Aby nikt nie miał wątpliwości, co to oznacza, jest to EOP do SYSTEMU nawet dla aplikacji w piaskownicy”.

Osoby reagujące na Lykkegaard szybko zwróciły uwagę, że zachowanie to nie było regresją, która została wprowadzona w systemie Windows 11. Zamiast tego ta sama luka była również obecna w najnowszej wersji systemu Windows 10. Amerykański zespół ds. gotowości na wypadek awarii komputerowych powiedział tutaj, że luka jest obecny, gdy usługa kopiowania woluminów w tle — funkcja systemu Windows, która umożliwia systemowi operacyjnemu lub aplikacjom wykonywanie „zrzutów obrazu z określonego momentu” całego dysku bez blokowania systemu plików — jest włączona.

W poradniku wyjaśniono:

Jeśli dostępna jest kopia w tle dysku systemowego VSS, użytkownik nieuprzywilejowany może wykorzystać dostęp do tych plików, aby osiągnąć szereg skutków, w tym między innymi:

  • Wyodrębnij i wykorzystuj skróty haseł do konta.
  • Odkryj oryginalne hasło instalacyjne systemu Windows.
  • Uzyskaj klucze komputera DPAPI, których można użyć do odszyfrowania wszystkich kluczy prywatnych komputera.
  • Uzyskaj konto komputera, którego można użyć w ataku na srebrny bilet.

Należy pamiętać, że kopie w tle usługi VSS mogą nie być dostępne w niektórych konfiguracjach, jednak samo posiadanie dysku systemowego o rozmiarze większym niż 128 GB, a następnie wykonanie aktualizacji systemu Windows lub zainstalowanie pliku MSI zapewni automatyczne utworzenie kopii w tle usługi VSS. Aby sprawdzić, czy system ma dostępne kopie w tle usługi VSS, uruchom następujące polecenie z wiersza polecenia uprzywilejowanego:
vssadmin list shadows

Badacz Benjamin Delpy pokazał tutaj w jaki sposób luka może zostać wykorzystana do uzyskania skrótów haseł innych wrażliwych danych:

Obecnie nie ma dostępnej poprawki. Przedstawiciele Microsoftu nie od razu skomentowali raport.

Et tu, jądro Linuksa?

W międzyczasie większość wersji Linuksa jest w trakcie rozpowszechniania poprawki dotyczącej luki ujawnionej we wtorek. CVE-2021-33909, ponieważ luka w zabezpieczeniach jest śledzona, umożliwia niezaufanemu użytkownikowi uzyskanie nieograniczonych praw systemowych poprzez tworzenie, montowanie i usuwanie głębokiej struktury katalogów o łącznej długości ścieżki przekraczającej 1 GB, a następnie otwieranie i odczytywanie /proc/self/mountinfo plik.

„Udało nam się wykorzystać ten niekontrolowany zapis poza granicami i uzyskaliśmy pełne uprawnienia roota w domyślnych instalacjach Ubuntu 20.04, Ubuntu 20.10, Ubuntu 21.04, Debian 11 i Fedora 34 Workstation”, naukowcy z Qualys, firmy zajmującej się bezpieczeństwem, która odkryła i stworzył kod weryfikacyjny, który ją wykorzystuje, napisał. „Inne dystrybucje Linuksa są z pewnością podatne na ataki i prawdopodobnie można je wykorzystać”.

Opisany exploit Qualys wiąże się ze znacznym obciążeniem, w szczególności z około 1 milionem zagnieżdżonych katalogów. Atak wymaga również około 5 GB pamięci i 1 miliona i-węzłów. Pomimo przeszkód przedstawiciel Qualys określił PoC jako „niezwykle niezawodny” i powiedział, że ukończenie zajmuje około trzech minut.

Oto przegląd exploita:

1/ mkdir() tworzy głęboką strukturę katalogów (około 1 mln katalogów zagnieżdżonych), której całkowita długość ścieżki przekracza 1GB, montujemy ją bindując w nieuprzywilejowanej przestrzeni nazw użytkownika i rmdir() ją.

2/ Tworzymy wątek, który vmalloc() sprawdza mały program eBPF (poprzez BPF_PROG_LOAD) i blokujemy ten wątek (poprzez userfaultfd lub FUSE) po tym, jak nasz program eBPF został zweryfikowany przez weryfikator eBPF jądra, ale
zanim zostanie skompilowany JIT przez jądro.

3/ Otwieramy() /proc/self/mountinfo w naszej nieuprzywilejowanej przestrzeni nazw użytkownika i zaczynamy read()ować długą ścieżkę naszego katalogu zamontowanego z wiązaniem, zapisując w ten sposób ciąg “//deleted” z przesunięciem równym dokładnie -2 GB -10B poniżej początku bufora vmalloc().

4/ Ustalamy, że ten “//usunięty” ciąg nadpisuje instrukcję naszego zatwierdzonego programu eBPF (i tym samym unieważni kontrole bezpieczeństwa jądra eBPF Verifier) ​​i przekształca ten niekontrolowany out-of-bound write w ujawnienie informacji, i do ograniczonego, ale kontrolowanego zapisu poza granicami.

5/ Przekształcamy ten ograniczony zapis poza granice w arbitralny odczyt i zapis pamięci jądra, ponownie wykorzystując piękne techniki btf i map_push_elem Manfreda Paula z:

https://www.thezdi.com/blog/2020/4/8/cve-2020-8835-linux-kernel-privilege-escalation-via-improper-ebpf-program-verification

Qualys ma tutaj osobny opis.

Osoby korzystające z Linuksa powinny skontaktować się z dystrybutorem, aby dowiedzieć się, czy dostępne są łatki naprawiające tę lukę. Użytkownicy systemu Windows powinni czekać na porady firmy Microsoft i zewnętrznych ekspertów ds. bezpieczeństwa.



Zostaw komentarz

Maciek Luboński
Z wykształcenia jestem kucharzem , ale to nie przeszkadza mi pisać dla Was tekstów z wielu ciekawych dziedzin , których sam jestem fanem.Piszę dużo i często nie na tak jak trzeba , ale co z tego skoro tak naprawdę liczy się pasja.

Najlepsze recenzje

Video

gallery

Facebook