Этой осенью Group-IB зафиксировала массовую вредоносную рассылку по финансовым учреждениям и предприятиям. Злоумышленники отправили более 11 000 писем с фейковых почтовых адресов российских госучреждений — все они содержали троян RTM, предназначенный для кражи денег из сервисов дистанционного банковского обслуживания (ДБО) и платежных систем. В среднем, одно успешное хищение такого типа приносит злоумышленникам около 1,1 млн рублей.
Текст: Семен Рогачев, младший специалист по анализу вредоносного кода Group-IB
Начиная с 11 сентября система Group-IB Threat Intelligence (киберразведка) фиксировала массовые рассылки по российским банкам, промышленным и транспортным компаниям: 3210 писем было отправлено в сентябре, 2311 — в октябре, в 4768 — в ноябре и 784 — в декабре. Рассылки шли «волнами», пик пришелся на 24 и 27 сентября — 729 и 620 писем соответственно. В общей сложности с сентября до начала декабря хакеры отправили 11 073 писем с 2 900 различных электронных адресов, подделанных под госучреждения. Обнаружено около 900 различных доменов, связанных с адресами отправителей.
В рассылке, среди адресов отправителей, фигурируют следующие доменные имена, связанные с государственными и муниципальными организациями:
- 14.rospotrebnadzor.ru — Управление Федеральной службы по надзору в сфере защиты прав потребителей и благополучия человека по республике Саха
- 22.rospotrebnadzor.ru — Управление Федеральной службы по надзору в сфере защиты прав потребителей и благополучия человека по Алтайскому краю
- 33.rospotrebnadzor.ru — Управление Федеральной службы по надзору в сфере защиты прав потребителей и благополучия человека по Владимирской области
- 37.rospotrebnadzor.ru — Управление Федеральной службы по надзору в сфере защиты прав потребителей и благополучия человека по Ивановской области
- 38.rospotrebnadzor.ru — Управление Федеральной службы по надзору в сфере защиты прав потребителей и благополучия человека по Иркутской области
- 39.rospotrebnadzor.ru — Управление Федеральной службы по надзору в сфере защиты прав потребителей и благополучия человека по Калининградской области
- 42.rospotrebnadzor.ru — Управление Федеральной службы по надзору в сфере защиты прав потребителей и благополучия человека по Кемеровской области
- 47.rospotrebnadzor.ru — Управление Федеральной службы по надзору в сфере защиты прав потребителей и благополучия человека по Ленинградской области
- 89.fsin.su — УФСИН России по Ямало-Ненецкому автономному округу
- engels-edu.ru — Комитет по образованию администрации Энгельского муниципального района
- enis.gosnadzor.ru — Федеральная служба по экологическому, технологическому и атомному надзору РОСТЕХНАДЗОР Енисейское управление
- fbuz29.rospotrebnadzor.ru — Центр гигиены и эпидемиологии в Архангельской области
- fcao.ru — Федеральный центр анализа и оценки техногенного воздействия
- fguz-volgograd.ru — центр гигиены и эпидемиологии в волгоградской области
- gov39.local — Правительство Калининградской области
- mcx-samara.ru — РОССЕЛЬХОЗНАДЗОР Управление по Самарской области
- minsoc-buryatia.ru — Министерство социальной защиты населения Республики Бурятия
- minsoc26.ru — Министерство труда и социальной защиты населения Ставропольского края
- minzdravsakhalin.ru — Министерство здравоохранения Сахалинской области
- mosoblsud.ru — Московский областной суд
- prokuratura.omsk.ru — Прокуратура Омской области
- rcro.tomsk.ru — Региональный центр развития образования г.Томск (Областное государственное бюджетное учреждение)
- rostrud.ru — Федеральная служба по труду и занятости РОСТРУД.
- rpn.gov.ru — Росприроднадзор — Федеральная служба по надзору в сфере природопользования.
- zdrav.spb.ru — Официальный сайт Комитета по здравоохранению Санкт-Петербурга.
- zsib.gosnadzor.ru — Федеральная служба по экологическому, технологическому и атомному надзору РОСТЕХНАДЗОР.
В некоторых письмах фигурируют заголовки «Domain Key Identifier Mail» («DKIM»). «DKIM» представляет собой метод аутентификации сообщений электронной почты, защищающий от подделки адресов отправителей и позволяющий подтвердить факт отправления письма с заявленного домена. Например:
Результат проверки «DKIM»:
Как работала схема
Письма из рассылки маскируют под важные документы (например, в качестве темы письма указывается «Отправка на четверг», «Служебная записка», «Оплата август-сентябрь», «Копии документов» и др.). Текст письма соответствует теме, например:
Или:
Характерной особенностью является несоответствие между адресом отправителя и обратным адресом письма. Обратный адрес письма зарегистрирован на общедоступных доменах.
Например:
Или
К каждому письму прилагается вложение, представляющее собой архив, содержащий исполняемый файл. Распакованные файлы имеют иконки «PDF» — файлов, что дополнительно вводит пользователя в заблуждение. После запуска распакованного файла происходит заражение компьютера.
Троян RTM появился в конце 2015 — начале 2016 года. Он нацелен на работу с ДБО и платежными системами. RTM является модульным, его модули подменяют реквизиты, считывают нажатия клавиатуры, подменяют DNS-сервера и сертификаты безопасности, осуществляют снимки экрана и т.п.
Процесс заражения
- После запуска, RTM производит распаковку «DLL»-библиотеки и сохраняет её в папку «%TEMP%», после чего загружает её в адресное пространство текущего процесса.
- После распаковки копирует распакованное содержимое «.tmp» файла в «%ProgramData%\случайная_папка\случайное_имя».
- Создаёт задание с названием «Windows Update» на запуск файла, скопированного в предыдущем шаге через «rundll32.exe».
- Если создание задания не завершилось успехом, в раздел реестра «HKCU\Software\Microsoft\Windows\CurrentVersion\Run\» добавляет ключ «Windows Update» со значением «rundll32.exe %ProgramData%\случайная_папка\случайное_имя DllGetClassObject host». Это позволяет файлу из директории «%ProgramData%» запускаться при каждом входе в пользователя в систему.
Описание и функциональные возможности
- Строки в «RTM» зашифрованы модифицированным алгоритмом «RC4» и расшифровываются перед использованием.
- После запуска, проверяет наличие на диске «С» файлов и директорий «cuckoo», «fake_drive», «strawberry», «tsl», «targets.xls», «perl», «wget.exe», «*python*», «myapp.exe», «self.exe», «vboxservice.exe», «python.exe». В случае нахождения, завершает работу.
- Проверяет наличие антивируса «ESET». Если он установлен – заполняет его лицензионный файл нулями, после чего удаляет его.
- Начинает отслеживать нажатия клавиш на клавиатуре. Если активное окно создано браузером «Mozilla Firefox» или «Internet Explorer», к данным, полученным с клавиатуры, добавляется «URL» страницы.
- Отслеживает и сохраняет данные, попадающие в буфер обмена. К ним добавляется имя окна, из которого была скопирована информация, и время.
- Отслеживает нажатие левой клавиши мыши на элементы, имя класса которых совпадает с «tpanel» и «obj_button». При нажатии на эти элементы, создаёт снимок экрана и отправляет его на удалённый сервер.
- Проверяет адреса открытых вкладок браузеров «Internet Explorer» и «Mozilla Firefox», чтобы собрать информацию о взаимодействии с банками, получая текущий «URL» вкладки и сравнивая его со значениями из Таблицы 1. В случае совпадения, на «C&C» сервер отсылается соответствующая информация.
- Просматривает историю посещений браузеров «Internet Explorer», «Mozilla Firefox» и «Google Chrome» и искать в ней информацию о посещении сайтов банков. В случае совпадения полученных данных с данными из Таблицы 1, отправляет на «C&C» сервер соответствующее сообщение.
- Проверяет имена классов запущенных окон на предмет совпадений со значениями из Таблицы 3. В случае совпадения – сохраняет идентификаторы, которые в дальнейшем будут отправлены на «C&C» как данные о взаимодействии с определённым банком.
- Далее «RTM» пытается установить соединение с «C&C» сервером (были обнаружены следующие адреса: 188.165.200.156, 185.190.82.182, 5.135.183.146, 151.80.147.153, 109.69.8.34). Для получения IP-адреса «C&C» сервера происходит обращение к сайту «namecha.in».
- Создаёт поток, проверяющий наличие подключённых смарт-карт.
Дальнейшие действия зависят от команд, получаемых от «C&C» сервера.
Получаемые команды зашифрованы модифицированным алгоритмом «RC4». В каждом сообщении, получаемом от «C&C» сервера, первые 4 байта являются XOR-ключом. Перед расшифрованием полученных данных, каждые 4 байта «S-блока» складываются с этим ключом по модулю два. Сам «RC4» ключ хранится в программе.
Байты с 4 по 8 представляют собой «CRC32»-код всего остального сообщения. После расшифрования. Программа проверяет корректность сообщения путём сравнения полученного из сообщения «CRC-32»-кода с фактическим «CRC-32»-кодом сообщения.
9-й байт полученного сообщения определяет команду, которая будет выполнена.
- Если 9 байт равен 0x0, программа продолжает свою работу. Такой ответ означает, что данные, полученные сервером, корректны.
- Если 9 байт равен 0x5, оставшаяся часть сообщения представляет собой дополнительный модуль, который будет загружен в процесс «RTM».
- Если 9 байт равен 0x6, оставшаяся часть сообщения представляет собой исполняемый файл. Он будет сохранён и запущен.
- Если 9 байт равен 0x8, оставшаяся часть сообщения представляет собой «DLL»-библиотеку. Она будет сохранена и загружена.
- Если 9 байт равен 0x9, оставшаяся часть сообщения представляет собой исполняемый файл, который будет запущен без сохранения.
- Если 9 байт равен 0xB, оставшаяся часть сообщения представляет собой новый исполняемый файл, который заменит текущий исполняемый файл «RTM».
- Если 9 байт равен 0xC, оставшаяся часть сообщения будет сохранена в файл в директории «%LocalAppData%».
- Если 9 байт равен 0x1, оставшаяся часть сообщения представляет собой строку с одной из следующих команд:
- «find_files» — производит поиск файла с именем, полученным от «C&C»,
- «download» — отправляет на удалённый север содержимое файла с именем, полученным с «C&C» сервера, если он существует.
- «unload» — останавливает работу «RTM» до следующего перезапуска.
- «uninstall» — RTM удаляет текущий исполняемый файл.
- «uninstall-lock» — удаляет текущий исполняемый файл и присваивает ключу «Shell» раздела реестра «HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\» значение «shutdown –s –f –t 0», что приводит к выключению компьютера при каждом входе в систему.
- «auto-elevate» — создаёт окно, при нажатии на кнопки которого происходит запуск «RTM» от имени администратора через запуск «rundll32.exe».
- «dbo-scan» — запускает поиск файлов, связанных с банковским обслуживанием (Таблица 2).
- «shutdown» — производит выключение компьютера.
- «reboot» — производит перезагрузку компьютера
- «hosts-add» — записывает полученные данные в файл «hosts» и очищает кэш записей DNS службы за счёт запуска команды «ipconfig.exe /flushdns»
- «hosts-clear» — производит очистку файла «hosts» и очищает кэш записей DNS службы за счёт запуска команды «ipconfig.exe /flushdns»
- «screenshot» — создаёт снимок экрана и отправляет его на сервер.
- «kill-process» — ищет запущенные процессы, в имени которых присутствует строка, полученная с сервера, получает их идентификаторы и завершает их.
- «video-start» — создаёт поток, создающий снимок экрана раз в 2 секунды и передающий его на удалённый адрес, полученный с C&C сервера.
- «video-stop» — останавливает поток, создающий снимки экрана.
- «msg» — создаёт всплывающее окно с текстом, полученным с C&C
- Предполагается, что «RTM» имеет возможность загрузки дополнительных модулей с расширением «.dtt».
- Предполагается, что после получения команды «del-module» происходит остановка выполнения и удаление кода загруженного модуля.
Таблица 1 — Список «URL», указывающих на взаимодействие с банками
Таблица 2 – Список файлов, указывающих на взаимодействие с банками
Таблица 3 – Список имён классов
Схема хищения
RTM при помощи скриншотов и кейлоггера узнает логин и пароль пользователя, скачивает и запускает средства удалённого управления компьютером, после чего либо создаётся платёжное поручение и отправляется в систему ДБО через удаленное управление на заражённом компьютере, либо похищаются аутентификационные данные и секретный ключ, используемые в системе ДБО, а отправка поручения происходит с компьютера злоумышленника. По данным Group-IB, в случае успешного хищения, в среднем, хакеры «зарабатывают» на таких атаках около 1 100 000 рублей с одного юрлица.
В целом, за осень — с сентября по ноябрь — преступная группа RTM предприняла несколько масштабных атак на крупные российские банки и предприятия. Вредоносная активность была обнаружена и блокирована с помощью системы раннего предупреждения кибератак Threat Detection System Polygon (TDS), позволяющей в безопасной, изолированной от основной сети банка среде «распаковывать» подозрительные письма, проверять их на наличие вредоносных вложений и выносить вердикт о степени опасности обнаруженного объекта.
Комментарии (9)
lostpassword
06.12.2018 21:23Спасибо за статью!
Интересно, чем вызванf такая особенная любовь авторов к ESET)
3aBulon
07.12.2018 09:07не совсем понял вот это:
«После запуска, проверяет наличие на диске «С» файлов и директорий «cuckoo», «fake_drive», «strawberry», «tsl», «targets.xls», «perl», «wget.exe», «*python*», «myapp.exe», «self.exe», «vboxservice.exe», «python.exe». В случае нахождения, завершает работу.»
завершает работу чего? себя?khanid
07.12.2018 11:14Думаю, что да, себя. У рядового пользователя таких вещей обычно нет. А если есть — повышается риск, что пользователь или связан с it, или уж очень совсем продвинутый относительно целевой аудитории, что повышает шанс, что он заметит, что что-то не то происходит.
teecat
07.12.2018 11:14Начиная с 11 сентября система Group-IB Threat Intelligence (киберразведка) фиксировала массовые рассылки по российским банкам, промышленным и транспортным компаниям: 3210 писем...
Вот этот абзац непонятен. Это зафиксировано писем, прошедших через систему слежения и их больше было или всего? Фразы так построены, как будьто всего
saipr
А это у вас реальные почтовые адреса указаны? Если так, то нехорошо.
И весь список для чего представлен, для объема? Или в них есть какой-то сакральный смысл?
lostpassword
С этих адресов рассылались вредоносные письма. В какой-то мере их можно считать индикаторами атаки. Вполне себе вещь для открытого опубликования.
saipr
Ну если это так.