VBKlip 2.0: bez schowka, za to z efektami specjalnymi

Data publikacji: 05/09/2014, Łukasz Siewierski

PL_malwareW ostatnich tygodniach otrzymywaliśmy sygnały od użytkowników o nowym rodzaju złośliwego oprogramowania, podobnym w działaniu do opisywanego przez nas wcześniej VBKlip. Tym razem jednak opisy były co najmniej nieprawdopodobne. Użytkownicy pisali do nas, że próbowali skopiować numer rachunku do strony z przelewem, ale numer im się zmieniał. Wtedy pomyśleli, że padli ofiarą VBKlip, więc jako tymczasowe rozwiązanie postanowili przepisać numer rachunku. Po przepisaniu jednak numer się zmienił, jak napisał jeden z użytkowników, „na ich oczach”. Brzmiało to podobnie do słynnej grafiki z filmu Matrix, gdzie kolejne cyfry, przelatują przed oczami widzów. Dzięki uprzejmości jednego ze zgłaszających udało nam się uzyskać próbkę tego złośliwego oprogramowania, które nazwaliśmy Banatrix, i zobaczyć na własne oczy jak zmieniają się cyfry wpisywanych numerów rachunków.

Procedura uruchomienia złośliwego oprogramowania

Otrzymana przez nas próbka instalowała się w systemie Windows jako zadanie okresowe. Oznacza to, że nie wykorzystywała „standardowego” klucza rejestru, tylko zapewniała sobie przeżywalność restartów w inny, mniej oczywisty sposób. Ścieżka, z której był uruchamiany proces, to wartość właściwości CommonAppDataFolder w systemie Windows (np. w przypadku systemu Windows XP jest to domyślnie C:Documents and SettingsAll UsersApplication Data).

Oprócz tego próbka potrzebowała do działania, umieszczonego w tym samym katalogu, pliku .windows.sys, który jest zaszyfrowanym plikiem DLL. Ta biblioteka, ładowana podczas startu złośliwego oprogramowania, odpowiada za komunikację sieciową oraz całe właściwe działanie. W zasadzie główny plik złośliwego oprogramowania służy jedynie do załadowania tej biblioteki. Co więcej, za każdym razem kiedy plik jest odszyfrowywany, jest on również szyfrowany ponownie innym kluczem. Klucz ten jest zapisany w pliku. Zatem łatwe sprawdzanie po sumie kontrolnej nie da żadnego rezultatu.

Technika ta jest dosyć efektywna, bo sam główny plik złośliwego oprogramowania nie jest wykrywany przez żaden antywirus, spośród tych obecnych w serwisie Virustotal:

Szczegóły działania

Sama metoda działania jest wyjątkowo prosta i jednocześnie innowacyjna. Tym razem w żaden sposób nie jest wykorzystywany schowek systemu Windows. Złośliwe oprogramowanie iteruje się po wszystkich procesach (za pomocą funkcji CreateToolhelp32Snapshot oraz Process32Next) i szuka takich, których nazwa pasuje do jednego z wpisów z poniższej listy:

chrome.exe
iexplore.exe
IEXPLORE.EXE
firefox.exe
opera.exe

Jeśli znajdzie taki proces, przeszukuje jego pamięć pod kątem 26-cyfrowych ciągów (zapisanych ze spacjami bądź bez). Jeśli znajdzie taki ciąg to podmienia go na inny, pobrany z serwera C&C. Powoduje to, że numer konta może rzeczywiście zmienić się „na oczach” użytkownika. Dokładnie tak jak pokazano na filmie poniżej.

Czy jestem zainfekowany?

Odpowiedź na to pytanie jest dosyć prosta. Wystarczy skorzystać z testu, który dla Państwa przygotowaliśmy. Na początku prosimy się upewnić, że mają Państwo uruchomioną tylko jedną przeglądarkę internetową. Najlepiej jest mieć uruchomioną przeglądarkę Mozilla Firefox. Następnie należy poczekać około 2 minut. Radzimy także nacisnąć prawy klawisz myszki, wybrać „Wyświetl źródło strony” i zamknąć okno, które się otworzy. Poniżej znajdują się dwa numery kont. Jeśli będą one różne oznacza to, że Państwa maszyna jest zainfekowana. Oczywiście, nawet jeśli numery są takie same, nie gwarantuje to, że Państwa komputer nie jest zainfekowany. Szczegóły na ten temat znajdują się w następnej części.

30 1234 1234 1234 1234 1234 1234
ban-banatrix
W przypadku odkrycia infekcji prosimy się zgłosić do profesjonalnego serwisu komputerowego w celu usunięcia złośliwego oprogramowania z Państwa komputera. Prosimy również o zgłoszenie zmienionego numeru konta (górnego) jako incydent korzystając z formularza po prawej stronie.

Błędy i problemy

Ze względu na jednowątkowość złośliwego oprogramowania oraz fakt, że wybierany jest tylko pierwszy proces na liście, w przypadku gdy użytkownik ma otwarte dwie przeglądarki, to tylko w jednej zaobserwuje zmianę numerów kont. Pamięć „drugiej” przeglądarki nie jest w żaden sposób zmieniana. Słowa „druga” napisaliśmy w cudzysłowie, gdyż wcale nie musi to oznaczać aplikacji uruchomionej później.

Kolejnym problemem, wynikającym z jednowątkowości, jest to, że aplikacja w danej chwili jest w jednym z dwóch stanów (nigdy jednocześnie). Albo podmienia ona numer konta w pamięci procesu, albo aktualizuje się. Oznacza to, że przez pewien czas jest niejako „uśpiona” i podmiana może nie nastąpić.

Ze względu również na rozmiary stron pamięci, ich przeszukiwanie może nie być efektywne. Powoduje to znaczne opóźnienia i czasami złośliwe oprogramowanie po prostu nie zdąży podmienić numeru konta. Możliwe też, że zmieni niektóre numery kont na stronie, a innych nie. Wynika to wyłącznie z podejścia wykorzystywanego przez to złośliwe oprogramowanie.

Podsumowanie

Prawie rok minął od czasu, kiedy zauważyliśmy VBKlip. Od tego czasu pomysł ten ewoluował – pojawiły się nowe wersje (w języku .NET), sam bot też się rozwijał – zaczął wykorzystywać serwery C&C oraz zyskał funkcjonalność keyloggera. Nowa wersja, zwana przez nas Banatrix, jest kolejnym krokiem w ewolucji. Co jest bardziej niepokojące to fakt, że przy odpowiednim skoordynowaniu czasów możliwe jest, że numer konta zostanie podmieniony dopiero w wysłanym żądaniu POST, co może spowodować, że użytkownik się nawet nie zorientuje, że numer konta został zmieniony.

Jak pisaliśmy na Twitterze, podobna technika jest używana również w przypadku adresów Bitcoin. Widać zatem, że zaczyna powstawać i rozpowszechniać się nowa, prosta, ale jednak niebezpieczna technika wykradania pieniędzy z kont użytkowników.