Menu dostępności

Nowy sposób omijania systemów bezpieczeństwa – można uruchomić dowolny plik .exe ze złośliwym kodem. Obejście typu Exe Sideloading

Metody używane do niewidocznego ładowania podejrzanych bibliotek dll do pamięci komputera to jedne z najtrudniejszych do wykrycia exploitów. Pisaliśmy o tym między innymi w Kampanii Malware. Hackerzy i badacze security coraz częściej publikują nowe sposoby uruchamiania złośliwych makr i wykonywania niebezpiecznego kodu, który ukrywa się w plikach z rozszerzeniem dll. Pliki te uruchamiane są nieświadomie przez legalne aplikacje znajdujące się na białych listach, dzięki czemu udaje się obejść nawet zaawansowane zabezpieczenia. Metody te nazywane są „dll sideloading”.

W tym artykule skupimy się na czymś mocniejszym. Zamiast ukrywać kod w bibliotekach systemowych i martwić się o poprawne jego załadowanie przez aplikację, pokażemy niedawno odkrytą i opisaną metodę pozwalającą na obejście zabezpieczeń i uruchomienie dowolnego pliku wykonywalnego zawierającego złośliwy ładunek. Sposób jest bardzo prosty w użyciu i wykorzystuje popularną aplikację zainstalowaną domyślnie na najnowszych systemach Windows – Microsoft Teams.


Na czym polega podatność

Exploit został odkryty i opisany 8 września 2019 przez inżyniera i badacza podatności Reegun’a Richard’a. W skrócie polega na możliwości uruchomienia czegokolwiek znajdującego się w określonej lokalizacji, za pomocą przygotowanej „binarki” podpisanej certyfikatem Microsoft. Problem dotyka tak naprawdę wielu popularnych aplikacji, nie tylko MS Teams. Chodzi o wszystkie aplikacje, które do aktualizacji używają framework’a Squirrel. Na liście podatnych aplikacji są więc między innymi: Microsoft Teams, WhatsApp, GitHub, Slack, Discord, Grammarly.

Exploit nie potrzebuje żadnych zasobów ani dodatkowych warunków, aby z powodzeniem uruchomić się w systemie. Wystarczy jedynie mała paczka stworzona przez atakującego. Autor wykorzystuje tutaj fakt, że plik „update.exe” oraz dwa foldery – „current” oraz „packages”, jako składniki normalnej instalacji Microsoft Teams, pozwalają na uruchomienie w systemie malware, który dziedziczy podpis i zaufanie od pliku „update.exe”. Powoduje to ominięcie niektórych systemów zabezpieczeń. Wygląda to tak, jakby uruchomienie pliku „update.exe” na ślepo wykonywało wszystko, co znajduje się w katalogu „current”. W katalogu „packages” znajdować się musi z kolei plik o nazwie „RELEASES”, jednak jego zawartość, w przypadku MS Teams, nie ma zupełnie znaczenia i nie jest weryfikowana.

Autor obejścia przygotował specjalne paczki do pobrania i przetestowania podatności na wszystkich znanych i zdiagnozowanych aplikacjach.


Przetestowany scenariusz

Z repozytorium GitHub pobraliśmy paczkę przygotowaną pod wykorzystanie exploit’a w Microsoft Teams. Jej zawartość prezentuje się następująco:

Programik Update.exe jest zaufany w systemie Windows oraz wykorzystywany do pobierania aktualizacji dla Microsoft Teams. To właśnie dzięki temu mechanizmowi i braku weryfikacji odpalanych binarek exploit działa.

Podpisy cyfrowe pliku Update.exe

W katalogu packages znajduje się z kolei plik RELEASES. Jego zawartość nie ma znaczenia, a weryfikowana jest jedynie nazwa oraz rozszerzenie.

Katalog current to miejsce, gdzie umieszczamy przygotowany ładunek w pliku wykonywalnym exe. W naszym scenariuszu jest to skompilowany skrypt batch zawierający jedną komendę:

