Okazuje się, iż 10-letnia luka w zabezpieczeniach systemu Windows jest przez cały czas wykorzystywana w atakach. Podmienione i podpisane przez Microsoft, na pozór wyglądające na legalne pliki wykonywalne używane są w wektorze ataku na system. Poprawka Microsoftu wciąż dostępna jest jako opcjonalna i do zastosowania wymaga zgody użytkownika. Co gorsza, zostaje usunięta po aktualizacji do systemu Windows 11.
Czyż nie brzmi to jak zawiła akcja brazylijskiej telenoweli? Wszystko zaczęło się w zeszłą środę po opublikowaniu przez SentinelOne posta dotyczącego kampanii nazwanej „Smooth Operator”. Opisuje on, iż używany przez około 600 000 firm na całym świecie i ponad 12 milionów użytkowników dziennie stacjonarny klient VOIP (Voice Over Internet Protocol) firmy 3CX został naruszony przez złośliwą aktualizację.
Oprócz powyższego 29 marca wielu dostawców EDR i rozwiązań antywirusowych zaczęło uruchamiać i oznaczać legalny, podpisany plik binarny „3CXDesktopApp.exe”. Aplikacja rozpoczynała proces aktualizacji, który ostatecznie doprowadzał do złośliwego zachowania i komunikacji w trybie poleceń i kontroli z wieloma serwerami zewnętrznymi.
O co chodzi w łańcuchu ataku na 3CX?
Oprogramowanie 3CX, które dostępne było na oficjalnej, publicznej stronie internetowej, zawierało inne oprogramowanie – złośliwe. Wdrożone instalacje 3CX podczas automatycznej aktualizacji pobierały dwa pliki DLL z backdoorem: „ffmpeg.dll” i nieprawidłowy plik „d3dcompiler_47.dll”. Te dwie biblioteki DLL używane przez aplikację systemu Windows zostały zastąpione złośliwymi wersjami, które pobierają na komputery dodatkowe złośliwe oprogramowanie, takie jak kradnący informacje trojan.
Jedna ze złośliwych bibliotek DLL wykorzystywanych w ataku to zwykła, legalna biblioteka DLL podpisana przez Microsoft, o nazwie „d3dcompiler_47.dll.” Cyberprzestępcy zmodyfikowali ją tak, aby na końcu pliku znajdowała się zaszyfrowana szkodliwa treść.
Mimo iż plik został zmieniony, system Windows przez cały czas wyświetlał go jako poprawnie podpisany przez Microsoft – tutaj należy zastanowić się dlaczego.
Atak ma związek z 10-letnią poprawką
„10 grudnia 2013 r. Microsoft wydał aktualizację dla wszystkich obsługiwanych wersji systemu Microsoft Windows, która zmienia sposób weryfikacji podpisów plików binarnych podpisanych dzięki formatu podpisu Windows Authenticode” – wyjaśnia komunikat Microsoft dotyczący luki CVE-2013-3900.
Czytamy dalej, iż „zmiana może zostać wdrożona po wyrażeniu zgody przez użytkownika”.
„Po włączeniu nowe zachowanie weryfikacji podpisu Windows Authenticode nie będzie już zezwalać na zbędne informacje w strukturze WIN_CERTIFICATE, a system Windows nie będzie już rozpoznawał niezgodnych plików binarnych jako podpisanych”.
Ten, kto nie zastosował tego typu poprawki, mógł paść ofiarą ataku, który wykorzystywał tę słabość systemu.
Jak wygląda atak na Windows i MacOS w przypadku 3CX?
Cały atak na Windows można opisać dzięki poniższego schematu:
Atak na MacOS:
Wczoraj sprawdzaliśmy w serwisie „shodan.io” liczbę dostępnych z Internetu systemów zarządzania telefonami 3CX. Wynik jest imponujący, bo to ponad 242 tysiące. Stanowi to dużą bazę systemów klienckich do ataku.
Co możemy zrobić, by się chronić?
Po pierwsze – upewnij się, iż usunąłeś wszelkie wyjątki, które mogły zostać utworzone dla aplikacji. Naruszonemu oprogramowaniu przypisano kod CVE-2023-29059. Ma ono wpływ na następujące wersje systemów Windows i MacOS:
- Windows: wersje 18.12.407 i 18.12.416 aplikacji Electron Windows dostarczane z aktualizacją Update 7,
- MacOS: wersje 18.11.1213, 18.12.402, 18.12.407 i 18.12.416 aplikacji Electron na MacOS.
Natychmiast odinstaluj wszystkie wersje produktu, których dotyczy problem, i przeprowadź wyszukiwanie podejrzanych artefaktów ataku, korzystając z IOC.
Tutaj znajdziesz pomocny skrypt w PowerShell, który przeszukuje profile użytkowników i znane lokalizacje instalacji pod kątem zainfekowanych instalacji aplikacji 3CX Windows.
Pozostaje jeszcze opcjonalna poprawka, którą można włączyć tylko poprzez ręczną edycję rejestru systemu Windows. Aby to zrobić, użytkownicy Windows w systemach 64-bitowych mogą wprowadzić następujące zmiany w rejestrze:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Wintrust\Config] "EnableCertPaddingCheck"="1" [HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Cryptography\Wintrust\Config] "EnableCertPaddingCheck"="1"Należy również pamiętać, iż aktualizacja do Windows 11 usuwa ograniczenia bezpieczeństwa dla CVE-2013-3900, co oznacza, iż jeżeli dokonasz aktualizacji, musisz ponownie zastosować wspomniane ograniczenia.