Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2

в 9:53, , рубрики: linux, Malware, remaiten, антивирусная защита, Блог компании ESET NOD32, метки:

В первой части нашего ресерча мы рассмотрели несколько особенностей вредоносной программы Linux/Remaiten, а именно, внутреннее устройство загрузчика бота, его взаимодействие с управляющим C&C-сервером, обрабатываемые ботом команды, а также сканер telnet для поиска других потенциальных жертв. Мы также отметили присутствие компонентов вредоносной программы для микропроцессоров архитектур MIPS и ARM. Кроме этого, мы удивились, обнаружив намек на присутствие ботов для таких платформ Power PC и SuperH.

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 1

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

Заражение других устройств

Первым шагом в этом процессе является поиск записываемой (writable) директории. Бот содержит список популярных путей к таким директориям, их список указан ниже на скриншоте.

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 2
Рис. 19. Список директорий на устройстве жертвы, куда может быть скопирован загрузчик.

После этого бот, по непонятным причинам, создает исполняемые файлы под названием «.t», «retrieve» и «binary». Файл «retrieve» будет содержать сам загрузчик, а «binary» запрашивается ботом с управляющего C&C-сервера. Файл «.t» вредоносной программой не используется.

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 3
Рис. 20. Десятый кейс специализируется на подготовке переноса полезной нагрузки на устройство и его исполнении.

Вредоносная программа использует странный способ создания пустых исполняемых файлов: она копирует стандартный исполняемый файл под названием busybox, который присутствует в большинстве embedded-устройств, а затем удаляет из него все содержимое командой «>file». Загрузчик передается на устройство через telnet простой echo-командой, при этом каждый байт исполняемого файла кодируется с использованием escape-последовательности «xHH». Мы наблюдали схожую технику распространения в другой вредоносной программе под названием Linux/Moose.

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 4
Рис. 21. Код из 11-го кейса, который специализируется на передаче полезной нагрузки с использованием команды echo.

Исполнение загрузчика и IRC-бота

После того как загрузчик был скопирован на устройство жертвы, он пытается загрузить на него полезную нагрузку вредоносной программы. Загрузчик запрашивает исполняемый файл бота с управляющего C&C-сервера и записывает его в поток stdout. В начале своего запуска, загрузчик перенаправляет поток stdout в файл с названием «binary». Наконец, файл «binary» запускается на исполнение и IRC-бот становится активным.

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 5
Рис. 22. Код из 13-го кейса, который специализируется на запуске на исполнение загрузчика и бота.

Отправка статуса на управляющий C&C-сервер

Последним этапом для бота является информирование C&C-сервера об успешности заражения другого устройства. В обоих случаях, т. е. как в случае успешного заражения, так и нет, бот также отправляет на сервер пару логин/пароль, которая использовалась для доступа к аккаунту telnet. Возможно, операторы попытаются заразить устройство вручную, если с этим не справится используемый автоматический метод вредоносной программы.

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 6
Рис. 23. Код 14-го кейса, который специализируется на информировании C&C-сервера о статусе заражения другого устройства.

Завершение работы других ботов

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

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 7
Рис. 24. Список названий процессов для завершения.

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 8
Рис. 25. Список процессов, которые бот игнорирует.

Вредоносная программа Linux/Remaiten специализируется на завершении только тех процессов, которые были запущены от интерактивной оболочки (shell) /dev/tty. Она также отправляет на C&C-сервер название завершенного процесса. Возможно, такая операция осуществляется для улучшения белого и черного списка процессов вредоносной программы.

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 9
Рис. 26. Бот отправляет сообщение на сервер, а потом убивает сам процесс API-функцией kill.

Эволюция бота

Между различными версиями бота присутствуют несущественные изменения, например, различается состав белых и черных списков процессов для завершения, отличаются директории, используемые загрузчиком для копирования туда тела бота и др. Логично предположить, что эти и другие аналогичные изменения в каждом новом билде вредоносной программы, присутствуют в одной и той же версии вредоносной программы. Загрузчик не подвергается изменению, за исключением изменения списка жестко зашитых IP-адресов и номеров портов.

Однако, в версии 2.2 вредоносной программы авторы внесли существенное изменение. Оно заключается в использовании команд wget/tftp для загрузки скрипта shell, который, в свою очередь, специализируется на загрузке бота. Схожая схема используется вредоносной программой Gafgyt. В том случае, когда эти две команды не выполняют свою работу корректно, он загружает на устройство сам загрузчик.

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 10
Рис. 27. Вредоносная программа информирует свой C&C-сервер о развертывании бота с использованием инструментов wget/tftp.

Скрипт командной строки распространяется через другой сервер, который также используется для вредоносной программы Gafgyt.

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 11
Рис. 28. Командный shell-скрипт, который распространяется через другой сервер.

Командный файл al.sh указывает на присутствие у злоумышленников ботов для микропроцессоров архитектур PowerPC и SuperH. До вредоносной программы Remaiten мы не наблюдали использование злоумышленниками ботов для таких архитектур.

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 12
Рис. 29. Поддерживаемые злоумышленниками архитектуры.

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 13
Рис. 30. Начало файла скрипта.

Управляющий C&C-сервер, который используется в версии 2.0 вредоносной программы, использует странное welcome-сообщение. Оно содержит ссылку на известный блог исследователей вредоносных программ под названием MalwareMustDie.

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 14
Рис. 31. Welcome-сообщение версии бота 2.0 содержит отсылку к блогу MalwareMustDie.

Мы предполагаем, что это попытка скомпрометировать команду MalwareMustDie в глазах пользователей, т. к. они размещали достаточное количество материала, который изобличает деятельность Gafgyt и Tsunami.

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

Версия бота 2.0

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 15

Версия бота 2.1

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 16

Версия бота 2.2

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 17

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 18

Версия загрузчика 2.0

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 19

Версия загрузчика 2.1

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 20

Версия загрузчика 2.2

Злоумышленники используют бот Linux-Remaiten для компрометации embedded-устройств, часть 2 - 21

C&C версии 2.0

Бот: 185.130.104.131:443
Загрузчик: 185.130.104.131:25566

C&C версии 2.1

Бот: 185.130.5.201:53
Загрузчик: 185.130.5.201:25566

C&C версии 2.2

Бот:185.130.5.202:23
Загрузчик: 185.130.5.202:443

Автор: ESET NOD32

Источник

Поделиться новостью

* - обязательные к заполнению поля