explorer ”https://kapitanhack.pl”

Komenda ta otwiera podaną stronę w domyślnej przeglądarce internetowej. Zmieniamy nazwę pliku na Teams.exe i umieszczamy go w podanym miejscu poniżej:

Nie ma znaczenia z jakiego miejsca uruchamiamy exploit. Pobrana z repozytorium paczka można znajdować się nawet na pulpicie zwykłego użytkownika.

Następnie wykonujemy poniższą komendę i czekamy na wynik.

Naszym oczom ukaże się strona internetowa otwarta w przeglądarce domyślnej. Metoda z powodzeniem omija UAC, Windows Defender oraz niektóre systemy EDR, ponieważ większość reguł ma zaimplementowany wyjątek na plik update.exe. Po wykonaniu się procesu zostaje stworzony log SquirrelSetup, jednak nie ma w nim żadnej wzmianki o tym, jakie operacje zostały wykonane w systemie poprzez dostarczony ładunek.

Autor podatności zgłosił ją do programu Bug Bounty Microsoftu, jednak została ona odrzucona z dopiskiem, że „nie spełnia norm bezpieczeństwa”. Trudno powiedzieć o co chodziło. Powszechnie wiadomo, że aplikację Microsoft Teams używa codziennie 13 milionów użytkowników, a około 20 milionów przynajmniej raz w tygodniu. Problem jest więc dość istotny.


Podsumowanie

Exploit może być wykorzystany do uruchomienia malware, który z powodzeniem obejdzie zabezpieczenia EDR (Endpoint Detection Response) oraz białe listy dozwolonych aplikacji. Dodatkowo, ponieważ plik wykonywalny uruchamiany jest ze znanej, podpisanej binarki zaawansowane systemy AV również zostaną oszukane. Omijane jest też okno UAC, ponieważ Microsoft dodał wyjątek na plik update.exe.

Zachęcamy do przetestowania exploita w swoim środowisku w celu sprawdzenia zaimplementowanych reguł w systemach bezpieczeństwa.

Popularne

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

W tym artykule pokażemy, jak możemy zmienić hasło administratora na komputerze posiadając do niego fizyczny dostęp. Artykuł ten można potraktować także jako przestrogę dla firm, które nie zaimplementowały jeszcze odpo...
Jak awaria Azure Front Door rzuciła cień na globalne usługi chmurowe

Jak awaria Azure Front Door rzuciła cień na globalne usługi chmurowe

W środę 9 października użytkownicy platformy Microsoft Azure na całym świecie doświadczyli poważnych zakłóceń. Wiele usług stało się niedostępnych, a administratorzy nie mogli nawet zalogować się do portalu...
Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jeśli masz odrobinę szczęścia lub „odpowiednie umiejętności” i potrafisz zdobyć lokalne uprawnienia administracyjne na Twoim komputerze w firmie lub zaliczasz się do grona tych szczęściarzy, którzy pracuj...
Czego nie mówi Broadcom? Luka w VMware jest banalna do wykorzystania i korzysta z niej co najmniej jedna grupa hakerska!

Czego nie mówi Broadcom? Luka w VMware jest banalna do wykorzystania i korzysta z niej co najmniej jedna grupa hakerska!

Niedawno załatana wysoce poważna luka w zabezpieczeniach VMware jest wykorzystywana jako zero-day od października 2024 roku do wykonywania kodu z podwyższonymi uprawnieniami. Taką informacją podzieliło się w...
Uwaga, administratorzy oraz zespoły bezpieczeństwa Splunk! Sześć krytycznych luk w Splunk Enterprise – analiza i rekomendacje

Uwaga, administratorzy oraz zespoły bezpieczeństwa Splunk! Sześć krytycznych luk w Splunk Enterprise – analiza i rekomendacje

Splunk opublikował ważne informacje, dotyczące szeregu nowych podatności w swoich produktach Splunk Enterprise i Splunk Cloud Platform. Luki mogą umożliwić atakującym wykonanie nieautoryzowanego kodu Ja...