Stan zagrożeń w internecie znajduje się obecnie na poziomie standardowym. Nie występują duże epidemie a eksperci z Kaspersky Lab nie zanotowali żadnych poważnych incydentów związanych z bezpieczeństwem. Poziom zagrożenia: 1

"RunForestRun", "gootkit" oraz generowanie losowych nazw domen

Marta Janus
Kaspersky Lab Expert
Dodany 2 sierpnia 2012, 10:51 CEST
Tagi:

Niedawno trafiliśmy na szkodliwe oprogramowanie sieciowe, które, zamiast wstrzykiwać ramkę wskazującą na stały, istniejący adres, generuje pseudolosową nazwę domeny, w zależności od aktualnej daty. Podejście to nie jest nowe - jest szeroko wykorzystywane przez botnety podczas generowania nazw domen C&C – nie jest jednak bardzo rozpowszechnione wśród szkodliwych programów sieciowych, jakie widzieliśmy do tej pory. Po odciemnieniu kodu (deobfuscation) ramka przekierowująca do szkodliwego adresu URL z wygenerowaną nazwą domeny jest dołączana do pliku HTML. Wszystkie adresy URL składają się z 16 pseudolosowych liter i należą do domeny ru. Wykonują one skrypt PHP po stronie serwera z argumentem sid=botnet2: Każdego dnia generowana jest nowa nazwa domeny, dlatego umieszczanie adresów URL na czarnej liście w momencie, gdy stają się aktywne, przypomina walkę z wiatrakami. Na szczęście, znając algorytm, możemy łatwo przewidzieć nazwy domen na każdy dzień w przyszłości. Szkodnik ten jest wykrywany przez oprogramowanie firmy Kaspersky Lab jako Trojan-Downloader.JS.Agent.gsv. Nowsza wersja tego samego szkodliwego oprogramowania jest jeszcze sprytniejsza: zamiast wstrzykiwać zaciemniony kod do czystego pliku JS, szkodnik szyfruje całą zawartość zainfekowanego pliku, aby ukryć szkodliwy kod wraz z czystym: Takie szkodliwe oprogramowanie nie jest wcale łatwe do wykrycia: nie posiada określonego „podpisu” (takiego jak ciąg komentarza w poprzednim przykładzie) i każdy zainfekowany plik będzie się znacząco różnił od poprzedniego, ponieważ zaciemniona wersja zależy od czystej zawartości.
Ponadto, ponieważ zaszyfrowany jest cały plik, nie da się wskazać szkodliwej części i usunąć jej. W związku z tym nie jest łatwo pozbyć się tego szkodnika bez uszkodzenia strony internetowej. Jeśli nie ma czystych niezaciemnionych kopii zainfekowanych plików, wtedy aby wydobyć czystą zawartość, trzeba odszyfrować te pliki, co może okazać się dość trudnym zadaniem. Po zdjęciu pierwszej warstwy zaciemnienia poprzez zmianę funkcji eval() na funkcję alert() lub print(), widać więcej zaciemnionego kodu: Druga warstwa zaciemnienia kodu wykorzystuje nazwę domeny do szyfrowania zawartości pliku. Na przykład, jeżeli adres URL zainfekowanego pliku to: hxxp://www.somesubdomain.example.com/file-to-infect.js, klucz deszyfrujący ma postać: example.com Czysta i szkodliwa część jest przechowywana w postaci zaszyfrowanej w dwóch osobnych zmiennych: Aby odszyfrować kod, musimy znać dokładne pochodzenie zainfekowanego pliku. Po pełnym odciemnieniu widać nieco ulepszoną wersję funkcji, która generuje losowe nazwy domen, oraz poniższy czysty kod: Tym razem zamiast ru główną domeną jest waw.pl, a argument sid to botnet_api2. Nazwa skryptu pozostaje taka sama i może sugerować, że autor jest fanem filmu/książki o Foreście Gumpie. Ponadto, z komentarza, który autor najwyraźniej pozostawił analitykom, wiadomo, że szkodliwe oprogramowanie otrzymało od swojego twórcy nazwę “gootkit”. Po szybkim poszukiwaniu w Internecie, okazało się, że słowo to nie jest zupełnie nieznane dla Google’a jeśli chodzi o szkodliwy kod i kilka innych szkodników nosiło tę samą nazwę. Trudno jednak powiedzieć, czy istnieją jakiekolwiek powiązania między nimi (lub stojącymi za nimi cyberprzestępcami) a opisywanym wyżej szkodliwym programem. Najbardziej zbliżonym przypadkiem jest Gumblar-like Trojan, wykryty w 2000 r., który kradnie dane uwierzytelniające do kont FTP i infekuje pliki HTML/PHP na serwerze kodem, który zawiera ciągi “gootkit”.

Opisywane szkodliwe oprogramowanie jest już wykrywane przez oprogramowanie firmy Kaspersky Lab jako: HEUR:Trojan.Script.Generic (w postaci zaciemnionej) oraz jako HEUR:Trojan.Script.Iframer (w postaci odciemnionej).

Szkodliwe domeny, które sprawdziliśmy, były rozwiązywane do tego samego adresu IP i wygląda na to, że są „zawieszone z powodu zgłoszeń o nadużyciu”. Możliwe jednak, że reguły zdefiniowane na szkodliwym serwerze umożliwiają przekierowywanie do szkodliwego oprogramowania tylko w określonych okolicznościach (np. z określonych regionów i/lub zakresów IP), a informacja o nadużyciu jest fałszywa. Poprzednia wersja tego szkodnika przekierowywała użytkowników do BlackHole Exploit Kit.