Makrowirusy wciąż groźne, ale Microsoft i Google się tym nie przejmują
To dalej działa: kampanie ze złośliwym oprogramowaniem, wykorzystujące Blogspot i Internet Archive do propagacji, w dalszym ciągu są technicznie wykonalne. Istnieją obecnie w wielu wariantach językowych, na potrzeby których przygotowano wiele (marnie przetłumaczonych maili). Google dalej nie widzi powodu, dla którego miałby blokować umieszczanie na Blogspocie skryptów Visual Basic, zamykając tym samym drogę przestępcom. Szybciej reaguje za to Internet Archive, usuwając hostowane u siebie wirusy.
27.05.2021 07:22
Na czym polega atak, przed którym Google nie chce nas chronić? To lekko tylko zmieniona formuła, o której pisaliśmy w naszym czteroczęściowym cyklu. Makrowirus w dokumencie PowerPointa, przysłanym jako załącznik z szemranego adresu e-mail, stosuje usługę BitLy by ukryć adres, z którego pobiera uruchamiany jako "Aplikacja HTA" złośliwy kod. Kod ten jest napisany w języku Visual Basic Script (VBS) i umieszczony jako obiekt na stronie hostowanej na google'owskim blogu Blogspot.
Technologia bez zastosowań
Przeglądarki internetowe ignorują skrypty Visual Basic i dziś obsługują wyłącznie JavaScript. Wyjątek stanowi Internet Explorer, a parser aplikacji HTA stosuje właśnie tę przeglądarkę. Umożliwia on uruchamianie skryptów VBS "bezpośrednio z internetu" (w praktyce z pamięci podręcznej przeglądarki) bez pytania użytkownika o zgodę oraz z wykorzystaniem lokalnej strefy zabezpieczeń, o wiele bardziej łagodnej niż internetowa.
Microsoft nie jest zainteresowany zmianą zachowania parsera MSHTA.EXE, wykorzystywanego obecnie niemal wyłącznie do złych uczynków. Podobnie Google wciąż zezwala na umieszczanie na blogu skryptów VBS, choć nie istnieje dziś już racjonalny scenariusz, w którym taki skrypt mógłby mieć jakąkolwiek wartość. Stosują go praktycznie tylko wirusy.
Połączenie geniuszu z fuszerką
Skrypty pobierają swój payload z Internet Archive. Jest nim skrypt języka PowerShell, przechowujący EXE zapisane w postaci tekstowej oraz metodę uruchamiania go bez tworzenia nowego procesu. Wykorzystując mechanizmy AppDomain oraz System.Reflection.Assembly, pochodzące ze środowiska uruchomieniowego .NET, kod ładowany jest "w locie" wewnątrz procesu samego PowerShella. Jest to doskonała metoda ukrycia się przed analizatorami logów oraz oprogramowaniem antywirusowym.
Ratuje nas moderacja Internet Archive, zdejmująca "zaciągnięte" przez ich crawler wirusy, a także… nieudolność przestępców. Jeden z mechanizmów ładowania jest bowiem przekombinowany. Wskutek nadmiernej chęci zaciemnienia kodu, wykonanego ręcznie, składane polecenie jest wadliwe i wyświetla błąd, ujawniając się przed użytkownikiem.
Agent Tesla i zwyczajowe konkluzje
Jednakże, kampania jest sześcioczęściowa, co oznacza że jeżeli jeden składnik nie zadziałał, wciąż działać mogą pozostałe. A te okazują się pobierać kod-wytrych, chowający się za Reflection.Assembly, oraz właściwy "menedżer pobierania" dla zupełnie już zwyczajnego trojana, którym jest Agent Tesla. Niemniej, istnienie niniejszego kanału infekcji jest cenną lekcją. Wiemy dzięki niej, że zarówno Microsoft jak i Google nie są zainteresowani zablokowaniem popularnej metody dystrybuowania wirusów.
Zapewne nie wynika to ze złej woli, a z korporacyjnej "inercji". Najwyraźniej w tym momencie nie da się dorzucić nowego zadania na roadmapę, bo estymacje są już policzone z wyprzedzeniem i nie ma już tasków do cięcia. Nieco bardziej martwi łatwość w omijaniu Defendera, to powinno już mieć wyższy priorytet.
Dlatego musimy zadbać o siebie sami. Przepis na to jest zawsze taki sam: aktualizować system oraz Office'a, ustawić suwak Kontroli Konta Użytkownika na samą górę i wyłączyć obsługę makr. Sugestia "nie otwierać maili od nieznajomych" jest oczywiście słuszna i całkowicie skuteczna - bezsprzecznie jej autorem jest jednak ktoś, kogo praca nie polega właśnie na otwieraniu maili od nieznajomych 😃