Menu dostępności

atak na bankomaty

Krytyczne luki pozwalające na zdalne włamanie się do bankomatów

Podatności, o których mowa w tytule, to: CVE-2023-33871, CVE-2023-38257, CVE-2023-35763, CVE-2023-35189. Zostały one odkryte przez zespół Synack Red Team, (SRT) w oprogramowaniu ScrutisWeb już na początku roku, ale producent (Firma Iagona) wydał poprawki dopiero w lipcu razem z wersją 2.1.38 swojej aplikacji.

Oprogramowanie ScrutisWeb to „bezpieczne” rozwiązanie do monitorowania flot bankomatów, przeznaczone zarówno dla banków, jak i producentów detalicznych.

ScrutisWeb jest dostępny z dowolnej przeglądarki i pomaga organizacjom na całym świecie monitorować bankomaty oraz skracać czas reakcji w przypadku pojawienia się problemów. Floty bankomatów mogą obejmować wrażliwy sprzęt taki jak bankomaty, wpłatomaty, a także terminale płatnicze wpięte do sieci.

Software ten posiada między innymi następujące możliwości:

  • ponowne uruchomienie bądź wyłączenie terminala lub całej floty,
  • wyszukiwanie informacji o usługach bankowych,
  • monitorowanie czytnika kart bankowych w bankomatach,
  • wysyłanie i odbieranie plików do urządzeń,
  • zdalna modyfikacja danych w bankomatach.

Podczas wstępnego rekonesansu zespół SRT zauważył, że serwer WWW aplikacji wysyła do odwiedzających wyjątkowo duży plik JavaScript – o wielkości 23 MB. Odkryto w nim funkcję, która umożliwia klientowi pobieranie pełnych ścieżek z webroot serwera:

atak bankomaty log serwera

Co więcej, dodanie nazwy folderu „/” powoduje, że ScrutisWeb kompresuje cały webroot i wysyła go do przeglądarki jako plik do pobrania. Podczas sprawdzania pliku Download.aspx odkryto, że wywołuje on bibliotekę „Scrutis.Front.dll”, która wydaje się obsługiwać większość funkcji użytkownika.

CVE-2023-33871: Absolute Path Traversal

Plik „Download.aspx” przyjmuje parametr „file” lub „folder”. Widzieliśmy już, do czego służy „folder”, ale druga część jest dużo bardziej intersująca – ciąg obsługujący pobieranie poszczególnych plików:

atak bankomaty log serwera

Ten fragment kodu sprawdza zmienną „path1”, która jest przekazywana do metody jako parametr „file” adresu URL. Jeśli parametr nie zawiera dwukropka, serwer WWW zwróci plik w odniesieniu do webroota, np. „https://example.com/Download.aspx?file=thisfile.txt” pobierze plik znajdujący się pod adresem „https://example.com/thisfile.txt”. Jednak z dwukropkiem serwer WWW zwróci plik w odniesieniu do systemu, na przykład: „https://www.example.com/Download.aspx?file=c:\file.txt” pobierze plik znajdujący się na serwerze pod adresem „c:\file.txt”.

Tym sposobem można pobrać konfiguracje, logi i bazy danych z serwera : )

CVE-2023-35189: Remote Code Execution

Dalsze badanie biblioteki Scrutis.Front.dll wykazało metodę AddFile(). Metoda ta bez problemu zaakceptowała wieloczęściowe żądanie POST z formularza i zapisała przesłany plik w katalogu internetowym „/Files/telechar/”.

Oznacza to, że nieuwierzytelniony użytkownik może przesłać dowolny plik, a następnie wyświetlić go ponownie w przeglądarce internetowej. Jednym z krytycznych problemów jest to, że katalog, w którym znajdował się przesłany plik, został skonfigurowany tak, aby umożliwić interpretację i wykonanie przesłanych skryptów. Mamy więc możliwość wstrzykiwania poleceń.

Normalnie można by oczekiwać, że RCE będzie zwieńczeniem łańcucha exploitów. W takim przypadku jeszcze bardziej szkodliwa wartość mogłaby zostać osiągnięta poprzez wykorzystanie pozostałych luk w celu uzyskania dostępu użytkownika do kontrolera bankomatu. Każde z podatnych na ataki wywołań można znaleźć w Scrutis.Front.dll i wykorzystać bez uwierzytelnienia.

CVE-2023-38257: Insecure Direct Object Reference

Odkryto również, że prototyp metody GetUserDetails przyjmuje pojedynczą liczbę całkowitą jako dane wejściowe żądania HTTP POST.

atak bankomaty log serwera

