Индустриальные угрозы

Атаки на промышленные предприятия с использованием RMS и TeamViewer

Основные факты

Kaspersky Lab ICS CERT зафиксировал очередную волну рассылок фишинговых писем c вредоносными вложениями, нацеленных преимущественно на компании и организации, деятельность которых так или иначе связана с промышленным производством.

Фишинговые письма замаскированы под легитимные коммерческие предложения и рассылаются преимущественно промышленным компаниям на территории РФ. Содержание писем соответствует деятельности атакуемой организации и учитывает специфику работы сотрудника – получателя письма.

Согласно собранным данным, эта серия атак началась в ноябре 2017 года и продолжается по настоящее время, при этом первые подобные атаки были зафиксированы ещё в 2015 году.

Вредоносная программа, используемая в данных атаках, устанавливает в систему легитимное ПО для удаленного администрирования – TeamViewer или Remote Manipulator System/Remote Utilities (RMS). Это позволяет злоумышленникам получать удаленный контроль над зараженными системами. Используются различные техники, позволяющие скрыть заражение системы и активность установленного ПО.

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

В тех случаях, когда преступникам после заражения системы требуются дополнительные данные или возможности – например, повышение привилегий и получение прав локального администратора, кража аутентификационных данных пользователя к финансовому ПО и сервисам, а также аккаунты учетных записей Windows для продвижения внутри сети предприятия, – злоумышленники загружают на систему дополнительный набор вредоносное ПО, сформированный индивидуально с учетом особенности атаки на каждую жертву. Такой набор может содержать шпионские программы (Spyware), дополнительные утилиты удаленного администрирования, расширяющие контроль злоумышленников на зараженных системах, вредоносное ПО для эксплуатации уязвимостей в ОС и прикладном ПО, а также утилиту Mimikatz, позволяющую получить данные аккаунтов учетных записей Windows.

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

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

Фишинговые письма

Содержание фишинговых писем чаще всего имеет финансовый характер; имена вложений также указывают на их принадлежность к финансовой сфере. В частности, рассылаются предложения по участию в тендерах крупных промышленных компаний (см. ниже).

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

Ниже приведён пример фишингового письма, использованного в атаках на некоторые организации:

Скриншот фишингового письма

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

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

В ходе проведения атак злоумышленники используют различные техники, позволяющие скрыть факт заражения системы. В данном случае, помимо компонентов вредоносной программы и приложения для удаленного управления, на зараженную систему устанавливается легитимное ПО Seldon 1.7, предназначенное для поиска тендеров.

Чтобы у пользователя не возник вопрос, почему он не получил информации по закупке, заявленной в письме, версия ПО Seldon 1.7, распространяемая вредоносной программой, повреждена.

Окно легитимного ПО Seldon 1.7

В других случаях пользователю показывается частично поврежденное изображение.

Изображение, открываемое вредоносной программой

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

Скриншот платежного поручения, отображаемого вредоносной программой

Вредоносная программа, используемая в данных атаках, устанавливает в систему легитимное ПО для удаленного администрирования – TeamViewer или Remote Manipulator System/Remote Utilities (RMS).

Атаки с использованием RMS

Известно несколько вариантов установки вредоносной программы в систему. Запуск файлов вредоносного ПО может производиться как непосредственно исполняемым файлом, прикрепленным к письму, так и специально подготовленным скриптом командного интерпретатора Windows.

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

Содержимое файла установки вредоносного ПО

Как можно видеть по командам на скриншоте, после копирования файлов скрипт удаляет свой файл, а также запускает в системе легитимное ПО Seldon v.1.7 и RMS, позволяя злоумышленникам скрыто управлять зараженной системой.

В зависимости от версии вредоносной программы, установка файлов производится в директорию %AppData%\LocalDataNT или %AppData%\NTLocalAppData.

В момент запуска легитимное ПО RMS загружает динамические библиотеки (DLL), необходимые для работы программы, в том числе – системный файл winspool.drv, расположенный в системной директории и используемый для отправки документов на печать. RMS производит загрузку данной библиотеки небезопасно – по относительному пути (вендор был проинформирован об уязвимости). Это позволяет злоумышленникам произвести атаку DLL hijacking: они размещают вредоносную библиотеку в той же директории, в которой находится исполняемый файл RMS, в результате вместо системной библиотеки загружается и получает управление компонент вредоносной программы.

Вредоносная библиотека завершает установку вредоносного ПО – в частности, создает ключ реестра, отвечающий за автоматический запуск RMS после загрузки системы. Примечательно, что в данном случае ключ реестра размещается в каталоге RunOnce и позволяет автоматически запустить вредоносное ПО лишь при следующем запуске системы, после чего вредоносной программе будет необходимо заново создать данный ключ реестра.

Наиболее вероятно, что такой подход выбран злоумышленниками в целях лучшего сокрытия вредоносного ПО в системе. Кроме этого во вредоносной библиотеке использованы методы противодействия анализу и детектированию. Один из таких методов – динамический импорт функций Windows API по хешам – позволяет злоумышленникам не хранить в теле вредоносной библиотеки имена этих функций и скрывать таким образом истинную функциональность программы от большинства средств анализа.

