W dzisiejszym artykule dowiesz się jak płacąc swoją kartą płatniczą na portalu sprzedażowym w Internecie (portale E-commerce) możesz w łatwy sposób paść ofiarą kradzieży. Opiszemy najnowsze zagrożenie MageCart i pokażemy metody jaką używają współcześni cyberprzestępcy do ukrywania złośliwego kodu na stronie i kradzieży za jego pomocą danych kart użytkowników. Na końcu zamieścimy wskazówki i porady jak się chronić i zabezpieczyć przed tym oszustwem zarówno od strony właścicieli witryn oraz użytkownika.


Wprowadzenie

Mijają czasy, w których przestępcy w celu okradzenia nas z pieniędzy instalują w bankomatach specjalne, niezauważalne urządzenia elektroniczne (tzw. skimmery), za pomocą których kopiują dane karty. Ponieważ zastosowanie takiego skimmera jest kosztowne, ryzykowne i w miarę łatwe do wykrycia okazuje się, że coraz częściej podobne metody ataku adaptowane są w Internecie. W dobie dzisiejszej cyfryzacji i bardzo dużego wzrostu popularności zakupów w sklepach i portalach E-Commerce nakłady poniesione na ataki są zdecydowanie niższe. Jednocześnie zwiększona jest ich skala. Dotyka większej liczby użytkowników.

W listopadzie 2019 pisaliśmy o nowym odkryciu firmy VISA dotyczącym skimmerów kart kredytowych instalowanych w postaci skryptu JavaScript na portalach Internetowych.
Jak się okazuje na podstawie ostatnich odkryć, cyberprzestępcy coraz częściej sięgają po ten sposób ataku. W samym 2019 roku zostało zainfekowane tysiące witryn! Przykre w tym wszystkim jest również to, że do kradzieży danych zaczęli wykorzystywać ludzką dobroć i chęć pomagania innym w akcjach zwanych „Donate”, czyli przekazywania datków pieniężnych na szczytne cele. I tak np. w ostatnim czasie wykorzystali web skimmer Magecart do okradania ludzi przekazujących pieniądze do Australii, która obecnie wzmaga się z apokaliptycznym pożarem.

Poniżej postanowiliśmy opisać dokładniej problem, gdyż w Internecie wykrywane jest coraz więcej stron e-commerce, które są zarażone złośliwym oprogramowaniem do wykradania danych kart. Zagrożenie nazywane jest „MageCart”.


Co to jest MageCart?

MageCart to zbiorowe określenie wielu grup hakerskich, które pojawiły się w ostatnich latach. Hakerzy wykorzystują różnorodne taktyki, aby wykorzystywać luki w zabezpieczeniach i przejmować dane klientów – głównie nazwy użytkowników, hasła i informacje o karcie kredytowej. W tym przypadku powszechną metodą ataku jest atak na łańcuch dostaw (zewnętrznych dostawców usług) taki jak np. system platformy sprzedażowej Magento. Celem hackerów jest skompromitowanie oprogramowania dostarczanego przez producenta lub integratora systemów lub zainfekowanie procesu sprzedaży na stronie webowej bez wiedzy sprzedawcy lub działu IT poprzez wstrzyknięcie na niej złośliwego kodu (web skimmer).

Wiele witryn sklepowych wczytuje skrypty innych firm do wyświetlania reklam, czatu na żywo, analiz itp. Zarażając popularne narzędzie, Magecart może uzyskać dostęp do wszystkich stron, które go wykorzystują. Szczególny nacisk kładzie na witryny e-commerce i ich koszyki, które są atrakcyjnym celem, ponieważ zbierają informacje o płatnościach od klientów. Prawie wszystkie witryny e-commerce, które korzystają z koszyków, nie sprawdzają poprawnie kodu używanego z tymi elementami innych firm – cyberprzestępcy zatem maja przepis na gotowy „hack”. Takie szkodliwe oprogramowanie wstrzyknięte na stronę (skimmer) jest trudne do wykrycia, szczególnie dla małych firm, które nie używają zaawansowanych technologii i może wpływać na setki klientów jednocześnie. To czyni go ulubioną metodą ataku wśród cyberprzestępców.
Skimmery zarażają strony za pośrednictwem innej strony trzeciej, takiej jak wtyczka lub strona e-commerce. Ta metoda infekcji jest łatwiejsza dla cyberprzestepców, ponieważ często zawiera słabszą strukturę kodu i najczęściej proces infekcji zdarza się tylko na tych małych witrynach, w których nie stosuje się silnych środków bezpieczeństwa cybernetycznego. Gdy skrypt zainfekuje stronę internetową, przenosi hasła, dane osobowe i numery kart kredytowych z powrotem na serwery cyberprzestępców.

