Stan zagrożeń w internecie znajduje się obecnie na poziomie standardowym. Nie występują duże epidemie a eksperci z Kaspersky Lab nie zanotowali żadnych poważnych incydentów związanych z bezpieczeństwem. Poziom zagrożenia: 1

Szkodliwe oprogramowanie dla bankomatów sprzedawane na platformie handlowej Darknetu

Tagi:

Wyjaśnienie i ostrzeżenie

Systemy bankomatowe wydają się być bezpieczne, jednak jeśli ktoś wie, co trzeba zrobić, dość łatwo może uzyskać dostęp do znajdujących się w nich pieniędzy. Przestępcy wykorzystują luki w zabezpieczeniach sprzętu i oprogramowania, aby przejąć kontrolę nad bankomatami, co oznacza, że należy wzmocnić ich bezpieczeństwo. W tym celu można wykorzystać dodatkowe oprogramowanie bezpieczeństwa skonfigurowane w sposób umożliwiający powstrzymanie wykonania programów, które nie znajdują się na białej liście.    

Niestety, bez trudu można znaleźć szczegółowe instrukcje dotyczące szkodliwego oprogramowania dla bankomatów. Każdy może kupić je za około 5000 dolarów amerykańskich na czarnym rynku.   

Więcej informacji na temat szkodliwego oprogramowania dla bankomatów CutletMaker ATM jest dostępnych dla klientów usługi Kaspersky Intelligence Reporting Service. Contakt: intelreports@kaspersky.com

Wprowadzenie

W maju 2017 r. badacze z Kaspersky Lab trafili na wpis na forum, który reklamował szkodliwe oprogramowanie dla bankomatów określonego producenta. Na forum znajdował się krótki opis zestawu crimeware służącego do opróżniania bankomatów przy pomocy specyficznego dla danego producenta interfejsu API bez interakcji z użytkownikami bankomatu oraz ich danymi. Post zawierał odsyłacz do oferty, która została pierwotnie opublikowana w platformie handlowej Darknetu AlphaBay (zamkniętej niedawno przez FBI).    

170911-cutlet-maker-1_auto.png

Post reklamowy

170911-cutlet-maker-2_auto.png

Wpis zawierający ofertę na platformie handlowej AlphaBay

Cena zestawu w momencie przeprowadzania tego badania wynosiła 5000 dolarów. Zamieszczony w AlphaBay opis zawierał takie szczegółowe dane, jak wymagany sprzęt, atakowane modele bankomatów czy wskazówki i sztuczki dotyczące działania szkodnika. Dołączono również fragment szczegółowej instrukcji korzystania z tego zestawu narzędzi.   

170911-cutlet-maker-3_auto.png

Zrzut ekranu opisu na platformie handlowej AlphaBay

Tekst zawierał również wzmiankę o opisywanym wcześniej szkodliwym oprogramowaniu dla bankomatów Tyupkin. Instrukcja zatytułowana “Wall ATM Read Me.txt” była dostarczana w postaci zwykłego pliku tekstowego odznaczającego się  słabym angielskim i złym formatowaniem tekstu. Użycie wyrażeń slangowych oraz błędy gramatyczne sugerują, że tekst został najprawdopodobniej napisany przez rodzimego użytkownika języka rosyjskiego.    

170911-cutlet-maker-4_auto.png

Fragment instrukcji z zastosowanym formatowaniem tekstu

 

Chociaż pokazano jedynie fragment, instrukcja przedstawia szczegółowe informacje dotyczące całego procesu pobierania pieniędzy wraz z opisami każdego kroku:

 

Prepare an all tools, all the programs should be placed on a flash disk.
Tools are wireless keyboard, usb hub, usb cable, usb adapter usb a female to b female, Windows 7 laptop or a tablet ( to run code generator) and a drill.
Find an appropriate ATM
Open ATM door and plug into USB port.
Execute Stimulator to see full information of all the ATM cassettes.
Execute CUTLET MAKER to get it is code.
Execute password generator on a tablet or on a laptop and paste CUTLET MAKER code to it, put the result password to CUTLET MAKER.
Dispense the money from chosen cassette.

 

Instrukcja opisuje wykorzystywanie wszystkich elementów zestawu narzędzi. W skład zestawu wchodzi następujące oprogramowania crimeware: szkodliwe oprogramowanie dla bankomatów CUTLET MAKER, które stanowi główny element, załączony generatorem haseł oraz Stimulator – aplikacja służącą do gromadzenia informacji dotyczących stanu kasetki z gotówką atakowanego bankomatu. Zestaw crimeware stanowi zbiór programów, które prawdopodobnie zostały napisane przez różnych autorów. O ile CUTLET MAKER oraz Stimulator zostały zabezpieczone w ten sam sposób, c0decalc to prosta aplikacja oparta na terminalu nieposiadająca żadnego zabezpieczenia.        

