25.05.2018 | 12:59

avatar

Adam Haertle

Klienci PKO BP, BZ WBK, mBanku, ING i Pekao na celowniku nowego malware

W sieci pojawiło się niedawno nowe złośliwe oprogramowanie, które za cel obrało sobie konta klientów pięciu największych polskich banków. Metody jego działania są dość kreatywne, a jego twórcy bardzo pracowici.

Firma ESET wykryła i opisała nowe zagrożenie, nazwane BackSwap. Ten koń trojański pojawił się zaledwie kilka tygodni temu i ewidentnie jego działalność wymierzona jest tylko w użytkowników systemów bankowości elektronicznej polskich banków. Co więcej, jak dowiadujemy się od naszych Czytelników, przestępcy do kradzieży używają kont udostępnionych przez nieświadome tego faktu Polki i Polaków. Ale po kolei.

Metoda dostarczenia

Każdy koń trojański musi jakoś znaleźć się na komputerze ofiary. Przestępcy korzystają tutaj z obecnie najskuteczniejszej metody – wysyłają go pocztą elektroniczną. Do Waszych skrzynek regularnie trafiają złośliwe e-maile pod przeróżnymi postaciami. Zawierają one załączniki, które po uruchomieniu pobierają między innymi właśnie BackSwapa (dla bardziej technicznych czytelników – wehikułem infekcji jest najczęściej Nemucod). Poniżej przekład jednej z wiadomości, w których uruchomienie załącznika kończyło się zainfekowaniem BackSwapem.

Zanim przestępcy w połowie marca wypuścili na rynek wersję okradającą rachunki bankowe, eksperymentowali od stycznia z programem podmieniającym dane portfeli kryptowalutowych. Najwyraźniej jednak tamten projekt nie odniósł wielkiego sukcesu, ponieważ szybko został porzucony. Od półtora miesiąca obserwujemy za to regularny i dynamiczny rozwój bankowego konia trojańskiego. Przestępcy potrafią codziennie wypuszczać nowe wersje – robią sobie tylko przerwy w weekendy.

Źródło: ESET

Warto także zaznaczyć, że na trop konia trojańskiego wpadł pracownik polskiego oddziału ESETa, Paweł Śmierciak. Brawo, Paweł!

Złośliwy kod

Co ciekawe, sam złośliwy kod dostarczany jest w niewinnym opakowaniu. Przestępcy odpowiednio modyfikują popularne aplikacje, dodając do nich swoje polecenia. Prawdopodobnie celem jest obniżenie wykrywalności. Wykorzystują do tego np. takie aplikacje jak TPVCGateway, SQLMon, DbgView, WinRAR Uninstaller, 7Zip, OllyDbg czy FileZilla Server (te aplikacje są bezpieczne – przestępcy pobierają ich specjalnie spreparowaną wersję już po zarażeniu komputera).

Po zainstalowaniu złośliwego kodu na komputerze czas na przejęcie kontroli nad sesją bankowości internetowej. Tu objawia się kreatywność przestępców. Do tej pory znakomita większość złośliwego oprogramowania atakującego konta bankowe, takiego jak Dridex, Ursnif czy Zbot, korzystała z wstrzykiwania kodu do procesów przeglądarki, następnie przechwytywała jej funkcje i monitorowała otwierane strony banków, by modyfikować je w pamięci procesu. Banki i ich dostawcy oraz producenci oprogramowania antywirusowego nauczyli się już wykrywać te działania, dzięki czemu walka z bankowymi koniami trojańskimi stała się nieco prostsza.

BackSwap omija te problemy, używając… interfejsu użytkownika przeglądarek. Monitoruje jedynie nazwy okienek przeglądarki, by wykryć sesję bankowości elektronicznej, a następnie w celu wstrzyknięcia kodu używa dwóch metod i odpowiednich skrótów klawiszowych. W starszej wersji otwiera konsolę przeglądarki (udaje naciśnięcia klawiszy CTRL+SHIFT+J w Chrome, CTRL+SHIFT+K w Mozilli) i wkleja odpowiedni kod JavaScriptu (wysyłając CTRL+V) do konsoli. Następnie powtarza pierwszą kombinację, by zamknąć konsolę. W czasie operacji okienko przeglądarki na chwilę zastyga, przez co użytkownik nie jest w stanie zauważyć, co dzieje się w tle.

