Siedem lat temu, w 2009 roku, zauważyliśmy całkowicie nowy typ ataków na banki. Zamiast infekować komputery tysięcy użytkowników na całym świecie, przestępcy postawili bezpośrednio na bankomat – infekując go szkodliwym oprogramowaniem o nazwie Skimer. Siedem lat później nasz Globalny Zespół ds. Badań i Analiz (GReAT), wraz z grupą odpowiedzialną za testy penetracyjne, został wezwany do reakcji na incydent. W efekcie, została wykryta nowa, udoskonalona wersja Skimera.
Przestępcy często zaciemniali swoje szkodliwe oprogramowanie przy użyciu pakerów, aby utrudnić analizę badaczom. W ten sposób postępowali również przestępcy stojący za Skimerem, wykorzystując komercyjnie dostępnego pakera o nazwie Themida, który kompresuje zarówno infektora jak i droppera.
Po tym, jak szkodliwe oprogramowanie zostanie wykonane, sprawdza, czy system plików to FAT32. Jeśli tak, wrzuca plik netmgr.dll do foldera C:\Windows\System32. Jeśli jest to system plików NTFS, ten sam plik zostaje umieszczony w strumieniu danych NTFS odpowiadającym plikowi wykonywalnemu usługi XFS. Plik ten zostaje umieszczony w strumieniu danych NTFS najprawdopodobniej w celu utrudnienia analizy kryminalistycznej.
Po udanej instalacji próbka łata punkt wejścia pliku wykonywalnego XFS (SpiService.exe) w celu dodania wywołania LoadLibrary do wrzuconego pliku netmgr.dll. Plik ten jest również chroniony przez aplikację Themida.
Punkt wejścia w SpiService.exe przed infekcją
Punkt wejścia w SpiService.exe po infekcji
Po udanej instalacji bankomat zostaje powtórnie uruchomiony. Szkodliwa biblioteka jest ładowana do SpiService.exe dzięki nowemu wywołaniu LoadLibrary, zapewniając mu pełny dostęp do XFS.
W przeciwieństwie do szkodnika Tyupkin, gdzie występował magiczny kod i określony przedział czasowy, w którym aktywne było szkodliwe oprogramowanie, Skimer zostaje wybudzony jedynie po włożeniu magicznej karty (określone dane Track 2, zobacz IOC na końcu tego wpisu). Jest to sprytny sposób zaimplementowania kontroli dostępu w funkcjonalności szkodliwego oprogramowania.
Po włożeniu magicznej karty szkodliwe oprogramowanie jest gotowe do interakcji z dwoma różnymi typami kart, z których każda posiada inne funkcje:
Po tym, jak karta zostanie wysunięta, użytkownikowi zostanie przedstawiony formularz, w którym ma wprowadzić klucz sesji w ciągu niecałych 60 sekund. Teraz użytkownik jest uwierzytelniony, a szkodliwe oprogramowanie zaakceptuje 21 różnych kodów umożliwiających rozpoczęcie jego działania. Kody te powinny zostać wprowadzone z pinpadu.
Poniżej znajduje się lista najważniejszych funkcji:
Podczas swojej aktywności szkodliwe oprogramowanie tworzy również następujące pliki lub strumienie NTFS (w zależności od typu systemu plików). Pliki te są wykorzystywane przez szkodliwe oprogramowanie na różnych etapach swojej aktywności, takich jak przechowywanie konfiguracji, przechowywanie przechwyconych danych dotyczących kart oraz logowanie aktywności:
C:\Windows\Temp\attrib1 dane dotyczące kart pobrane z ruchu sieciowego lub z czytnika kart;
C:\Windows\Temp\attrib4 loguje dane z różnych interfejsów API odpowiadające za komunikację z klawiaturą (efektywne logowanie danych, takich jak PIN);
C:\Windows\Temp\mk32 taki sam jak attrib4;
C:\Windows\Temp:attrib1 jak wyżej
C:\Windows\Temp:attrib4 jak wyżej
C:\Windows\Temp:mk32 jak wyżej
C:\Windows\Temp:opt rejestruje aktywność słupa pieniężnego.
Okno główne
Ten film pokazuje scenariusz przedstawiający, w jaki sposób słupy pieniężne wchodzą w interakcję z zainfekowanym bankomatem.
Podczas naszych ostatnich przypadków reakcji na incydenty dotyczące wykorzystania bankomatów zidentyfikowaliśmy szkodniki Tyupkin, Carbanak oraz ataki z użyciem „czarnej skrzynki”. Ewolucja szkodnika o nazwie Backdoor.Win32.Skimer pokazuje, że osoby atakujące są zainteresowane takimi rodzinami szkodliwego oprogramowania, ponieważ bankomaty to dla cyberprzestępców bardzo wygodny mechanizm wypłaty gotówki.
Istotnym szczegółem, który zasługuje na uwagę w tym przypadku, są informacje zakodowane na sztywno w Track2 – szkodnik czeka, aż zostaną wprowadzone do bankomatu w celu aktywacji. Banki mogą proaktywnie szukać tych numerów kart w systemach przetwarzania i wykryć potencjalnie zainfekowane bankomaty, słupy pieniężne lub zablokować próby aktywowania szkodliwego oprogramowania.
Zalecamy również regularne skanowania antywirusowe, wykorzystywanie technologii białej listy, dobrą politykę zarządzania urządzeniami, pełne szyfrowanie dysku, ochronę BIOS-u bankomatów przy użyciu hasła, zezwalanie jedynie na uruchamianie z dysku twardego oraz odizolowanie sieci bankomatu od innych wewnętrznych sieci bankowych.
Kaspersky Lab zidentyfikował do tej pory 49 modyfikacji tego szkodliwego oprogramowania, z czego 37 z nich atakuje bankomaty jednego producenta. Najnowsza wersja została wykryta na początku maju 2016 r.
Wszystkie opisane próbki są wykrywane przez Kaspersky Lab jako Backdoor.Win32.Skimer. Załatane pliki SpiService.exe są wykrywane jako Trojan.Win32.Patched.rb
Ponieważ dochodzenie dotyczące ugrupowania cyberprzestępczego Skimer jest w toku, pełny raport został dostarczony zamkniętemu gronu złożonego z organów ścigania, zespołów CERT, instytucji finansowych oraz klientów usługi Kaspersky Security Intelligence Services.
F19B2E94DDFCC7BCEE9C2065EBEAA66C
3c434d7b73be228dfa4fb3f9367910d3 a67d3a0974f0941f1860cb81ebc4c37c D0431E71EBE8A09F02BB858A0B9B8038035484d750f13e763eae758a5f243133 e563e3113918a59745e98e2a425b4e81 a7441033925c390ddfc360b545750ff4
Nazwy plików
C:\Windows\Temp\attrib1 C:\Windows\Temp\attrib4 C:\Windows\Temp\mk32
C:\Windows\Temp:attrib1 C:\Windows\Temp:attrib4 C:\Windows\Temp:mk32 C:\Windows\Temp:opt C:\Windows\System32\netmgr.dll
Dane Track 2
******446987512*=********************
******548965875*=********************
******487470138*=********************
******487470139*=********************
******000000000*=********************
******602207482*=********************
******518134828*=********************
******650680551*=********************
******466513969*=************Analizy
Blog