Library
My library

+ Add to library

Profile

Wróć do listy aktualności

Trojan uruchamia serwery proxy na komputerach z systemem Linux

29 września 2015

Trojany przeznaczone dla komputerów z systemem Linux nie są tak rozpowszechnione, jak złośliwe programy dla innych systemów operacyjnych. Jednak analitycy bezpieczeństwa Doctor Web badają również i malware dla Linuxa. Ostatnio jeden z takich trojanów został przeanalizowany w laboratorium antywirusowym Doctor Web — ten złośliwy program , nazwany Linux.Ellipsis.1, zachowuje się w nietypowy sposób, można powiedzieć “paranoidalny”.

Linux.Ellipsis.1 został zaprojektowany w celu uruchomienia na zaatakowanej maszynie serwera proxy. Jednakże ta próbka wirusa nie jest taka, jak inne złośliwe programy dla systemu Linux — jego zachowanie zostało określone przez analityków bezpieczeństwa Doctor Web jako „paranoidalne”. Wiadomo już, że cyberprzestępcy używają tych serwerów proxy do uzyskania anonimowego dostępu do urządzeń zhakowanych przez inny złośliwy progra Linux.Ellipsis.2. Schemat ataku wygląda następująco: używając Linux.Ellipsis.2, cyberprzestępcy uzyskują nieautoryzowany dostęp poprzez SSH do dowolnego urządzenia sieciowego lub komputera, a następnie używają go do realizacji złośliwej aktywności zachowując anonimowość dzięki Linux.Ellipsis.1.

Przyjrzyjmy się bliżej Linux.Ellipsis.1.

Uruchomiony na zainfekowanej maszynie, Linux.Ellipsis.1 usuwa swój katalog roboczy, czyści listę zasad iptables i próbuje “zabić” procesy kilku uruchomionych aplikacji — na przykład programów używanych do logowania zdarzeń i analizowania ruchu. Następnie trojan podmienia istniejące katalogi i pliki dziennika zdarzeń systemu na foldery o tych samych nazwach — dzięki temu przyszłe stworzenie logów o identycznych nazwach będzie niemożliwe.

Następnie Linux.Ellipsis.1 modyfikuje plik konfiguracyjny "/etc/coyote/coyote.conf" dodając ciąg alias passwd=cat\n. Potem usuwa kilka narzędzi systemowych z katalogów /bin/, /sbin/ i /usr/bin/ i dodaje atrybut „tylko do odczytu” do kilku plików niezbędnych dla jego działania. Co więcej, trojan blokuje podsieć adresów IP określonych w pliku konfiguracyjnym lub w komendzie odebranej przez trojana, a to “blokowanie” oznacza, że po utworzeniu stosownej reguły iptables, określony adres IP nie jest dopuszczony do wysyłania lub odbierania pakietów poprzez określony port lub protokół. Głównym celem Linux.Ellipsis.1 jest uruchomienie serwera proxy na zainfekowanym komputerze. Dlatego trojan monitoruje połączenia na lokalnym adresie i porcie filtrując przesyłany przez nie ruch.

W porównaniu z innymi złośliwymi programami, zachowanie Linux.Ellipsis.1 jest dość unikalne — trojan zawiera listę ciągów testowych pod kątem których dokonuje przeszukiwania ruchu sieciowego. Jeśli dowolny z tych ciągów zostanie wykryty, trojan blokuje przesyłanie danych na odpowiadający temu ciągowi (adresowi IP) zdalny serwer. Lista zabronionych słów posiada również część, która zmienia się zgodnie z zawartością przychodzących pakietów. Na przykład, jeśli przychodzący pakiet zawiera ciąg “User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)”, lista jest uzupełniana wartościami “eapmygev.” i “ascuviej.”. Co więcej, trojan wykorzystuje również listę słów ignorowanych i podejrzanych.

“Paranoidalne” zachowanie Linux.Ellipsis.1 objawia się również tym, że oprócz blokowania zdalnych węzłów z listy, trojan sprawdza także połączenia sieciowe i wysyła na zdalny serwer adres IP, na który zestawione jest dane połączenie. Jeśli serwer odpowie komendą “kill”, trojan zamyka aplikację, która zestawiła to połączenie i blokuje adres IP z użyciem iptables. W katalogu domowym Linux.Ellipsis.1 tworzy plik "ip.filtered", w którym "ip" jest zastępowane ciągiem reprezentującym zablokowany adres IP. To samo sprawdzanie jest stosowane do procesów zawierających w swoich nazwach ciąg "sshd". Adresy IP z list są blokowane na stałe, podczas gdy inne adresy są blokowane tylko na 2 godziny — co każde pół godziny odrębny złośliwy proces skanuje zawartość katalogu domowego szukając plików, które były utworzone więcej niż dwie godziny temu i których nazwy zaczynają się od adresu IP. Następnie te pliki są kasowane i tworzona jest odpowiednia reguła w iptables.

Tuż po tym, jak Linux.Ellipsis.1 został wykryty, analitycy bezpieczeństwa Doctor Web wyśledzili Linux.Ellipsis.2 który, sądząc po niektórych jego funkcjonalnościach, jest stworzony przez tego samego twórcę wirusów i zaprojektowany do łamania haseł metodą brute-force. Tak jak Linux.Ellipsis.1, ten trojan czyści listę reguł iptables, usuwa aplikacje które mu “przeszkadzają”, tworzy foldery aby powstrzymać system operacyjny przed logowaniem zdarzeń i odwołuje się do serwera w celu otrzymania zadań, którego adres otrzymuje jako argument przychodzący podczas uruchomienia. Linux.Ellipsis.2 oblicza całkowitą liczbę wątków skanowania i połączeń SSH na podstawie częstotliwości taktowania procesora zainfekowanego komputera.

Zadanie pozyskane z serwera zawiera adres IP podsieci do przeskanowania przez złośliwy program pod kątem urządzeń z otwartymi połączeniami SSH na porcie 22. Jeśli takie połączenia zostaną wykryte, trojan próbuje podłączyć się do nich, korzystając z wszystkich par login:hasło ze specjalnej listy. Jeśli któraś z prób zakończy się sukcesem, trojan wysyła odpowiednią wiadomość na serwer kontrolowany przez cyberprzestępców.

Sygnatury wszystkich programów wymienionych w tym artykule zostały dodane do bazy wirusów Dr.Web. Tym samym te trojany nie stanowią już zagrożenia dla użytkowników oprogramowania Dr.Web.

Więcej na temat tego trojana

Tell us what you think

To ask Doctor Web’s site administration about a news item, enter @admin at the beginning of your comment. If your question is for the author of one of the comments, put @ before their names.


Other comments