Daj adres czajnika – malware atakujące polskie banki udaje, że mówi po rosyjsku

dodał 20 lutego 2017 o 21:20 w kategorii Złośniki  z tagami:
Daj adres czajnika – malware atakujące polskie banki udaje, że mówi po rosyjsku

Przypisanie autorstwa ataku z reguły jest trudnym zadaniem. Nie dość, że przestępcy potrafią nie zostawiać żadnych znaczących śladów, to czasem także podrzucają mylne tropy. Nie inaczej było w przypadku ataku na polskie banki.

Echa włamania do kilku polskich banków nie milkną. Firma BAE Systems, która swojego czasu jako pierwsza opisała atak na bank narodowy Bangladeszu, przyjrzała się dość dokładnie niektórym elementom złośliwego oprogramowania atakującego komputery w polskich bankach i uznała, że jego autorzy próbowali podszyć się pod osoby rosyjskojęzyczne.

Transliteracja czy transkrypcja

Badacze z BAE Systems przebadali zarówno elementy kodu z serwera serwującego eksploity jak i próbki oprogramowania, które używane było w pierwszym etapie infekcji do sprawdzenia, na jaki komputer trafili przestępcy. W obu elementach kodu znaleźli sporo słów, które wygladają zupełnie jakby napisane były po rosyjsku. W jednym z komponentów można znaleźć następujące polecenia / statusy: nachalo, ustanavlivat, poluchit, pereslat, derzhat oraz vykhodit, podczas kiedy zdaniem ekspertów BAE Systems prawidłową formą powinno być raczej ustanovit zamiast ustanavlivat czy vyiti zamiast vykhodit.

Dalej robi się jeszcze ciekawiej, gdyż w kodzie pojawia się słowo chainikaddress. Skąd taki zwrot? Otóż w potocznym rosyjskim чайник może oznaczać kogoś głupiego – po angielsku dummy. Z kolei w kodzie można użyc sformułowania dummy address, czyli adres tymczasowy, zastępczy – lecz na pewno nie chodzi tu o adres czajnika. Czajnik funkcjonuje dość konsekwentnie, łącznie z poleceniem daiadreschainika. W jednym fragmencie kodu autor nie może się jednak zdecydować, czy używa słów angielskich, czy pseudorosyjskich:

private function put_dummy_args(param1:*) : *
{
return chainik.call.apply(null,param1);
}
private function vyzov_chainika() : *
{
return chainik.call(null);
}

Użyta przez autorów malware pisownia może udawać transliterację – czyli zapis słów rosyjskich za pomocą znaków łacińskich. Nie stosują jej jednak konsekwentnie. W kodzie pojawia się na przykład słowo kliyent2podklyuchit, prawdopodobnie tłumaczenie client2connect. Co jednak istotne, rosyjskie słowo клиент w transliteracji zapisane zostanie jako klient. Skąd więc dziwny zapis kliyent? Prawdopodobnie jest to transkrypcja podawana przez usługę Google Translate. Najwyraźniej autorzy malware mieli problem z odróżnieniem transkrypcji od transliteracji.

Przykład z Google Translate (źródło: BAE Systems)

Analiza exploit kitu i malware

Badacze BAE Systems wykonali także kawał świetnej roboty w kwestii analizy sposobu działania exploit kitu serwującego złośliwy kod i niektórych elementów samego malware. Serdecznie polecamy lekturę całości – dowiecie się z niej np. do czego używane było hasło polki89jdm#ks@. Na zachętę zobaczcie także schemat działania exploit kita.

Jak działał eksploit kit (źródło: BAE Systems)

A na koniec taka mała refleksja – gdybyśmy byli Rosjanami atakującymi Polaków i chcieli utrudnić analizę, to pewnie zamieścilibyśmy w kodzie własnie takie ciągi, by wyszło na to, ze ktoś tylko próbował udawać Rosjan… :)