Magecart jest znany od 2016 roku i jest dość popularny. Niedawno został określony jako „Zagrożenie numer jeden w cyberbezpieczeństwie”. W samym 2019 roku zostało za jego pomocą przejęte tysiące witryn! Największe, to atak to na stronę British Airways. W wyniku 5 dniowego ataku, oprócz utracenia reputacji wśród klientów, firma została ukarana grzywną w wysokości 183 milionów funtów za naruszenie danych klientów!


Przykład działania skimmera MageCart

W celu pokazania jak działa MageCart posłużyliśmy się przykładem złośliwego kodu jaki ostatnio został odkryty przez specjalistów Malwarebytes na jednej z zainfekowanych witryn sprzedażowych. Witryna w swojej treści wyświetlała obrazek, który posiadał w sobie złośliwy kod skimmera, ukryty w nim za pomocą techniki zwanej steganografią (o steganografii i przykładach z Powershell pisaliśmy już na Kapitanie Hacku tutaj)

Przykład obrazka możecie zobaczyć pod adresem: hxxps://www.truthinaging[.]com/media/wysiwyg/FreeShipping.jpg

A wygląda tak:

Na pozór nic nie wskazuje, że obrazek wygląda podejrzanie. Dodatkowo doskonale wpisuje się w tematykę strony e-commerce informując o darmowej dostawie przy zakupie przez klientów towaru. Dzięki technice steganografii cyberprzestępcy ukryli w nim złośliwy kod.

Jest to doskonały sposób do atakowania witryn eCommerce, które zazwyczaj posiadają dużo obrazków. Cyberprzestępcy, aby ich kod pozostał niewykrywalny mogą je z łatwością podmienić bez spostrzeżenia właścicieli!


Analiza obrazka

Jeśli podejrzymy obrazek w Fiddlerze, okaże się, że obraz jest zniekształcony (posiada dziwny kod).

W podglądzie heksadecymalnym zobaczymy ukryty kod skimmera.

Jak się okazuje wnętrze pliku kryje w sobie złośliwy kod. W celu jego wydobycia cyberprzestępcy osadzili na zaatakowanej stronie następujący kod Javascript:

Osadzony na stronie sklepu powyższy kod JavaScript wycina i ładuje złośliwy kod z obrazka i uruchamia go. Dla porównania, poniżej zamieściliśmy 2 wyniki odpowiedzi zwracanego tekstu z obrazka:

• Pierwszy z użyciem funkcji responseText() – zwracany jest nieczytelny kod.

• Drugi z użyciem funkcji „responseText.slice()” – zwracany jest kod skryptu.

Pełny kod skimmera można znaleźć pod poniższym linkiem:

hxxps://gist[.]github[.]com/krautface/dab3e44d55d2505e795e0cbd26089296

W celu przekonania się, w jakim stopniu skimmer jest wykrywany przez oprogramowanie antywirusowe, wrzuciliśmy skrypt na portal VirusTotal, w wyniku czego otrzymaliśmy wynik, że tylko 3 skanery rozpoznały go jako złośliwy.


Jak wyszukać strony ze złośliwym kodem skimmera?

Na podstawie powyższego przykładu przeszukaliśmy inne strony w Internecie zawierające część kodu Javascript z powyższego skimmera. Wykorzystaliśmy do tego portal „publicwww.com”, którego używamy często do przeszukiwania złośliwego kodu (HTML, JavaScript, CSS ) zawartego w kodzie źródłowym stron. Podana strona zawiera także ciekawe API, którym możemy zintegrować się z innymi rozwianiami do bezpieczeństwa.

