Компания «Доктор Веб» обнаружила нового представителя троянцев для операционных систем семейства Linux. Linux.Ellipsis.1 отличается параноидальным поведением на зараженном компьютере.
Вирус был разработан злоумышленниками для создания на атакованной машине прокси-сервера, однако этот образец отличается от других вредоносных программ для ОС Linux своеобразным поведением. На сегодняшний день известно, что киберпреступники используют прокси-сервер в целях обеспечения собственной анонимности для доступа к устройствам, взломанным при помощи другой вредоносной программы — Linux.Ellipsis.2. В целом применяемая киберпреступниками схема атаки выглядит так: при помощи троянца Linux.Ellipsis.2 они получают несанкционированный доступ по протоколу SSH к какому-либо сетевому устройству или компьютеру, а затем используют этот доступ в различных противоправных целях, сохраняя анонимность посредством Linux.Ellipsis.1.
После запуска на инфицированном ПК Linux.Ellipsis.1 удаляет свой рабочий каталог и очищает список правил для iptables, а затем пытается завершить ряд работающих приложений, в первую очередь программы для ведения и просмотра логов, а также анализа трафика. После этого троянец удаляет существующие директории и файлы системных журналов и создает на их месте папки с соответствующими именами. Тем самым блокируется возможность создания логов с такими именами в будущем.
На следующем этапе троянец Linux.Ellipsis.1 модифицирует конфигурационный файл «/etc/coyote/coyote.conf» таким образом, чтобы он содержал строку: alias passwd=catn. Затем он удаляет ряд системных утилит из каталогов /bin/, /sbin/, /usr/bin/, добавляет атрибут «неизменяемый» (immutable) к некоторым необходимым для его дальнейшей работы файлам и блокирует IP-адреса подсетей, указанные в переданной троянцу команде или перечисленные в его конфигурационном файле. При этом под «блокировкой» понимается предотвращение приема или передачи пакетов информации с/на определенный IP-адрес по заданному порту или протоколу с помощью создания соответствующих правил iptables.
Как уже упоминалось, основное предназначение Linux.Ellipsis.1 заключается в организации на инфицированном компьютере прокси-сервера. Для этой цели троянец контролирует соединения по заданному локальному адресу и порту, проксируя весь транслируемый через этот адрес и порт трафик.
Троянец имеет обширный список характерных строк, обнаруживая которые в сетевом трафике он блокирует обмен данными с соответствующим удаленным сервером по IP-адресу. Список запрещенных слов также имеет вариативную часть, которая зависит от содержимого входного пакета. Кроме того, в своей работе Linux.Ellipsis.1 использует список подозрительных и игнорируемых слов.
«Параноидальность» поведения Linux.Ellipsis.1 заключается еще и в том, что помимо блокировки удаленных узлов по адресам из заложенного в него списка троянец проверяет все сетевые подключения компьютера и отсылает на управляющий сервер IP-адрес узла, с которым установлено соединение. Если сервер отвечает командой «kill», троянец прекращает работу приложения, которое установило соединение, а заодно блокирует этот IP-адрес с помощью iptables. В своем домашнем каталоге Linux.Ellipsis.1 создает файл с именем «ip.filtered», где вместо «ip» подставляется строчное представление заблокированного IP-адреса. Аналогичная проверка производится для процессов, имеющих в имени строку «sshd». IP-адреса из списков блокируются навсегда, в то время как все остальные — на 2 часа: отдельный процесс троянца раз в полчаса проверяет содержимое собственного домашнего каталога и ищет там файлы, созданные более двух часов назад, имя которых начинается с IP-адреса, после чего удаляет их и соответствующее правило в таблице iptables.
Вскоре после обнаружения описанной выше вредоносной программы специалисты компании «Доктор Веб» выявили троянца Linux.Ellipsis.2, являющегося, судя по ряду характерных признаков, творением того же автора и предназначенного для подбора паролей методом грубой силы (брутфорс). Аналогично Linux.Ellipsis.1, этот троянец в процессе своей работы очищает список правил для iptables и удаляет «мешающие» ему приложения, создает папки, предотвращающие возможность ведения операционной системой файлов журналов, и обращается за получением задания к управляющему серверу, адрес которого он принимает в качестве входного аргумента при запуске. Количество потоков сканирования и ssh-подключений Linux.Ellipsis.2 автоматически вычисляет на основе данных о частоте процессора зараженной машины.
Получаемое троянцем с управляющего сервера задание содержит IP-адрес подсети, которую вредоносная программа сканирует на наличие устройств с открытым SSH-подключением на порту 22. При обнаружении таких устройств троянец пытается получить к ним доступ, перебирая пары логин-пароль по имеющемуся у него словарю, а в случае успеха отправляет сообщение об этом на сервер злоумышленников.