Часть фрагмента кода вредоносной программы, выполняющего динамический импорт функций

Код вредоносной динамической библиотеки winspool.drv расшифровывает подготовленные злоумышленниками конфигурационный файлы, в которых содержатся настройки ПО RMS, пароль для удаленного управления машиной и настройки, необходимые для извещения злоумышленников об успешном заражении системы.

Один из конфигурационных файлов содержит email адрес, на который отправляется информация о зараженной системе – имя компьютера, имя пользователя, Internet ID RMS машины и т.д. Передаваемый Internet ID генерируется на легитимном сервере производителя RMS после подключения к нему компьютера. Впоследствии данный идентификатор используется для связи с удалённо управляемой системой, находящейся за NAT (подобный механизм используется также в популярных мессенджерах).

Список email адресов, которые содержались в обнаруженных конфигурационных файлах, приведен в разделе «Индикаторы компрометации».

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

Содержимое расшифрованной версии файла InternetId.rcfg

Содержимое расшифрованной версии файла notification.rcfg

Содержимое расшифрованной версии файла Options.rcfg

Содержимое расшифрованной версии файла Password.rcfg

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

Атаки с применением ПО TeamViewer

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

Для внедрения вредоносного кода в процесс TeamViewer, как и в случае с RMS, производится подмена системной DLL на вредоносную с именем msimg32.dll.

Такая тактика не является уникальной. Легитимное ПО TeamViewer использовалось и ранее в APT- и киберкриминальных атаках. Наиболее известная группировка, которая пользуется этим инструментарием, – TeamSpy Crew. Мы считаем, что описанные в данном документе атаки не имеют отношения к TeamSpy, а являются результатом повторного использования известного вредоносного ПО другой киберкриминальной группой. Примечательно, что алгоритм шифрования конфигурационного файла и пароль для его расшифровки, выявленные при анализе исследованной атаки, совпадают с опубликованными в июле прошлого года в описании аналогичных атак.

Как известно, легитимное ПО TeamViewer не скрывает от пользователя факт своего запуска и работы и, в том числе, извещает пользователя о входящих подключениях. Злоумышленникам же требуется обеспечить скрытое удаленное управление зараженной системой, для этого они выполняют перехват ряда функций Windows API.

Перехват осуществляется при помощи хорошо известного метода, называемого splicing. В результате, когда легитимное ПО производит вызов одной из функций Windows API, управление попадает к вредоносной DLL, а легитимное ПО получает не ответ от операционной системы, а результат «подмены».

Перехват функции Windows API вредоносной программой

Установка перехватов функций Windows API позволяет злоумышленникам скрывать окна ПО TeamViewer, защищать файлы вредоносной программы от обнаружения, а также контролировать параметры запуска TeamViewer.

После запуска вредоносная библиотека проверяет доступность соединения с интернетом при помощи выполнения команды «ping 1.1.1.1», после чего расшифровывает конфигурационный файл вредоносной программы tvr.cfg. Файл содержит различные параметры, такие как пароль для удаленного управления системой, URL адрес командного сервера злоумышленников, параметры сервиса, под именем которого устанавливается TeamViewer, поле User-Agent HTTP-заголовка при запросах к командному серверу, параметры использования VPN TeamViewer и т.д.

Скриншот расшифрованного содержимого конфигурационного файла вредоносной программы

В отличие от RMS, для удалённого управления находящимся за NAT компьютером в TeamViewer используется встроенный в программу TeamViewer VPN.

Для обеспечения автоматического запуска вредоносной программы после запуска системы, как и в случае с RMS, в ветке RunOnce создается соответствующий ключ реестра.

Вредоносная программа собирает и отправляет на сервер управления вместе с идентификатором системы, необходимым для удаленного управления, следующие данные:

  • Версия операционной системы
  • Имя пользователя
  • Имя компьютера
  • Информация о правах пользователя, от имени которого запущено вредоносное ПО
  • Наличие в системе микрофона и веб камеры
  • Наличие в системе антивирусного ПО и других средств защиты, а также уровень UAC

Получение информации о защитном ПО, установленном в системе, производится при помощи выполнения следующего WQL-запроса:

root\SecurityCenter:SELECT * FROM AntiVirusProduct

Передача собранной информации на сервер злоумышленников производится при помощи POST-запроса:

POST-запрос с передаваемыми зашифрованными данными на сервер управления

Ещё одной отличительной особенностью атак с применением TeamViewer является возможность передавать на зараженную систему команды, которые будут исполнены вредоносной программой. Передача команд с сервера управления производится через встроенный чат приложения TeamViewer, окно которого также скрывается вредоносной библиотекой, а файлы журналов удаляются.

Переданная команда запускается в командном интерпретаторе Windows при помощи следующей инструкции:

cmd.exe /c start /b <переданная команда>