170911-cutlet-maker-5.png

Smakowite składniki kotleta: CUTLET MAKER, c0decalc oraz Stimulator

Pierwsza próbka, której autorzy nadali nazwę “CUTLET MAKER”, służy do obsługi procesu pobierania gotówki z bankomatów określonych producentów.     

Aby odpowiedzieć na pytanie, jaki jest związek między kucharzem z interfejsu CUTLET MAKER-a i kotletami a kradzieżą pieniędzy z bankomatów, należy wyjaśnić znaczenie słowa „Cutlet” (kotlet). Pierwotnie oznacza ono danie mięsne, jednak w rosyjskim slangu słowo kotlet (котлета) odnosi się również do „pliku pieniędzy”, co sugeruje, że stojący za tym szkodnikiem przestępcy mogą być rodzimymi użytkownikami języka rosyjskiego.     

Funkcjonalność szkodnika „Cutlet Maker” sugeruje, że w kradzież powinny być zaangażowane dwie osoby – role te są określane jako „drop” i „drop master”. Dostęp do mechanizmu wypłacania gotówki szkodnika CUTLET MAKER jest chroniony hasłem, Jednak do wygenerowania hasła wystarczyłaby tylko jedna osoba z aplikacją c0decalc. W celu wprowadzenia kodu w polu tekstowym aplikacji oraz interakcji z interfejsem użytkownika wymagany jest dostęp sieciowy lub fizyczny do bankomatu.      

Aplikacja „Stimulator” została prawdopodobnie opracowana przez tych samych autorów. Jej celem jest pobranie i pokazanie informacji o stanie kasetek z gotówką w bankomatach określonych producentów (łącznie z walutą, wartością oraz liczbą banknotów).

CUTLET MAKER i c0decalc

CUTLET MAKER to główny moduł odpowiedzialny za pobieranie pieniędzy z bankomatu. Próbka analizowana w tym badaniu posiada sumę kontrolną MD5 „fac356509a156a8f11ce69f149198108” oraz znacznik czasowy kompilacji Sat Jul 30 20:17:08 2016 UTC.  

Program został napisany w Delphi i spakowany przy użyciu VMProtect, możliwe jednak, że użyto kilku różnych pakerów. 

Podczas badania tego zestawu narzędzi znaleziono różne wersje głównego komponentu. Pierwsza wersja została po raz pierwszy dostarczona do publicznego serwisu umożliwiającego przeskanowanie pliku przy użyciu różnych skanerów 22 czerwca 2016 r. Próbki wykryte przez Kaspersky Lab zostały dostarczone z różnych państw (Ukraina stanowił chronologicznie pierwsze państwo pochodzenia).

Znane nazwy plików szkodnika CUTLET MAKER (na podstawie informacji z publicznego serwisu umożliwiającego przeskanowanie przy użyciu kilku różnych skanerów): 

cm.vmp.exe
cm15.vmp.exe
cm16F.exe
cm17F.exe

Następujące informacje dotyczące wersji umieszczonej po nazwie “CUTLET MAKER” zostały pobrane z paska tytułu aplikacji. Znane wersje w momencie przeprowadzania badania to:  

1.0
1.02
1.0 F

Na podstawie daty pierwszego dostarczenia najwcześniejszej wersji oraz ostatniej daty dostarczenia najpóźniejszej wersji przypuszcza się, że okres rozwoju trwał od 22 czerwca 2016 r. do 18 sierpnia 2016 r. Aplikacja wymaga do swojego działania specjalnej biblioteki, która stanowi część zastrzeżonego interfejsu API bankomatu kontrolującego mechanizm wypłacania gotówki. 

Po spełnieniu wszystkich zależności interfejs pokazuje kod. 

170911-cutlet-maker-6.png

Kod typu challenge CUTLET MAKER-a zaznaczony czerwoną obwódką

W celu odblokowania aplikacji należy podać hasło z generatora c0decalc, odpowiadając tym samym na pytanie testowe (challenge code). Jeśli hasło będzie niepoprawne, interfejs nie zareaguje na żadne dalsze wprowadzane dane.    

Każdy przycisk “CHECK HEAT” oraz “start cooking!” odpowiada określonej kasetce pieniężnej bankomatu. Przyciski oznaczone jako “CHECK HEAT” powodują wypłacenie jednego banknotu, natomiast przyciski “start cooking!” wypłacają 50 plików, każdy po 60 banknotów. Przycisk Stop!” zatrzymuje trwający proces uruchomiony przyciskiem “start cooking!”. “Reset” ma na celu zresetowanie procesu wypłaty gotówki.    

