Pull to refresh
0

Злоумышленники используют Linux/Moose для компрометации Linux-embedded систем, часть 3

Reading time 6 min
Views 9K
В прошлых частях [1], [2] анализа вредоносной программы Linux/Moose мы рассмотрели почте все ее механизмы работы. В этой части мы рассмотрим возможности удаления из системы других вредоносных программ, а также протокол работы бота с конфигурационным C&C-сервером.



Мы уже упоминали, что бот имеет в своем составе возможности по удалению из системы других вредоносных программ. Конфигурационный C&C-сервер передает ему список имен исполняемых файлов процессов. Каждый час бот проходит по списку процессов /proc/pid/ и просматривает командную строку, с которой был запущен процесс. В командной строке указано название процесса, а также переданные ему во время запуска аргументы. Проходя по этому списку процессов, Moose будет посылать сигнал kill каждому процессу из вышеупомянутого «черного списка». Этот список жестко зашит в тело вредоносной программы.

Эта функция Moose также требует присутствия специального конфигурационного флага cnccfg_flag_killprocess. В наблюдаемых нами образцах этот флаг был всегда установлен. Ниже приведен пример такого списка.



Все эти строки относятся к ПО, которое выполняет операции майнинга биткоинов, и используется другими вредоносными программами. Возможно, убийство этих процессов выполняется для освобождения ограниченных ресурсов системы, которые будут использоваться вредоносной программой для выполнения своих действий. Строка «cmd.so» может относиться к ПО Synology Disk Miner, а "/.usb2", "/.scan" и ."/ipt" к другому червю, который занимается майнингом биткоинов на ARM Linux (Linux/Svirtu). Эта вредоносная программа также использует слабые учетные данные для проникновения в систему, что делает их с Moose потенциальными конкурентами.

Протокол взаимодействия с конфигурационным C&C-сервером

Детальное описание сетевого протокола позволит пострадавшим организациям использовать эту информацию в целях проработки защиты от вредоносной программы. Операторы Linux/Moose используют перекомпиляцию исполняемых файлов Moose, а также их модификацию для того, чтобы избежать обнаружения со стороны вредоносных продуктов. С другой стороны, изменение сетевого протокола представляет из себя значительно трудоемкую задачу и требует много времени, поэтому публикация данных о функционировании протокола может отрицательно повлиять на работу злоумышленников.

Для быстрой деобфускации захваченного трафика и его анализа, мы рекомендуем использовать инструмент, который мы загрузили на наше хранилище в Github. Мы добавили команды типа tshark и код на Python для просмотра трафика.

Существуют два типа взаимодействия между ботом и конфигурационном C&C-сервером. Первое осуществляется каждый час и второе каждые четыре часа. Основное различие между ними заключается в передаче разных параметров боту. В первом случае происходит передача наборов пар логин/пароль, которые будут использоваться при выполнении bruteforce атак на роутеры для их заражения. Ниже представлен фрагмент такого взаимодействия.


Рис. Фрагмент взаимодействия бота с C&C-сервером.

Сообщение следующей структуры бот отправляет на конфигурационный C&C-сервер.



Ниже указано битовое поле «Информация о боте».



Конфигурационный C&C-сервер отвечает боту сообщением следующей структуры. Оно состоит из блоков информации с конфигурацией, причем некоторые из них необязательны. Ниже указан формат такого сообщения.



Ниже указан формат заголовка сообщения сервера.



Ниже представлены флаги «Дополнительной конфигурации».



Каждый элемент белого списка представлен в формате следующей структуры. Их количество указывается отдельным полем «Размер белого списка».



То же самое касается элементов конфигурации сниффера, для них используется специальная структура.



Ниже на скриншоте показан пример данных конфигурации передаваемых боту. Для их деобфускации использовался инструмент на Python, который мы упоминали ранее.


Рис. Пример запроса, который бот отправляет на конфигурационный C&C-сервер.


Рис. Пример ответа конфигурационного C&C-сервера.

История версий вредоносной программы

Версия 20

  • Первая обнаруженная нами версия
  • Первый ARM вариант

Версии 28-29

  • Бот использует три различных конфигурационных C&C-сервера вместо одного.
  • Улучшен код обработки подключения Telnet.
  • Улучшено обнаружение запроса учетных данных Telnet (prompt).

Версии 29-31

  • Улучшена обработка ситуаций, связанных с нехваткой памяти.
  • Добавлен новый флаг запроса конфигурационного C&C-сервера: 0x80 – TIME_PROBLEM.

Заключение

Вредоносная программа Linux/Moose является довольно новым типом вредоносного ПО, которое рассчитано на ОС Linux. Это связано, прежде всего, с тем, что большинство угроз для этой ОС ориентировано на выполнение DDoS-атак и рассылку спама. В то же время, злоумышленники реализовали в Moose самый элементарный способ компрометации роутеров, основанный на простом переборе учетных данных. Очевидно, что от деятельности этой вредоносной программы могут пострадать роутеры с низкими настройками безопасности.

Так как вредоносная программа не содержит в себе механизмов автозагрузки, простая перезагрузка устройства позволяет эффективно отключить ее вредоносную активность. Пользователю также следует сразу изменить учетные данные на роутере, что позволит исключить его заражение в будущем. Для роутеров также следует проверить настройки безопасности для исключения ситуации, при которой те или иные порты роутера будут доступны из глобальной сети.