Parametr idUser wydaje się sekwencyjną wartością całkowitą zaczynającą się od liczby 1. Po wysłaniu POST z liczbą 1 do tej funkcji, usługa zwróciła informacje o użytkowniku „administrateur”, w tym zaszyfrowane hasło.

Tym samym wyciekają informacje o wszystkich kontach użytkowników w systemie wraz z ich zaszyfrowanymi hasłami.

CVE-2023-35763 Hardcoded encryption key

Ponieważ hasło było wyraźnie zaszyfrowane, postanowiono spróbować odtworzyć mechanizm szyfrowania. Wyszukiwanie nazw metod dla słowa „crypt” pokazało funkcję deszyfrującą, która pobiera tekst zaszyfrowany jako dane wejściowe i zwraca zwykły ciąg znaków UTF8. Odkryliśmy, że funkcja zawiera wiersz ujawniający ciąg zwykłego tekstu, a ten jest używany jako klucz szyfrujący do szyfrowania/odszyfrowywania haseł użytkowników:

atak bankomaty log serwera

Tym samym otrzymujemy poświadczenia administratora w postaci jawnego tekstu i możemy zalogować się do portalu ScrutisWeb jako administrator.

Jak bardzo jest źle?

Chociaż CVE-2023-33871 opisuje lukę w zabezpieczeniach dostępu do plików poza webroot, ta sama funkcjonalność pozwoliła nam na pobranie aplikacji internetowej do wglądu. CVE-2023-38257 i CVE-2023-35763 umożliwiają zalogowanie się do konsoli zarządzania ScrutisWeb jako administrator. Stąd złośliwy aktor mógłby monitorować działania w poszczególnych bankomatach w obrębie floty. Konsola umożliwia również wprowadzanie bankomatów w tryb zarządzania, przesyłanie do nich plików, ponowne uruchamianie i całkowite wyłączanie. Konieczna byłaby dalsza analiza w celu ustalenia, czy niestandardowe oprogramowanie może zostać przesłane do poszczególnych bankomatów w celu przeprowadzenia eksfiltracji kart bankowych, przekierowania przelewu Swift lub innych złośliwych celów. Nie wiadomo na razie, czy takie działania są możliwe.

Wreszcie luka CVE-2023-35189 może zostać wykorzystana do wyczyszczenia dzienników w ScrutisWeb i usunięcia dowodów na obecność hakera. Może wystąpić dodatkowa eksploitacja z tego przyczółka w infrastrukturze klienta, co sprawi, że będzie to punkt zwrotny w kolejnym ataku.

Na razie jako klienci końcowi bankomatów nie mamy się czego obawiać. Jednak warto wiedzieć, że nawet najbardziej krytyczne urządzenia IT w naszym codziennym życiu, jak bankomaty, nie są dzisiaj bezpieczne.

Popularne

Uwaga! Trwa praktyczne wykorzystywanie krytycznej luki w systemach Fortinet!

Uwaga! Trwa praktyczne wykorzystywanie krytycznej luki w systemach Fortinet!

Święta, święta i po świętach. I dzisiaj, zamiast malować pisanki, piszemy o Fortinecie. Naszym „ulubionym” producencie firewallów, który pojawia się na portalu dość często. Nową okazję do publikacji dała...
Grupa ransomware ALP-001 twierdzi, że zaatakowała Polsat

Grupa ransomware ALP-001 twierdzi, że zaatakowała Polsat

W niedzielę wieczorem na zagranicznych serwisach newsowych poświęconych malware pojawiły się informacje o cyberataku na serwis Polsatu. Według doniesień za incydent odpowiada grupa ransomware ALP-001, która...
DarkSword – cichy zabójca iPhone’ów. Nowy exploit, który przejmuje kontrolę nad urządzeniem w kilka sekund

DarkSword – cichy zabójca iPhone’ów. Nowy exploit, który przejmuje kontrolę nad urządzeniem w kilka sekund

Powstał nowy, zaawansowany zestaw exploitów wymierzony w użytkowników iPhone’ów. Narzędzie o nazwie DarkSword pokazuje, że nawet platformy uznawane za jedne z najbezpieczniejszych mogą stać się celem...
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...
WhatsApp jako wektor ataku – Microsoft ostrzega przed nową kampanią malware ukrytą w wiadomościach

WhatsApp jako wektor ataku – Microsoft ostrzega przed nową kampanią malware ukrytą w wiadomościach

Cyberprzestępcy po raz kolejny wykorzystują zaufanie użytkowników do popularnych komunikatorów. Najnowsze ostrzeżenie Microsoftu ujawnia zaawansowaną kampanię, w której złośliwe oprogramowanie jest rozsy...