-15% na nową książkę sekuraka: Wprowadzenie do bezpieczeństwa IT. Przy zamówieniu podaj kod: 10000

0-day w Windowsach, omijający ostrzeżenie o uruchomieniu pliku pochodzącego z Internetu. Podatność była wykorzystana w realnych atakach

23 listopada 2022, 09:39 | W biegu | komentarze 4
TL;DR – Filtr SmartScreen w systemie Windows ostrzega przed uruchomieniem plików pobranych z Internetu. Zmiana cyfrowego podpisu pliku powoduje, że filtr się nie uruchamia i aktywacja malware jest łatwiejsza.

Nowe ataki phishingowe używają podatności typu 0-day w systemie Windows do umieszczenia malware Qbot bez pojawienia się ostrzeżenia o tym, że plik pochodzi z Internetu (“Mark of the Web”). 

Gdy pliki zostają ściągnięte z niezaufanej lokalizacji zdalnej, takiej jak Internet lub załącznik e-mail, system Windows dodaje specjalny atrybut do pliku zwany “Mark of the Web” (MotW). Gdy użytkownik próbuje otworzyć taki plik, system wyświetli ostrzeżenie o tym, czy użytkownik jest pewny uruchomienia tego pliku, bo jego źródło nie jest weryfikowalne.

Rys. 1. Przykład otwarcia pliku z atrybutem MotW.

W ostatnim miesiącu grupa badaczy z HP Threat Intelligence odnalazła atak phishingowy, który dystrybuował ransomware Magniber za pomocą plików JavaScript. Jednak te pliki nie są tymi samymi, jakich używa się na stronach internetowych w formie skryptów. Są to samodzielne pliki z rozszerzeniem *.js, które są uruchamiane za pomocą środowiska wscript.exe (Windows Scripting Host). Jak możemy przeczytać w analizie Willa Dormanna na Twitterze, zagrożenie zostało sklasyfikowane jako nowa podatność 0-day, która nie wyświetla ostrzeżenia o otwarciu MotW. 

Rys. 2. Animacja prezentująca wykonanie ataku, źródło.

Analiza została przedstawiona w tym wątku. By wykonać tę podatność, plik JS (lub także inne, m.in. EXE) musi być podpisany z użyciem wbudowanego, zakodowanego bloku base64, jak zostało to opisane w artykule Microsoft

Rys. 3. Przykład zakodowanego bloku podpisu w skrypcie, źródło.

W tym momencie, gdy plik ze zmodyfikowaną sygnaturą zostanie otwarty, to filtr Microsoft SmartScreen nie wyświetli ostrzeżenia, tylko zezwoli na jego natychmiastowe uruchomienie.

Najnowsze kampanie phishingowe Qbot zaczęły wykorzystywać tę podatność. Cyberzbóje rozsiewali infekcję poprzez wysyłanie e-maili do ofiar z zahasłowanym archiwum ZIP zawierającym obraz ISO lub IMG. Ów obraz po uruchomieniu bez wywołania ochrony SmartScreen, zawierał skróty plikowe (LNK) oraz biblioteki DLL do instalacji malware. 

Rys. 4. Phishingowy e-mail zachęcający do pobrania zabezpieczonego hasłem archiwum ZIP.

W systemie Windows 10 i późniejszych, gdy kliknie się na ww. plik, to system podmontuje go automatycznie z przydzieleniem litery dysku. Zamontowany obraz zawiera złośliwy plik WW.js i plik tekstowy data.txt. Dodatkowo także folder zawierający bibliotekę DLL (Qbot) ze zmienionym rozszerzeniem do postaci resemblance.tmp (tutaj sygnatura na VirusTotal).

Rys. 5. Zamontowany złośliwy obraz CD, źródło.

Plik WW.js zawiera skrypt Visual Basic, który odczytuje zawartość pliku data.txt, który zawiera łańcuch “vR32” do zmiany parametrów komendy wywołania regSvR32.exe dla DLL z Qbot w postaci:

regSvR32 port\\resemblance.tmp

Rys. 6. Fragment złośliwego skryptu JS ze zmodyfikowaną sygnaturą w celu ominięcia filtra SmartScreen, źródło.

Rys. 7. Zmienione wywołanie Register Server ze złośliwym DLL, źródło.

W ramach programu Patch Tuesday, Microsoft w listopadzie wypuścił aktualizację bezpieczeństwa eliminującą lukę opisaną jako CVE-2022-41091.

Źródło:

  1. https://www.bleepingcomputer.com/news/security/new-attacks-use-windows-security-bypass-zero-day-to-drop-malware/ 
  2. https://www.bleepingcomputer.com/news/microsoft/microsoft-fixes-windows-zero-day-bug-exploited-to-push-malware/
  3. https://twitter.com/wdormann/status/1582466468968792064
  4. https://www.virustotal.com/gui/file/8ca16991684f7384c12b6622b8d1bcd23bc27f186f499c2059770ddd3031f274

~tt

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Daniel

    CVE to chyba CVE-2022-41091, nie CVE-2022-40191

    Odpowiedz
  2. Zerat

    Kluczowe w całej podatności jest to, że podpis musi być niepoprawny (w określony sposób) – tylko wtedy powoduje błąd mechanizmu weryfikacji i nie wyświetlenie warninga

    Odpowiedz
    • Tomasz Turba

      Dokładnie, aż dziw bierze, że po tylu latach takie easy taski wychodzą.

      Odpowiedz
  3. mex

    „By wykonać tę podatność, plik JS (lub także inne, min. EXE)…”
    min. – minimum
    m. in. – między innymi

    To tak na przyszłość :)

    Odpowiedz

Odpowiedz