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.
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.
https://*.bs*.pl/* https://*.cui.pl/* https://*.pl/homenet-webapp-frontend/* https://*/frontend-web/app/auth.htm* https://*/hb/faces/web/* https://*bs.pl/* https://*bs24.pl/* https://aliorbank.pl/hades/* https://bitbay.ne* https://bittrex.com/* https://biznes.toyotabank.pl/* https://bosbank24.pl/corpo_web/auth/login* https://bosbank24.pl/twojekont* https://ca24biznes.credit-agricole.pl/* https://cbp.cui.pl/* https://e-bank.*agricole.p* https://ebo.*.pl/* https://ebusinessbank.db-pbc.pl/* https://e-skok.pl/eskok/login* https://firmabank.credit-agricole.pl/mt-fron* https://ibiznes24.pl/* https://iri.* https://kiri.*.pl/* https://konto.toyotabank.p* https://korporacja.gb24.pl/* https://login.bgzbnpparibas.pl/login/Redirect?SAMLR* https://login.bgzbnpparibas.pl/sso https://login.portal.citidirect.com/portalservices/forms/* https://login.vwbank* https://moj.raiffeisenpolbank.co* https://online.mbank.pl/pl/Log* https://pocztowy24biznes.pl/* https://poloniex.com/* https://portal.citidirect.com/portalservices/forms/* https://reb.sgb.p* https://sbe.pbsbank.p* https://secure.getinbank.p* https://sgbonline.sgb.p* https://system.aliorbank.p* https://www.e25.pl/* https://www.sgcib.pl/ib/Default.aspx?auth=t
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ść:
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.
Komentarze
Polscy wannabe chakerzy przypominajacy albanskiego wirusa. Ich g*wno malware wykrywa ClamAV z platnymi bazami z Securiteinfo.
Dużo czytałem na łamach Z3S bo nie doświadczyłem takich ataków ;)
Od kilku dni i mnie dopadło ;)
Zgłaszane do AV, sprawdzane na VT.
Skutek różny i podróżny ;)
Brawo Mój AV i VT :D:D:D:D:D
Też dostałem tego emaila. Wyglądał dość autentyvznie ale ja nie mialem nic wspólnego z tym podmiotem co mnie zaniepokoiło. Kiedy zobaczyłem że ta niby „faktura” ma format js (javascript) od razu wiadomość poleciała do kosza :)
Też dostałem tego emaila. Wyglądał dość autentyvznie ale ja nie mialem nic wspólnego z tym podmiotem co mnie zaniepokoiło. Kiedy zobaczyłem że ta niby „faktura” ma format js (javascript) od razu wiadomość poleciała do kosza :)
A ja nic nie dostałem :/. Albo może do spamu trafiło. Thunderbirda mam od kilkunastu lat i plik treningowy już wiele doświadczył.
Ja nigdy, NIC nie dostaję, kurczę blaszka :(.
Faktycznie to powód do smutku. ;)
Nigdy nie nie dostaje – smutno mi :(
sbe.pbs…. w tamtym tygodniu miał kilkudniową awarie. Do piątkowego popołudnia widać było stan na koniec poniedziałku i śladowe ilości innych operacji. ktoś? coś? powiązanie z DanaBot?