c0decalc – generator haseł dla CUTLET MAKER-a

Narzędzie to stanowi niezabezpieczoną aplikację wiersza poleceń, napisaną w języku Visual C. Jej celem jest generowanie hasła do interfejsu graficznego CUTLET MAKER-a.

Znacznik czasowy kompilacji tej konkretnej próbki to Sun Nov 13 11:35:25 2016 UTC. Próbka została po raz pierwszy dostarczona do publicznego serwisu skanowania przy pomocy różnych skanerów 7 grudnia 2016 roku.   

170911-cutlet-maker-7_auto.png

Przykładowy wynik po wprowadzeniu danych “12345678”

Podczas analizy badacze z Kaspersky Lab sprawdzili algorytm i stwierdzili, że aplikacja “CUTLET MAKER” działała z hasłami wygenerowanymi przez “c0decalc”.      

Aplikacja Stimulator

Analizowana w tym badaniu próbka aplikacji Stimulator posiada sumę kontrolną MD5 “27640bb7908ca7303d13d50c14ccf669”. Próbka ta również została napisana w języku Delphi i spakowana w ten sam sposób co “CUTLET MAKER”. Znacznik czasowy kompilacji to Sat Jul 16 18:34:47 2016 UTC.       

Aplikacja ta została tak stworzona, aby działać w bankomatach określonych producentów, i wykorzystuje zastrzeżone wywołania interfejsu API.  

W zrzucie pamięci procesu aplikacji Stimulator znaleziono kilka dodatkowych symboli wskazujących na interesującą część aplikacji. Po wykonaniu i wciśnięciu przycisku “STIMULATE ME!” zastrzeżona funkcja interfejsu API umożliwia uzyskanie informacji o stanie kasetki z pieniędzmi w bankomacie. Możliwe są następujące wartości stanu kasetki:       

1CUR
2CUR
3CUR
4CUR
1VAL
2VAL
3VAL
4VAL
1NDV
2NDV
3NDV
4NDV
1ACT
2ACT
3ACT
4ACT

Każda poprzedzająca liczba jest przyporządkowywana do kasetki bankomatu. Określony za pomocą trzech znaków stan należy interpretować w następujący sposób:

nCUR

waluta kasetki n (np. “USD”, “RUB”)

nVAL

wartość banknotów w kasetce n (np. 00000005, 00000020)

nACT

liczba określonych banknotów w kasetce n (wartość od 0 do 3000)

nNDV

liczba banknotów w bankomacie dla kasetki n (wartość od 0 do 3000)

170911-cutlet-maker-8.png

Wynik wciśnięcia przycisku “STIMULATE ME!” w odpowiednim środowisku

Każda kolumna na obrazku powyżej obrazuje stan jednej kasetki bankomatu.

Obraz tła użyty w interfejsie aplikacji jest dość unikatowy, oryginalne zdjęcie zostało umieszczone na blogu DIY:  

https://www.oldtownhome.com/2011/8/4/Knock-Knock-Whos-There-Merv-the-Perv/

170911-cutlet-maker-9_auto.png

Oryginalne zdjęcie użyte w aplikacji “Stimulator” (zdjęcie Aleksa Santantonio)

Zakończenie

Tego rodzaju szkodliwe oprogramowanie nie ma bezpośredniego wpływu na klientów banku – jego celem jest kradzież gotówki z bankomatów określonych producentów. CUTLET MAKER i Stimulator pokazują, w jaki sposób przestępcy wykorzystują legalne zastrzeżone biblioteki oraz niewielki fragment kodu w celu pobierania pieniędzy z bankomatu. Przykładem środków zaradczych stosowanych na wypadek takich ataków są polityki domyślnej odmowy oraz kontrola urządzeń. Pierwsze z nich uniemożliwiają przestępcom uruchomienie własnego kodu w wewnętrznym komputerze bankomatu. W opisywanych atakach bankomaty mogły zostać zainfekowane za pośrednictwem fizycznego dostępu do komputera, co oznacza, że przestępcy wykorzystywali pamięć USB w celu zainstalowania szkodnika w maszynie. W takim przypadku oprogramowanie kontroli urządzeń uniemożliwiłoby im podłączenie nowego urządzenia, takiego jak pendrive USB. Poziom bezpieczeństwa bankomatów pomoże zwiększyć Kaspersky Embedded Systems Security.          

Produkty firmy Kaspersky Lab wykrywają opisywane zagrożenie jako Backdoor.Win32.ATMletcut, Backdoor.Win32.ATMulator, Trojan.Win32.Agent.ikmo

170911-cutlet-maker-10.png