Параметр «/b» указывает на то, что исполняемая команда, переданная злоумышленниками, будет выполнена без создания нового окна.

Также вредоносная программа имеет механизм удаления себя из системы при получении соответствующей команды с сервера злоумышленников.

Использование дополнительного вредоносного ПО

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

Среди дополнительного ПО, которое размещалось на серверах злоумышленников, были найдены представители следующих семейств:

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

  • Снятие нажатий клавиш
  • Снятие скриншотов
  • Сбор системной информации, информации об установленных программах и запущенных процессах
  • Загрузка дополнительных вредоносных файлов
  • Использование компьютера в качестве прокси сервера
  • Кража паролей от популярных программ и браузеров
  • Кража криптокошельков
  • Кража переписки Skype
  • Проведение DDoS-атак
  • Перехват и подмена пользовательского трафика
  • Отправка на сервер управления любых пользовательских файлов

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

Например, если ранее вредоносное ПО было запущено от имени пользователя, не имеющего прав локального администратора, то для обхода Windows User Account Control (UAC) злоумышленники использовали уже упомянутую технику DLL hijacking только применительно к одному из системных файлов Windows %systemdir%\migwiz\migwiz.exe и библиотеке cryptbase.dll. Полученные права локального администратора используются для запуска в зараженной системе утилиты удаленного администрирования — RemoteUtilities, исполняемый файл которой был изменен злоумышленниками в целях сокрытия факта присутствия данного ПО в системе. Данная утилита предоставляет широкий функционал для удаленного управления системой:

  • Удаленное управление системой (RDP)
  • Передача файлов на зараженную систему и из нее
  • Управление электропитанием зараженной системы
  • Удаленное управление процессами запущенных приложений
  • Удаленная командная строка (remote shell)
  • Управление оборудованием
  • Запись скриншотов и видео содержимого экрана
  • Запись звука и видео с подключенных к зараженной системе записывающих устройств
  • Удаленное управление системным реестром

Также в некоторых случаях помимо cryptbase.dll и RemoteUtilities в систему устанавливалась утилита Mimikatz. По нашему мнению, эта утилита используется злоумышленниками, если им не удается сразу же заразить нужную им систему (имеющую ПО для работы с финансовыми данными). Чтобы найти нужную систему, злоумышленники с помощью утилиты Mimikatz крадут аутентификационные данные сотрудников организации и получают удаленный доступ к другим машинам в сети предприятия. Использование данной техники представляет серьёзную опасность: если злоумышленникам удастся получить данные учетной записи доменного администратора, под их контролем окажутся все системы в сети предприятия.

Мишени атак

По данным KSN с октября 2017 года по июнь 2018 года около 800 компьютеров сотрудников промышленных компаний были атакованы с использованием вредоносного ПО, описанного в данной статье.

Количество атакованных компьютеров по месяцам. Октябрь 2017 – июнь 2018

По нашей оценке, мишенями данной атаки стали не менее 400 промышленных компаний в России, относящихся к следующим индустриям:

  • Производство
  • Нефть и газ
  • Металлургия
  • Инжиниринг
  • Энергетика
  • Строительство
  • Добыча полезных ископаемых
  • Логистика

Исходя из этого, можно сделать вывод, что злоумышленники не ставят целью атаковать компании какой-то конкретной индустрии или сектора экономики. Тем не менее в их действиях прослеживается четкое стремление скомпрометировать системы именно промышленных компаний. Такой выбор киберпреступников может объясняться тем, что осведомленность персонала об угрозах, а также культура кибербезопасности в промышленных компаниях ниже, чем в компаниях других сфер экономики (например, в банках или IT-компаниях). Вместе с тем, как мы уже отмечали ранее, промышленные компании чаще других совершают операций по счетам на крупные суммы – что делает их еще более привлекательной целью для злоумышленников.

Заключение

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

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

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

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

Различные компоненты вредоносного ПО, используемого в данной атаке, детектируются продуктами «Лаборатории Касперского» со следующими вердиктами:

  • Trojan.BAT.Starter
  • Trojan.Win32.Dllhijack
  • Trojan.Win32.Waldek
  • Backdoor.Win32.RA-based
  • Backdoor.Win32.Agent

 Индикаторы заражения (PDF)

Атаки на промышленные предприятия с использованием RMS и TeamViewer

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

Отчеты

StripedFly: двуликий и незаметный

Разбираем фреймворк StripedFly для целевых атак, использовавший собственную версию эксплойта EternalBlue и успешно прикрывавшийся майнером.

Азиатские APT-группировки: тактики, техники и процедуры

Делимся с сообществом подходами, которые используют азиатские APT-группировки при взломе инфраструктуры, и подробной информацией о тактиках, техниках и процедурах (TTPs) злоумышленников, основанной на методологии MITRE ATT&CK.

Как поймать «Триангуляцию»

Эксперты «Лаборатории Касперского» смогли получить все этапы «Операции Триангуляция»: эксплойты нулевого дня для iOS, валидаторы, имплант TriangleDB и дополнительные модули.

Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике