poniedziałek, 25 lipca 2016

Scenariusz ataku na klientów bankowości internetowej polskiego banku


W piątek po południu wielu użytkowników Internetu w Polsce dostało wiadomości email z informacją o niezapłaconym rachunku. Można o tym przeczytać między innymi na tej stronie [1]. Była to wiadomość rzekomo pochodząca z działu windykacji firmy PZU. Co oczywiście nie jest prawdą. 
Oto treść wiadomości (wiadomość zawiera błąd – infomacje zamiast informacje):
Posiadasz nieopłacony rachunek na kwotę XXXX PLN. Data płatności do 23-07-2016.

Rozliczenie i infomacje o zadłużeniu dostępne w załączniku.



Kliknij tutaj, aby zobaczyć fakturę.

Pozdrawiamy, PZU.

Link prowadził do serwera, z którego pobierany był plik wykonywalny SCR ze złośliwym oprogramowaniem lub plik javascript, który po uruchomieniu również pobierał ten sam plik wykonywalny. Następnie użytkownik jest przekierowany na stronę pzu.pl.
Fragment pliku JS:



Sekwencja połączeń z adresami URL:

Po uruchomieniu pliku wykonywalnego złośliwe oprogramowanie łączy się do serwera, który zwraca publiczny adres IP zainfekowanego komputera. Następnie następuje połączenie do serwera ertenemi.com. Co ciekawe ten serwer w piątek nie był dostępny. Nie był też dostępny w sobotę. Dopiero w dniu dzisiejszym (niedziela) został włączony.

Gdy zwrócił prawidłową odpowiedź good!, złośliwe oprogramowanie zmodyfikowało ustawienia przeglądarki internetowej (IE/Firefox) wstawiając skrypt konfiguracyjny. Poniżej przykład dla przeglądarki Internet Explorer. 

Oto zawartość skryptu:

 
Możemy zauważyć, że gdy użytkownik łączy na serwery w domenie *pko.pl następuje przekierowanie na serwery proxy o adresie IP 128.199.166.142.

Od tej pory połączenie do banku jest kontrolowane przez intruzów. Połączenie będzie szyfrowane - certyfikat jest podpisany przez GeoTrust Inc CA. Więcej na ten temat można przeczytaj tutaj [2]. Zazwyczaj po zalogowaniu dostajemy informację o przerwie w działaniu usług bankowych lub wyświetlana jest ikona wskazująca że trwa logowanie. Następnie może pojawić się prośba o podanie hasła jednorazowego lub wiadomości SMS, którą dostaniemy na telefon.

Jak sprawdzić czy jesteśmy zainfekowani:
1. Obecność skryptu x.vbs w Startup/Autostart (c:\users\<username>\appdata\roaming\microsoft\windows\start menu\programs\startup\x.vbs).
Przykładowy widok, gdy jesteśmy zainfekowany:
Przykładowy widok, gdy nie jesteśmy zainfekowany:


2. Ustawienia przeglądarki (Internet Options -> zakładka Connections -> Lan Settings -> pole Use automatic configuration script. Gdy jesteśmy zainfekowany pojawi się ten adres:

3. Certyfikat przy nawiązanym połączeniu z PKO BP, mimo że jest zaufany to wystawiony na organizację PKOBP w Orlando, Floryda, US.


Informacje techniczne


Plik wykonywalny ma mała wykrywalność gdyż główna cześć malware jest zakodowana i znajduje się w sekcji resources pliku PE. 

Po załadowaniu tego zasobu jest on odszyfrowywany za pomocą RC4. Również nazwy funkcji API są kodowane XOR a następnie wywoływane z adresów umieszczonych na stosie:



 
Adresy URL serwerów są kodowane base64:

Źródła:
[1]  https://niebezpiecznik.pl/post/uwaga-na-falszywe-faktury-od-pzu/
[2] https://zaufanatrzeciastrona.pl/post/nie-pomoze-zielona-klodka-ten-kon-trojanski-tak-podmieni-strone-banku-ze-nie-zauwazysz/




Brak komentarzy:

Publikowanie komentarza