Ниже указаны хэши SHA1 различных модификаций этой вредоносной программы.



Индикаторы компрометации (IoC)

Трафик от зараженного устройства на эти IP_адрес: порт.



Трафик с этих IP-адресов (белый список) на зараженное устройство (порт 10073).



Индикаторы в ОС:

  • присутствие бинарного файла с названием elan2;
  • запущенный процесс elan2;
  • процесс, который пытается прослушивать 0.0.0.0:10073.

Последний указанный идентификатор может быть проверен с использованием команды netstat –anp. В зависимости от конфигурации системы флаг –p может быть недоступен. В случае его отсутствия следует воспользоваться инструментом lsof или вручную скопировать содержимое из расположения /proc/net/tcp/ и /proc//fd как указано здесь.

Для идентификации файла или набора файлов вредоносной программы можно использовать популярный инструмент yara. Для этого нужно воспользоваться правилом linux-moose.yar, которое доступно на нашем репозитории в Github. С помощью него можно идентифицировать файлы вредоносной программы, рекурсивно проходя по директориям с файлами.



В случае отсутствия вывода после выполнения этой команды, это говорит о том, что ни один вредоносный файл Moose не был найден. В противном случае, будут распечатаны имена файлов вредоносной программы. Если авторы изменят код бота для сброса обнаружения со стороны антивирусных продуктов, данное правило, вероятно, уже не сможет идентифицировать новые варианты Moose.

Устройства для компрометации

По этой ссылке можно найти список учетных данных (логин/пароль), которые Moose использует для своего распространения на тех устройствах, производители которых используют такие учетные данные по умолчанию. В том же списке указаны производители, устройства которых разрешают подключение по Telnet. Вот список таких производителей.

Network equipment vendors

3Com, Alcatel-Lucent, Allied Telesis, Avaya, Belkin, Brocade, Buffalo, Celerity, Cisco, D-link, Enterasys, Hewlett-Packard, Huawei, Linksys, Mikrotik, Netgear, Meridian, Nortel, SpeedStream, Thomson, TP-Link, Zhone, ZyXEL.

Appliances vendors

APC, Brother, Konica/Minolta, Kyocera, Microplex, Ricoh, Toshiba, Xerox

Internet of Things vendors

Hik Vision, Leviton

Следует учесть и тот факт, что это список тех вендоров, на которые потенциально нацелен Moose. Текущие версии вредоносной программы нуждаются в доступе к командной строке shell, причем Moose должен успешно выполнить вход (logged in). На некоторых устройствах такой вид доступа защищен другой парой учетных данных или секретным паролем. Такие устройства Moose не в состоянии скомпрометировать.

Если вы работаете с устройством одного из этих вендоров и можете ответить на эти вопросы, то сообщите нам об этом.
  • Является ли сервис Telnet разрешенным по умолчанию?
  • Можете ли вы подключиться к Telnet устройства с учетными данными по умолчанию?
  • Какова модель вашего устройства?
  • Что произойдет, если вы выполните команду sh в Telnet?

В случае, когда учетные данные могут быть использованы для входа в Telnet или Telnet разрешен по умолчанию и доступ к командной строке может быть получен путем выполнения команды sh, устройство потенциально может быть скомпрометировано вредоносной программой.

Производители, которые указаны ниже, по умолчанию используют учетные данные из этого списка.

Ericsson, F5 Networks, Fortinet, Siemens, LSI Corporation, Maxim Integrated, Accelerated Network, Quantum, Advantek, Airtel, AirTies, Radware, Ubee Interactive, AOC, Applied Innovations, Arescom, ARtem, Asante, Ascend, ATL, Atlantis, AVM, Avocent, Axis, Aztech, Bay Networks, Bintec, BMC, Broadlogic, Canyon, Cellit, Ciphertrust, CNet, Compaq, Comtrend, Conceptronic, Conexant, Corecess, CTC Union, Cyclades, Davox, Demarc, Digicom, Draytek, Dynalink, E-Con, Efficient, Everfocus, Flowpoint, Gericom, IBM, iDirect, Inchon, Infacta, Infoblox, INOVA, Interbase, Intermec, Intracom, JD Edwards, Kasda, KTI, Lantronix, Laxo, LG, Livingston, Marconi, McAfee, McData, Mentec, Micronet, Milan, Motorola, Mro software, Netopia, Netport, Netscreen, Netstar, Niksun, Nokia, NOMADIX, Olitec(trendchip), OpenConnect, Osicom, Overland, Ovislink, Pansonic, Phoenix, Pirelli, Planet, Ptcl, QLogic, Quintum Technologies, RM, RoamAbout, Sagem, Samsung, Server TechnologyPower, Sharp, Signamax, Siips, Silex Technology, Simple Smdr, Sitecom, Smartswitch, SMC, Sonic-X, Spectra Logic, SpeedXess, Sphairon, SSA, Stratacom, Swissvoice, Symbol, System/32, Tandem, Telewell, Telindus, Tellabs, Topsec, Troy, TVT System, U.S. Robotics, Unisys, VASCO, VxWorks, Wang, Weidmüeller, Westell, X-Micro, xd, Xylan, Xyplex, Zebra, ZTE.
Tags:
Hubs:
+9
Comments 1
Comments Comments 1

Articles

Information

Website
www.esetnod32.ru
Registered
Founded
Employees
1,001–5,000 employees
Location
Словакия