Analiza zmasowanego ataku złośliwego oprogramowania na konta Polaków

dodał 15 czerwca 2018 o 21:03 w kategorii Złośniki  z tagami:
Analiza zmasowanego ataku złośliwego oprogramowania na konta Polaków

Od kilku dni do skrzynek Polaków trafia ogromna fala złośliwego oprogramowania. Wiele jest adresów nadawców, wiele rodzajów fałszywych wiadomości, lecz każda niesie jeden i ten sam ładunek – bankowego konia trojańskiego DanaBot.

Czasem zdarza się, że przez kilka lub kilkanaście dni z rzędu każdy analizowany przez nas przypadek ataku okazuje się należeć do tej samej kampanii. Taka sytuacja trwa od kilku dni, a codziennie trafiają do nas świeże próbki. Poniżej możecie przeczytać analizę złośliwego oprogramowania, które przestępcy chcą umieścić na Waszych komputerach.

Artykuł gościnny
Autorką analizy jest Aleksandra Kwiecińska pracująca w zespole ComCERT. ComCERT SA jest polską firmą doradczą działającą na rynku od 2011 roku. Jest pierwszą w Polsce niezależną firmą specjalizującą się w usługach typu CERT (Computer Emergency Response Team) na rynku przedsiębiorstw i instytucji, niezwiązaną z żadnym operatorem  telekomunikacyjnym. Koncentruje się na usługach określonych jako identyfikowanie zagrożeń i incydentów w cyberprzestrzeni, tworzenie i podnoszenie kompetencji zespołów reagujących (CSIRT, SOC) oraz wsparcie Klientów w sytuacjach zagrożenia lub naruszenia ich bezpieczeństwa.

Wstęp

W ciągu bieżącego tygodnia obserwujemy kampanie e-mailowe dystrybuujące złośliwe oprogramowanie, skierowane do polskich użytkowników. Wiadomości zawierają załączniki z archiwami ZIP. Archiwa, w zależności od wersji, zawierają skrypt VBS albo plik wykonywalny w formacie PE. Po wstępnej analizie okazało się, że jest to DanaBot, czyli oprogramowanie dystrybuowane również w e-mailach wysyłanych z serwerów firmy ubezpieczeniowej ERGO Hestia. Należy zaznaczyć, że kampania mailowa była dobrze dopracowana – nazwisko nadawcy i nazwa firmy wyglądały wiarygodnie, a treść była poprawna pod względem gramatycznym.

Nadawca sugerował, że w załączniku znajdują się dokumenty finansowe (faktury, zestawienia płatności itd.), zaś domena, z której pochodził adres e-mail, była zgodna z nazwą firmy, która przysyłała „fakturę”.

Downloader

W niektórych wersjach kampanii w załączonym archiwum znajdował się skrypt pełniący rolę downloadera. Faktyczny kod był zaciemniony za pomocą prostej techniki, polegającej na zakodowaniu kolejnych znaków skryptu w postaci liczb (odpowiadających ich kodowi ASCII) i dodaniu do każdego z nich pewnej liczby.

Po zdjęciu zaciemnienia otrzymaliśmy czytelny i dobrze sformatowany kod. Okazało się, że jest to dobrze znany ARS VBS Loader, następca SafeLoadera, który w 2015 roku sprzedawany był na rosyjskich forach, a następnie wyciekł.

Po uruchomieniu skrypt zbiera podstawowe dane o lokalnym systemie, takie jak: nazwa i wersja systemu operacyjnego, nazwa użytkownika i komputera, informacje o programach antywirusowych, ilości pamięci RAM, architekturze procesora. Zebranymi danymi posługuje się w komunikacji z C&C (Command & Control), wysyłając żądania POST o następującej strukturze:

W obserwowanej kampanii loader komunikował się z serwerem: http://185.159.82.45/. W odpowiedzi na zadane żądanie zainfekowany komputer przyjmuje z serwera komendy takie jak:

  • download – pobranie i wykonanie pliku wykonywalnego,
  • plugin – pobranie i załadowanie dodatkowego modułu w postaci dll,
  • update – pobranie aktualizacji,
  • uninstall – dezinstalacja samego siebie.

Ponadto loader posiada zdolność przetrwania kolejnych rozruchów komputera, modyfikując w tym celu klucz rejestru HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. Ponadto jeśli połączenie się z C&C zakończy się niepowodzeniem, downloader będzie próbować się przełączyć do innego C&C – o ile taki adres zostanie dostarczony w treści skryptu. W innej zaobserwowanej wersji downloader komunikował się z adresem IP 198.12.113.17.

Payload

W obserwowanej kampanii downloader pobierał złośliwe oprogramowanie o nazwie DanaBot, po raz pierwszy opisane pod koniec maja przez Proofpoint. DanaBot to trojan bankowy wykradający m.in dane uwierzytelniające do logowania ze stron internetowych określonych przez botmastera. Funkcja ta realizowana jest dzięki webinjectom, czyli technice polegającej na wstrzyknięciu złośliwego skryptu do kodu atakowanej strony internetowej w momencie, gdy użytkownik zdecyduje się ją otworzyć w przeglądarce internetowej. Poniżej przykładowy inject (na stronę BOŚ Bank):

Kiedy użytkownik wchodzi z zainfekowanego komputera na stronę BOŚ Banku służącą do logowania (https://bosbank24.pl/twojekonto), do kodu strony doklejany jest następujący skrypt:

Jak widać, ładowany jest skrypt z lokalizacji my9rep/myjs28_frr_s40.js. Jedną z jego funkcji jest kradzież danych, które użytkownik podaje w celu zalogowania się do banku. Skrypt pobierany jest z domeny brasko.co.

Dane użytkownika przesyłane są jako argumenty do skryptu /my9rep/777.php, który zwraca kod innego skryptu .js, opisujący działanie, jakie ma zostać podjęte (w przypadku podania nieprawidłowych danych otrzymuje się np. polecenie oczekiwania).

Dla każdego banku, na który został napisany inject, skrypt jest inny (strona musi zostać obsłużona w inny sposób). Uproszczona lista adresów, które potencjalnie mogą być zaatakowane injectami, została zamieszczona poniżej, a pod tym linkiem znajdziecie oryginalny plik z pełnymi injectami.

W kodzie niektórych skryptów widoczne są napisy, które sugerują, że autorzy strony próbują wykonać przelew, co miałoby być możliwe dzięki wyłudzeniu od użytkownika w formularzu danych pochodzących z SMS-a autoryzującego płatność:

Niektóre strony bankowe, obsługiwane są poprzez całkowitą ich podmianę, np. dla serwisu iPKO istnieje odpowiednik strony na serwerze przestępców:

Podmieniona wersja różni się jednak od oryginalnej (iPKO ma już od pewnego czasu nowy interfejs), zatem uważny użytkownik może zauważyć różnicę.

Trojan komunikuje się ze swoim C&C pod adresem 176.119.1.104.Wysyła do niego żądania GET o następującej strukturze:

Znaczenie parametrów:

  • a – ID kampanii,
  • b – architektura system operacyjnego (32/64),
  • d – losowa wartość (nonce ?),
  • g – losowa wartość (nonce ?),
  • i – poziom integralności,
  • u – czy użytkownik ma uprawnienia administratora (1 – tak, 0 – nie),
  • v – wersja systemu operacyjnego,
  • x – licznik żądań,
  • e – klucz szyfrowania (AES) służący do rozpakowania następnej warstwy payloadu.

W odpowiedzi na tak skonstruowane żądania pobierane były moduły w postaci .dll (w wersjach pochodzących z różnych kampanii była różna ich liczba, najczęściej cztery). Trojan pobiera również config dotyczący procesów użytkownika związanych z kryptowalutami i kryptografią:

  • ETHEREUM.EXE
  • -QT*.EXE
  • KLIENT.EXE (???)
  • VER.EXE
  • BITCONNECT.EXE
  • COIN-QT-*.EXE
  • ZCASH.EXE
  • COMARCHCRYPTOSERVER.EXE
  • CARDSERVER.EXE
  • ELEKTRON.EXE
  • EXPANSE.EXE

Podobnie jak w zagranicznym odpowiedniku można znaleźć w konfiguracji nazwy plików:

  • \WALLET.DAT
  • \DEFAULT_WALLET

Lista procesów i plików różni się od listy, którą podawał Proofpoint. Podobnie jak w przypadku zagranicznego odpowiednika do serwera C&C wysyłane są zrzuty ekranu zainfekowanego komputera (i inne wrażliwe dane). Można przypuszczać, że wszystkie kampanie są ze sobą powiązane i pochodzą od jednego aktora, o czym świadczy zbieżna konfiguracja i użycie tej samej domeny w celu zbierania danych.