Na stronie „publicwww” wpisaliśmy w polu wyszukiwania cześć kodu funkcji skimmera jaką chcieliśmy wyszukać na innych stronach w Internecie. Szukana fraza to: “Function (this.responseText.slice”

Poniżej prezentujemy wynik. (niestety do pełnego podglądu wyników wyszukiwania znalezionych witryn wymagana rejestracja lub wykupienia jednego z planów usług)

W pierwszym wyszukaniu znaleźliśmy 9 witryn. Pierwsza z nich to witryna sklepu internetowego CarryGreen.

Inna z wyszukanych witryn (trzeci link) to niemiecka strona Bellami oferująca karmę dla naszych pupili.


Metody działania MegaCart

W zeszłym roku analitycy z RiskIQ i Flashpoint opublikowali raport, który analizuje kod Magecart i jego metody działania. Śledzonych jest co najmniej siedem różnych grup hakerskich, które aktywnie opracowują różne wersje złośliwego oprogramowania, dodając różne ulepszenia i triki. Każda grupa ma własną charakterystyczną sygnaturę kodu i metody, dzięki czemu badacze mogą je sklasyfikować. Badania wykazały szereg postępów w tej rodzinie złośliwego oprogramowania i stosowane są nowe metody infekcji stron internetowych. Nalezą do nich między innymi:

  • Infekowanie nowych wtyczek do sklepów – najpopularniejszą jest wspomniany wcześniej koszyk platformy Magento. Ostatnio odkryto infekcję wtyczki producenta Shopper Aproved (https://www.shopperapproved.com) służącej do oceny przez klientów różnych witryn i przydzielania nagród dla sklepów w postaci odznak. Badacze odkryli, że złośliwe oprogramowanie zostało ostatecznie wdrożone w ponad 7 000 witryn e-commerce. Po tym, jak naukowcy zidentyfikowali źródło infekcji, Shopper Approved szybko przystąpił do usuwania złośliwego oprogramowania.
  • Używanie ad-serwerów (serwerów reklam) – drugi kierunek wciąż atakuje koszyki zakupowe na witrynach internetowych, ale stosując nową metodę infekowania banerów reklamowych. Kod Magecart umieszczany jest na serwerze reklam w Internecie i w momencie, gdy użytkownik wyświetli reklamę w przeglądarce, kod zostanie pobrany na komputer. Kod złośliwego oprogramowania może być również hostowany przez zainfekowany serwer i ukryty chociażby w obrazku umieszczonym na nim (opisywany powyżej przykład).
  • Używanie bardziej ukierunkowanych i bardziej skomplikowanych ataków – to podejście odchodzi od szerokiego rozprzestrzeniania złośliwego oprogramowania wśród dostawców oprogramowania dla sklepów internetowych i kieruje się ku spędzaniu czasu cyberprzestępców na analizie kodu na stronie i infrastruktury potencjalnych ofiar. Tak stało się z British Airways, gdy hakerzy wykorzystali błędy w logice przepływów ich wewnętrznej aplikacji. Odkryto aż 22 wierszy zainfekowanego kodu w skrypcie na stronie z informacjami na temat roszczeń bagażowych klientów British Airways. W tym przypadku wykorzystany do infekcji został atak XSS, który naraził na szwank własne serwery British Airways.


Jak sobie radzić z problemem?


Porady dla klientów (konsumentów)

Użytkownicy końcowi podczas wykonywania zakupów w Internecie narażeni są na znaczne ryzyko, ponieważ ich dane dotyczące płatności są dostępne w sieci. Zalecamy następujące porady dla konsumentów w celu zminimalizowania ryzyka kradzieży danych:

  • Używaj bezpiecznych i sprawdzonych metod płatności
    Staraj się unikać witryn sklepów internetowych, na których musisz podawać dodatkowo dane karty. Jeśli witryna posiada integrację z bezpiecznym, zewnętrznym mechanizmem płatności istnieje mniejsze ryzyko, że twoje dane zostaną przechwycone.
  • Korzystaj przy płatnościach internetowych z osobnej karty
    Jeśli robisz zakupy przez Internet najlepiej używaj jednej, dedykowanej karty, na którą przelewasz określoną sumę pieniędzy. Dzięki temu, w przypadku skopiowania danych karty unikniesz kradzieży wszystkich pieniędzy z konta. W ofercie niektórych banków znajdziesz takie karty do płatności przez Internet. W każdym bądź razie, na pewno nie podawaj do zakupów danych karty podpiętej do Twojego głównego konta bankowego, na którym trzymasz pieniądze! Warto też w bankowości włączyć powiadomienia SMS o każdej przeprowadzonej transakcji na karcie, abyś w razie problemu mógł odpowiednio zareagować i zablokować ją.
  • Ostrożnie rozważ sprzedawców internetowych, których witryny odwiedzasz i którym przesyłasz dane dotyczące płatności. Pamiętaj, że w danym momencie część witryn sprzedażowych w Internecie może być zagrożona i stanowić ryzyko nieznane jeszcze ich właścicielom. Bez wysokiego poziomu widoczności i wiedzy na temat technik cyberataków rozróżnienie witryn z wysokim ryzykiem może być trudne. Staraj się robić zakupy u sprzedawców, którzy Twoim zdaniem są godni zaufania i dokładają wszelkich starań, aby chronić dane swoich klientów.
  • Zachowaj bezpieczną konfigurację na wszystkich komputerach używanych do zakupów online.
    Każdy system wykorzystywany do bankowości internetowej lub sklepu internetowego musi być znanym, dobrym lub zaufanym punktem końcowym. Dotyczy to komputerów stacjonarnych, laptopów, tabletów, telefonów komórkowych, a nawet maszyn wirtualnych. Należy unikać systemów publicznych i komputerów działających w trybie kiosk (loguje się wielu do niego wielu użytkowników)! Dotyczy to także płatności wykonywanych przez publiczne sieci Wi-FI. System operacyjny i wszystkie aktualizacje zabezpieczeń aplikacji powinny być aktualne. Można zastosować inne mechanizmy kontroli bezpieczeństwa, aby rozwiązać określone zagrożenia, takie jak dobre oprogramowanie antywirusowe lub inne rozwiązania do bezpieczeństwa urządzeń końcowych. Unikaj także instalowania dodatkowych i mało znanych wtyczek do przeglądarek Internetowych, które mogą być podatne na atak.
  • Stosowanie białej listy i wtyczek do przeglądarki.
    Skuteczną kontrolą, która może zapobiec cyberatakom, takim jak Magecart, jest użycie wtyczek blokujących treści stron internetowych w postaci białej listy, takich jak NoScript (dla przeglądarki Mozilla Firefox). Tego rodzaju dodatki działają, umożliwiając użytkownikowi końcowemu określenie, które strony internetowe są „zaufane” i zapobiegają wykonywaniu skryptów i innych treści internetowych wysokiego ryzyka. Za pomocą takiego narzędzia złośliwe strony hostujące skrypty kradnące karty kredytowe nie zostałyby załadowane przez przeglądarkę, uniemożliwiając logice skryptu dostęp do szczegółów karty płatniczej. Oczywiście ochrona taka nie zadziała dla zaufanej witryny, która też może prędzej, czy później zostać zainfekowana.


Porady dla dostawców e-commerce

Ponieważ cyberprzestępcy koncentrują się na jak największym rozszerzaniu możliwości uzyskania dochodów celują oni w technologie najczęściej używane przez sklepy internetowe Ich właściciele muszą podjąć wszelkie niezbędne kroki, w celu zabezpieczenia danych i informacji o kartach płatniczych swoich klientów. Przykry incydent na witrynie sprzedawcy może oznaczać utratę przychodów, ponieważ kluczowi klienci/użytkownicy zaczną kupować gdzie indziej, a także otrzymaniem grzywny. Magecart ma wpływ także na integratorów lub producentów oprogramowania, którzy odpowiadają za bezpieczeństwo wdrażanych aplikacji. Dlatego należy zwrócić uwagę na przedstawione poniżej wytyczne.
Wytyczne i wskazówki dla dostawców:

  • Zlecaj obsługę transakcji zaufanej firmie
    Prowadzenie strony internetowej e-commerce wiąże się z pewnymi obowiązkami, szczególnie jeśli przetwarzane są na niej informacje dotyczące płatności. W tym przypadku zazwyczaj właściciele witryn decydują się na bezpieczniejszy (i łatwiejszy) wariant – zlecają obsługę transakcji finansowych większym, zaufanym stronom/dostawcom np. bankom, czy pośrednikom takich jak PayPal, DotPay itp. W przypadku, gdyby używali oni na swoim portalu własnego mechanizmu płatności przez karty, musieliby spełniać zgodność z PCI i ryzyka związane z gromadzeniem danych. Mogłoby to być dla nich przytłaczające, szczególnie dla tych właścicieli witryn, którzy wolą skupiać się na biznesowym aspekcie.
  • Sprawdzaj integralności zasobów stron trzecich.
    Jest to jeden z aspektów bezpieczeństwa, który często jest pomijany, ale może zapewnić ogromne korzyści podczas ładowania treści zewnętrznych. Rzeczywistość jest taka, że strona internetowa zwykle nie jest w stanie pomieścić całej zawartości i bardziej sensowne jest poleganie na sieciach CDN i innych dostawcach ze względu na szybkość i koszty.
  • Wdróż system do ochrony serwera webowego, na którym mamy umieszczoną witrynę lub sprawdzenie, czy nasz dostawca serwera posiada takie rozwiązanie. W naszym artykule skupiliśmy się na kradzieżach kart kredytowych, lecz istnieje wiele innych zagrożeń, które można rozpowszechniać za pośrednictwem bibliotek innych niż tylko wtyczki do sklepu.
  • Buduj i poszerzej świadomości bezpieczeństwa wśród administratorów witryn e-commerce lub działu IT w firmie.
    W szczególności osoby te powinny posiadać znajomość zaleceń kontroli bezpieczeństwa i najlepszych praktyki związanych z e-commerce, w stosunku do wykorzystanych pakietów oprogramowania i systemów na stronie. Całe oprogramowanie systemu operacyjnego i oprogramowanie sklepu internetowego musi być aktualizowane. Bardzo ważne jest, aby być na bieżąco z zaleceniami bezpieczeństwa twórców oprogramowania i upewnić się, że następuje zastosowanie odpowiedniej poprawki, nie tylko dla pakietu podstawowego, ale także wtyczek innych firm i powiązanych komponentów.
  • Stosuj dobre praktyki bezpieczeństwa.
    Administratorzy witryn i systemów powinni zabezpieczyć dane uwierzytelniające używane do uzyskania dostępu do interfejsów administracyjnych, a podstawowe środowiska hostingowe i hasła powinny być regularnie zmieniane. Tam, gdzie to możliwe, należy stosować metody silnego uwierzytelniania, aby zmniejszyć ryzyko kradzieży danych uwierzytelniających. Uwierzytelnianie wieloskładnikowe lub weryfikacja dwuetapowa są do tego powszechne i skuteczne. Zamiast tradycyjnych loginów i haseł zalecane jest użycie kluczy kryptograficznych i tokenów uwierzytelniających w celu uzyskania dostępu do serwerów hostingowych.
  • Jeśli na swojej witrynie sprzedażowej używasz WordPress, upewnij się, że zaktualizowałeś się do wersji 5.2, która specjalnie wyświetla ekran i próbuje zapobiec atakom łańcucha dostaw w całej bibliotece wtyczek.

Opisane powyżej techniki ataku MageCart bez wątpienia powodują duży problem dla specjalistów bezpieczeństwa/sprzedawców (sposoby na ochronę) i dla samych użytkowników (nieufność przy zakupach). Rynek e-commerce stanowi pokusę dla cyberprzestępców.
Podczas, gdy większość autorów szkodliwego oprogramowania będzie nadal korzystać z tradycyjnych metod, bardziej zaawansowani wymyślą nowe sposoby na uniknięcie wykrycia. Niektóre techniki mogą być wykrywane jedynie przez badaczy, podczas gdy inne mogą omijać roboty indeksujące.
Jako konsumenci musimy pamiętać, że w dużej mierze ufamy sklepom internetowym, w których robimy zakupy. Z tego powodu rozsądne może być unikanie mniejszych witryn, które być może nie mają takiego samego poziomu bezpieczeństwa jak większe. Oczywiście w przypadek British Airways pokazuje ograniczenia powyższej rady. Korzystanie z wtyczek do przeglądarek, takich jak NoScript, może uniemożliwić ładowanie JavaScript z niezaufanych stron, a tym samym zmniejszyć powierzchnię ataku. Ma jednak wady, zwłaszcza gdy złośliwy kod jest osadzony w zaufanych zasobach.
Działanie Magecart i innych skimmerów sieciowych można złagodzić, blokując połączenia ze znanymi domenami i adresami IP wykorzystywanymi przez atakujących.

Pamiętajmy też, że przedstawione przez nas porady jak się chronić nie stanowią 100% panaceum na zło. Jedynie mogą zniwelować ich wystąpienie. Metody ataków wykorzystywane przez cyberprzestępców stale ewoluują, dlatego mamy taką nadzieje, że będziemy o nich Was w miarę wcześnie ostrzegać i zamieszczać je na Hack’u 🙂

Podziel się z innymi tym artykułem!