W nowszej wersji ta metoda została zastąpiona inną: do przeglądarki wysyłane są klawisze CTRL+L (wybór paska adresu), następnie DELETE (skasowanie jego zawartości) oraz CTRL+V (wklejenie ciągu javascript: oraz złośliwego skryptu). Na końcu pasek adresu jest czyszczony, by usunąć ślady ingerencji.

Obie techniki mają same zalety dla przestępców:

  • nie wymagają wysokich uprawnień – wystarczy działać z uprawnieniami użytkownika,
  • omijają dodatkowe mechanizmy bezpieczeństwa wdrażane na poziomie przeglądarek (podszywając się na tym etapie pod użytkownika, można ominąć większość mechanizmów detekcji wstrzyknięć JavaScriptu używanych w systemach bezpieczeństwa banków),
  • są niezależne od architektury przeglądarki (wstrzykiwanie procesów wymaga dostosowania do architektury 32- lub 64-bitowej, a przechwytywanie funkcji często wymaga dostosowania nawet do konkretnej wersji przeglądarki).

BackSwap obsługuje zarówno Chrome, Firefoksa jak i Internet Explorera. Wszystkie te przeglądarki mają mechanizm obrony przed podobnymi atakami (najczęściej wspartymi socjotechniką), wymuszający wpisanie ciągu javascript: ręcznie przez użytkownika. BackSwap problem rozwiązuje, wpisując ten fragment znak po znaku, udając użytkownika.

Wstrzykiwany JavaScript

Skrypt wstrzykiwany do przeglądarki musi być dostosowany do interfejsu konkretnego banku. Przestępcy do tej pory dostosowali swoje narzędzia do interfejsów PKO BP, BZ WBK, mBanku, ING i Pekao. W ostatniej wersji zrezygnowali z BZ WBK i Pekao, ale mogą je w każdej chwili przywrócić. Do wstrzyknięcia dochodzi w momencie, gdy klient zleca przelew. Złośliwy kod podmienia wtedy numer rachunku, na który ma zostać wysłany przelew ofiary. Na ekranie komputera tego nie widać – zmiana dotyczy informacji, które przeglądarka wysyła do banku. Przestępcy nie atakują wszystkich przelewów – definiują konkretny przedział kwotowy, który ich interesuje. Ostatnio celowali w kwoty między 10 000 a 20 000 PLN – jak na zrzucie ekranu poniżej.

Konta na nieświadome słupy

Numery kont, na które trafią przekierowane przelewy, BackSwap pobiera z serwera przestępców lub ma z góry zaszyte w swoim kodzie. Przestępcy eksperymentują z różnymi metodami, a numery rachunków potrafią zmieniać codziennie. Skąd zatem biorą tyle kont? Tym najprawdopodobniej zajmuje się druga część grupy, która rekrutuje nieświadome osoby pod pretekstem ciekawych ofert pracy. Uwierzcie, nadal są wśród nas osoby, które są skłonne uwierzyć, że przyjmowanie przelewów i odsyłanie ich na inny rachunek to praca warta kilka tysięcy złotych miesięcznie. Przestępcy nawet podpisują ze słupami papierowe umowy o pracę – są do tego całkiem nieźle przygotowani. Niestety wiele osób daje się namówić na taką „pracę”, a ich rachunki są potem wykorzystywane przez przestępców. Utrudnia to pracę bankom, ponieważ konta słupów nie wyróżniają się niczym szczególnym – mają historię, obroty i wiarygodność.

Jak nie zostać ofiarą

Mamy dla Was trzy kluczowe porady.

  1. Nie dajcie się namówić na łatwą i przyjemną pracę przyjmowania płatności na własny rachunek i odsyłania ich za prowizję. To nieuchronnie skończy się utratą „zarobków” i wieloma wizytami na komisariacie, a może i w sądzie.
  2. Zastanówcie się, zanim klikniecie w załącznik od nieznanego nadawcy. Lepiej zadzwonić niż klikać – przez telefon nie zainfekujecie komputera.
  3. Sprawdzajcie numery rachunków, na które wysyłacie przelewy, a które bank wysyła Wam SMS-em lub w aplikacji mobilnej. Porównujcie przedstawione cyfry z tymi, które miały znaleźć się na przelewie. Osoby, które robią to regularnie, łatwo bronią się przed takimi atakami.

IOC

Na VirusTotalu znajdziecie ich na pewno o wiele więcej, tu kilka pomagających zacząć poszukiwania:

9BC4C1D5403DDD90712CE87225490A21D1EDC516 JS/Nemucod.EAN trojan
CF5A74C268661501156663F74CD5E20603B0F261 Win32/BackSwap.A trojan
6251F9AD0E5F551AC4A6B918EF366E86C4CCFDC4 Win32/BackSwap.A trojan
2DC9760A7C6E9D261C73EFB7B2604840734BC058 Win32/BackSwap.A trojan
A68901D0D8C1247FF280F9453E3AE45687C57566 Win32/BackSwap.A trojan (JavaScript)
Powrót

Komentarze

  • avatar
    2018.05.25 13:08 Oskar

    Uruchamianie javascript z poziomu paska adresu wydaje się być ziejącą dziurą w zabezpieczeniach. Ciekaw jestem, czy istnieje jakikolwiek praktyczny powód, że jest to możliwe?

    Odpowiedz
    • avatar
      2018.05.25 16:00 Maciej

      Po prostu stosujesz komendy wciskania klawisza i zapisywania tekstu w schowku. To tak jakbyś sztucznie manipulował strumieniami cin i cout w C++ ukrywając to przed użytkownikiem

      Odpowiedz
    • avatar
      2018.05.25 16:12 Kokokosz

      Dlaczego uwazasz ze jest to dziura w zabezpieczeniach? Czytales moze 'Splatana siec’? Jezeli nie to polecam przeczytac.

      Odpowiedz
    • avatar
      2018.05.26 11:02 Renim

      Może wydaje Ci się to luką w zabezpieczeniach, ale pozwala to stosować tzw „skryptozakładki” (bookmarklet).

      Odpowiedz
    • avatar
      2018.08.23 14:53 QbaG

      Ziejąca dziurą jest konieczność używania javascript na stronach banku. Panom dyrektorom pomyliły się strony „bratanka” z wodotryskami java* / flash z funkcją serwisu bankowego.
      Widać to dobrze po samej stronie logowania jak się wyłączy .

      Może w końcu ten przypadek skłoni niektóre osoby do refleksji.

      Odpowiedz
  • avatar
    2018.05.25 13:21 Tomek

    Czy używanie klienta poczty (Thunderbirda) faktycznie zablokuje auto-uruchomienie się skryptu/załącznika?

    Odpowiedz
  • avatar
    2018.05.25 14:28 Konan Katoda

    Cytat „Niestety wiele osób daje się namówić na taką „pracę” a ich rachunki są potem wykorzystywane przez przestępców. Utrudnia to pracę bankom, ponieważ konta słupów nie wyróżniają się niczym szczególnym – mają historię, obroty i wiarygodność.”

    Otóż Niebezpieczniku NIE.
    Banki same sobie utrudniają pracę na tym polu ułatwiając na innym.
    Problemu by nie było gdyby banki zrezygnowały z potwierdzania tożsamości przelewem na złotówkę a do założenia rachunku każdorazowo potrzebna była by wizyta z dowodzikiem w placówce. W innym wypadku banki tak na prawdę ułatwiają pranie pieniędzy pochodzących z przestępstwa.

    Odpowiedz
    • avatar
      2018.05.26 07:45 Marcin

      Nie chodzi przecież o słupy, które dopiero zakładają konto. Chodzi o ludzi, którzy konta mają i używają ich od lat. Właśnie dzięki temu, że mają historię wykonywanych przelewów, wykrywanie ich wcześniej, niż pojawienie się na nich pieniędzy z okradzionego konta (gdy ruszy procedura po zgłoszeniu okradzionego), jest problematyczne.

      Odpowiedz
  • avatar
    2018.05.25 15:40 Wojciech

    „Do wstrzyknięcia dochodzi w momencie, gdy klient zleca przelew. Złośliwy kod podmienia wtedy numer rachunku, na który ma zostać wysłany przelew ofiary. Na ekranie komputera tego nie widać – zmiana dotyczy informacji, które przeglądarka wysyła do banku.”

    Przy potwierdzaniu przelewu (a to zdaje się jest obligatoryjne, przynajmniej w iPKO), bank raz jeszcze wyświetli numer rachunku na który idzie przelew, dodatkowo wyśle ten numer w smsie (przy takiej formie potwierdzenia).

    Odpowiedz
    • avatar
      2018.05.25 17:06 Łukasz

      Sęk w tym, że program podmienia tylko dane wysylane do banku, a wyswietlany przez strone jest ten sam numer

      Odpowiedz
      • avatar
        2018.05.25 17:29 Wojciech

        Czy rzeczywiście tak jest? Na logikę bank powinien wyświetlać faktyczny numer z żądania, inaczej po co to w ogóle robić?

        Odpowiedz
        • avatar
          2018.05.25 20:14 Xyz

          Bank wysle do przegladarki rzeczywisty numer konta (zlodzieja) z tym ze skrypt js po stronie przegladarki zamieni go na ten co wpisal uzytkownik. Jedyna obrona jest weryfikacja konta w sms od banku

          Odpowiedz
        • avatar
          2018.05.25 20:23 dff

          Wyświetla drugi raz aby user mógł zobaczyć zwykłą pomyłkę? JS pilnuje zdarzenia wyświetlania nr w html-u i podmienia, a przecież ten JS istnieje na kompie usera a nie banku? W sms jest na 95%? ten prawdziwy numer, bo przechwytywanie sms jest jeszcze mało praktykowane?

          Odpowiedz
        • avatar
          2018.05.25 20:35 Chris

          Skoro malware podmienił numer konta wysłany do serwera banku, to może też podmienić stronę potwierdzenia.

          Odpowiedz
          • avatar
            2018.05.25 23:34 Wojciech

            jak najbardziej, może. tylko to już wpływa na jego wykrywalność, a to w tym podobno ten malware się wyróżnia :) artykuł pozostawia pewne niedomówienia

          • avatar
            2018.06.01 09:50 Borys

            Moment moment… Powiedzmy, że wirus w istocie podmienił numer konta „w ukryciu”, a klient banku widzi poprawny numer…. Jak to się ma do SMS’a przychodzącego na telefon osoby zlecającej przelew gdzie jak krowie na rowie wypisane są dane przelewu takie jak pierwsze i ostatnie cyfry konta, kwota przelewu? To co wirus podmieni dane w SMSie notabene wysyłanym przez system bankowy?

  • avatar
    2018.05.25 16:17 JS

    mBank wysyła w SMS fragment numeru konta docelowego (4 pierwsze cyfry i 6 ostatnich). Jak jest z bezpieczeństwem takiej „funkcji skrótu”? Czy atakujący dysponuje wystarczającą liczbą kont by liczyć na kolizje, czy też raczej bazuje na braku czujności użytkownika?

    Odpowiedz
  • avatar
    2018.05.25 16:53 Szymon

    Czy ten kod obsługuje operę?

    Odpowiedz
  • avatar
    2018.05.25 18:13 Pandupek

    Złoßnik Adasiu złośnik! Nie koń trojański i nie firma a badacze

    Odpowiedz
  • avatar
    2018.05.25 19:57 Łukasz

    Właśnie oglądam wiadomości i przeglądam między innymi z3s a tam Adam o zhackowaniu finału LM :)

    Odpowiedz
    • avatar
      2018.05.26 16:39 Krystek

      Sb zawsze prowadziło wiadomości, zastanawiałeś się kiedyś skąd się wziął pan adam i dlaczego mimo tego że jest tak chujowy wszyscy go kochamy. Dlaczego uważamy 70 letnią babkę w latexie za normalność i czyjm ona jest idolem?

      Odpowiedz
  • avatar
    2018.05.25 22:06 Marcin

    Wygląda na dość zaawansowany technicznie atak. Codzienne releasy, do tego siatka słupów (chyba że outsourcuje koleś). Tak czy inaczej, mimo wszystko, chylę czoła.

    Odpowiedz
  • avatar
    2018.05.26 07:17 Wojtek

    Zapewne żaden z potencjalnych słupów nie czyta ZaufanejTrzeciejStrony, ani żadnej innej o podobnej tematyce. Niewiele się dzieje w kwestii uświadamiania typowego Kowalskiego

    Odpowiedz
  • avatar
    2018.05.26 10:12 ArturM

    Myślę, że jedna z metod na utrudnienie tego ataku jest w miarę prosta do realizacji. Wystarczy tak napisać kod aplikacji PHP by nazwy poszczególnych obiektów w kodzie HTML dla klienta były losowe dla danej sesji. Wtedy proste wyszukiwanie po nazwach obiektów czy id-kach było by nieskuteczne. Dodatkowo dodać parę fałszywych kontrolek, by parsowanie zawartości na podstawie wzorca dawało kilka rezultatów.

    Odpowiedz
    • avatar
      2018.05.26 10:59 hakier

      Nic to nie zmieni, ponieważ i tak numer konta gdzieś trzeba wpisać/pokazać a skrypt może łatwo go rozpoznać.

      Problem jest z przeglądarkami. Narzędzie deweloperskie powinny być całkowicie wydzielone i instalowane osobno przez użytkownika. Bez nich atak byłby prawdopodobnie niemożliwy.

      Odpowiedz
      • avatar
        2018.05.26 12:06 Tusz

        Pasek adresu, którego trojan używa do wstrzyknięcia JS, to narzędzie deweloperskie?

        Odpowiedz
  • avatar
    2018.05.26 12:16 lol

    ten screen z jsa to na amidze zrobiliście?

    Odpowiedz
    • avatar
      2018.05.28 09:45 Sebo

      Wygląda jak zwykła konsola. Na Amidze było by GUI.

      Odpowiedz
      • avatar
        2018.05.28 23:51 ah

        „byłoby” proszę. Widzę to już kolejny raz pod jednym tematem. Potem sam zaczynam piać: „po za” zamiast „poza”.

        Odpowiedz
        • avatar
          2018.05.29 13:00 Sebo

          Całe szczęście błedy gramatyczne, ortograficzne i interpunkcyjne nie powodują kolapsu wszechświata, więc sugeruje zająć się czymś bardziej pożytecznym niż pielęgnowanie nielogicznych umiejętności.

          Odpowiedz
  • avatar
    2018.05.26 21:41 Daniel

    A ilu z was tu komentujących chociaż raz wykrył tylko zwkłego spamera? :/

    Odpowiedz
  • avatar
    2018.05.26 23:13 Pawel

    Sa narzedzia ktore zabezpieczyc moga klientow bankow przed tego typu atakami. Druga kwestia to banki same nie weryfikuja przelewow i prania pieniedzy.

    Odpowiedz
  • avatar
    2018.05.30 14:00 NIK

    Jesli mozna bankowi przeslac kod java wklejany z paska adresu to znaczy ze strona banku ten kod wykonuje. Wiec czemu bank tą samą javą nie szyfruje przesyłanych danych juz na urządzeniu uzytkownika. Podmiana danych była by wtedy dużo trudniejsza.
    Nie znam sie az tak na tym ale jestem zakoczony że dane wklepywana w formulażach sa tak prymitywnie przesyłane ze można je podmienić bez zgody uzytkownika. Spobow na zabezpieczenie sie przed tym znalazło by się pewnie wiele chociazby porównanie ciągu cyferek wstukanych na klawiaturze z cyferkami przesyłnymi w tym wypadku wklejonymi z paska. Problem pewnie leży w samych programistach którzy tworzą stron korzystając z jakiś gotowców czy oprogramowania i interesuje ich wynik dzialania, nie rozumieja jak to działa?
    Problem stary bo zaczoł sie od Microsoftu który do dziś nie potrafi rozpoznac danych wprowadzanych przez urzytkownika od danych wprowadzanych automatycznie prze skrypty funkcje itd.

    Odpowiedz
  • avatar
    2018.06.05 22:35 Azarian

    Z tego co widzę wirus dostał się przez program pocztowy. Pomijając załączniki, których nie powinno się otwierać jeżeli pochodzą z nieznanego źródła to można przynajmniej w Windows 7 sprawdzić w lokalizacji AppData/Local/Microsoft/Windows/Temporary Internet Files/Content.IE5 najlepiej Total Comanderem. Można tam zobaczyć śmietnik pozostawiony przez Windows Live Mail i skasować pliki. A najlepiej mieć antywirusa, który załączniki mz automatu otwiera w piaskownicy.

    Odpowiedz

Zostaw odpowiedź

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Klienci PKO BP, BZ WBK, mBanku, ING i Pekao na celowniku nowego malware

Komentarze