Аддоны Kodi используются для распространения криптомайнеров

    Если вы используете Kodi, то могли заметить, что популярный голландский репозиторий аддонов XvBMC был закрыт из-за нарушения авторских прав. После этого мы обнаружили, что репозиторий скрытно использовался в кампании криптомайнинга, начавшейся в декабре 2017 года. Это второй известный инцидент, связанный с распространением вредоносного ПО через аддоны Kodi, и первый случай криптомайнинга с помощью данной платформы. Интересно, что пользователям Kodi направляются бинарники, соответствующие используемой ОС (Windows или Linux).



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

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

    Кампания


    Мы выяснили, что вредоносное ПО, найденное в XvMBC, впервые появилось в популярных репозиториях Bubbles и Gaia в декабре 2017 и январе 2018 года соответственно. Из них, а также путем обновления других репозиториев и готовых сборок, вредоносное ПО распространилось в экосистеме Kodi.

    Малварь имеет многоступенчатую архитектуру. Авторы приняли меры, чтобы происхождение финальной полезной нагрузки (криптомайнера) невозможно было отследить до вредоносного аддона. Майнер работает под Windows и Linux, он добывает Monero (XMR). Версии для Android или macOS пока in the wild не наблюдались.

    Заражение производилось по одной из трех схем:

    1. Жертва добавила URL вредоносного репозитория в Kodi, чтобы загрузить некоторые аддоны. Вредоносное дополнение устанавливается при обновлении аддонов Kodi.

    2. Жертва установила готовую сборку Kodi, включающую URL вредоносного репозитория. Вредоносное дополнение устанавливается при обновлении аддонов Kodi.

    3. Жертва установила готовую сборку Kodi с вредоносным дополнением, но без ссылки на репозиторий для обновления. Компьютер скомпрометирован, хотя вредоносный аддон не обновляется. Тем не менее, если криптомайнер установлен, он сохраняется в системе и может получать обновления.

    По данным телеметрии ESET, топ-5 стран с наиболее высоким уровнем активности угрозы – США, Израиль, Греция, Великобритания и Нидерланды. Логично, поскольку эти страны фигурируют в числе лидеров по объему трафика в дополнениях Kodi. Другое возможное объяснение – популярность в данных странах сборок с вредоносным репозиторием (как XvBMC – в Нидерландах).


    Рисунок 1. Распространение криптомайнера

    В настоящее время репозитории, с которых началось распространение криптомайнера, не работают (Bubbles), либо больше не раздают вредоносный код (Gaia). Тем не менее, жертвы, устройства которых заражены криптомайнером, все еще под угрозой. Кроме того, вредоносное ПО по-прежнему присутствует в других репозиториях и некоторых готовых сборках Kodi, авторы которых, скорее всего, об этом не подозревают.

    Хронология


    17 декабря 2017 года – репозиторий Bubbles публикует первое вредоносное обновление
    4 января 2018 года – первое вредоносное обновление в репозитории Gaia
    14 января – первый вредоносный аддон в репозитории Bubbles
    Середина января – репозиторий Bubbles закрыт, пользователей перенаправляют в Gaia
    28 января – ESET обнаружила криптомайнер
    28 января–середина апреля – криптомайнер регулярно получает обновления
    11 февраля, 6 марта, 21 марта – обновления вредоносных аддонов
    26 апреля – репозиторий Gaia удаляет весь контент, новая версия больше не распространяет вредоносный аддон
    Середина августа – сообщение о закрытии репозитория XvBMC – второго источника вредоносных аддонов

    Технический анализ


    Как это работает


    Когда жертва добавляет вредоносный репозиторий в Kodi, он (репозиторий) хранит дополнение script.module.simplejson – соответствует имени легитимного дополнения, которое используется многими другими аддонами. Разница в том, что в других репозиториях только script.module.simplejson версии 3.4.0, а во вредоносном – версия 3.4.1.

    Kodi использует для обнаружения обновлений номер версии, поэтому все пользователи с включенной функцией автоматического обновления (включена по умолчанию) получают script.module.simplejson версии 3.4.1 из вредоносного репозитория.

    Единственная часть script.module.simplejson версии 3.4.1, которая изменена в сравнении с версией 3.4.0, – метаданные. Файл addon.xml содержит дополнительную строку:



    Она сообщает Kodi о возможности загрузки и установки аддона script.module.python.requests версии 2.16.0 и выше. Дополнение обрабатывается только вредоносным репозиторием. Это модификация легитимного аддона script.module.requests, содержащего дополнительный вредоносный код на Python.

    Этот код загружает в случае необходимости бинарный файл Windows или Linux и выполняет его. Исполняемый файл является загрузчиком, который извлекает и выполняет финальную полезную нагрузку – криптомайнер. Если установка майнера прошла успешно, код Python переходит к фазе самоустранения и удаляет себя.


    Рисунок 2. Схема выполнения вредоносной программы

    Код Python


    В проанализированном образца обфусцированный вредоносный код находился в файле script.module.python.requests\lib\requests\packages\urllib3\connectionpool.py, строки 846-862.


    Рисунок 3. Обфусцированный вредоносный код в connectionpool.py

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


    Рисунок 4. Вредоносный код после деобфускации (с комментариями аналитика)

    Автор кода явно хорошо знаком с экосистемой Kodi и архитектурой дополнений. Скрипт определяет, в какой ОС работает (поддерживаются только Windows и Linux, Android и macOS пока игнорируются), подключается к своему C&C серверу и выполняет соответствующий бинарный файл – модуль загрузчика.

    Бинарный файл Windows записывается в C:\Users\[username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\TrustedInstaller.exe, Linux – в /tmp/systems/systemd.

    После извлечения и запуска бинарного модуля загрузчика скрипт на Python – здесь connectionpool.py – запускает процедуру самоудаления. Как видно на рисунке 4, вредоносный код выделен специальными маркерами #-+- и #-_-#. Запуск кода после успешного выполнения бинарного файла загрузчика открывает файл, находит эти маркеры и удаляет их, а также все между ними. Чистый файл затем сохраняется. В результате установку криптомайнера проблематично отследить до этого аддона Kodi.


    Рисунок 5. Самоудаление в коде на Python (с комментариями аналитика)

    Исполняемый файл криптомайнера


    Модуль загрузчика (64-битный файл EXE для Windows, 64-битный файл ELF для Linux), извлеченный с помощью кода Python, содержит зашифрованную конфигурацию криптомайнера и ссылки на скачивание полезной нагрузки второго этапа – бинарных файлов криптомайнера.

    Бинарный загрузчик извлекает полезную нагрузку второго этапа для ОС (бинарный файл криптомайнера для разных графических процессоров и вредоносный модуль запуска/обновлений) в защищенном паролем ZIP-архиве. Бинарники скомпилированы для 64-битных Windows и Linux, в их основе – опенсорсное ПО для майнинга XMRStak.

    Конфигурация майнера следующая:

    {"monero":{"default":{"wallet":"49WAk6TaCMX3HXN22nWPQAfBjP4J3ReUKg9tu3FoiPugcJs3fsnAvyGdrC41HZ4N6jcHEiwEGvH7z4Sn41PoZtLABFAVjm3","password":"","name":"","email":"","weight":1,"format":{"rig":"","address":"%w%.%n%/%e%","password":"%p%"}},"pools":[{"host":"xmr-us-east1.nanopool.org:14444"},{"host":"xmr-eu1.nanopool.org:14444"},{"host":"xmr-asia1.nanopool.org:14444"}]}}

    Как обнаружить заражение


    Пользователи медиаплеера Kodi для Windows или Linux, которые устанавливали дополнения из сторонних репозиториев или готовые сборки, могут участвовать в майнинге в пользу операторов данной кампании.

    Чтобы проверить устройство на предмет компрометации, нужно просканировать его антивирусным ПО. Для Windows можно использовать бесплатный ESET Online Scanner, для Linux бесплатную триалку ESET NOD32 Antivirus for Linux Desktop.

    Пользователи актуальных версий продуктов ESET уже защищены. Продукты ESET детектируют угрозу как Win64/CoinMiner.II и Win64/CoinMiner.MK на Windows, Linux/CoinMiner.BC, Linux/CoinMiner.BJ, Linux/CoinMiner.BK и Linux/CoinMiner.CU на Linux.

    Выводы


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


    Рисунок 6. Заработок операторов криптомайнеров

    По статистике Monero-кошелька операторов, представленного Nanopool, на момент написания поста заражено минимум 4774 компьютеров и добыто 62,57 XMR (5700 евро или 6700 долларов).

    Инцидент интересен, поскольку это второе вредоносное ПО и первый криптомайнер, распространяющийся через экосистему Kodi. Кроме того, в кампании использовалась необычная техника компрометации. Авторы используют систему аддонов Kodi, совместимых с большинством операционных систем, чтобы нацеливать вредоносное ПО на Linux и Windows.

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

    По мере ужесточения мер безопасности ОС, дополнения к популярному ПО станут более популярной целью злоумышленников. Мы уже наблюдали похожие инциденты ранее с макросами Visual Basic в приложениях Microsoft Office. Не факт, что аддоны Kodi станут «новыми VBA», но данный инцидент указывает на такое развитие событий.

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


    Вредоносные аддоны Kodi


    Поскольку оригинальные репозитории с вредоносными аддонами (Bubbles и Gaia) уже удалены, ниже представим ссылки на зеркальные копии репозиториев, которые все еще содержат код майнеров, а также примеры случайно выбранных вредоносных сборок Kodi.

    Важно отметить, что владельцы репозиториев, скорее всего, распространяют вредоносные аддоны неосознанно.

    Зеркальные копии Bubbles
    github[.]com/yooperman17/trailerpark/blob/master/repository/repository.bubbles.3/repository.bubbles.3-4.2.0[.]zip
    github[.]com/yooperman17/trailerpark/blob/master/repository/common/script.module.urllib.3/script.module.urllib.3-1.22.3[.]zip


    Зеркальные копии Gaia
    github[.]com/josephlreyes/gaiaorigin/blob/master/common/script.module.python.requests/script.module.python.requests-2.16.1[.]zip
    github[.]com/josephlreyes/gaiaorigin/blob/master/common/script.module.simplejson/script.module.simplejson-3.4.1[.]zip


    Вредоносные файлы, ранее доступные в репозитории XvBMC
    github[.]com/XvBMC/repository.xvbmc/tree/b8f5dd59961f2e452d0ff3fca38b26c526c1aecb/Dependencies/script.module[.]simplejson
    github[.]com/XvBMC/repository.xvbmc/tree/b8f5dd59961f2e452d0ff3fca38b26c526c1aecb/Dependencies/script.module.python[.]requests
    github[.]com/XvBMC/repository.xvbmc/blob/b8f5dd59961f2e452d0ff3fca38b26c526c1aecb/Dependencies/zips/script.module.python.requests/script.module.python.requests-2.16.3[.]zip
    github[.]com/XvBMC/repository.xvbmc/blob/b8f5dd59961f2e452d0ff3fca38b26c526c1aecb/Dependencies/zips/script.module.simplejson/script.module.simplejson-3.4.1[.]zip


    Примеры вредоносных сборок Kodi
    archive[.]org/download/retrogamesworld7_gmail_Kodi_20180418/kodi[.]zip
    archive[.]org/download/DuggzProBuildWithSlyPVRguideV0.3/DuggzProBuildWithSlyPVRguideV0.3[.]zip
    ukodi1[.]xyz/ukodi1/builds/Testosterone%20build%2017[.]zip


    URL-адреса C&C-серверов:


    openserver[.]eu/ax.php
    kodinet.atspace[.]tv/ax.php
    kodiupdate.hostkda[.]com/ax.php
    kodihost[.]rf.gd/ax.php
    updatecenter[.]net/ax.php
    stearti.atspace[.]eu/ax.php
    mastercloud.atspace[.]cc/ax.php
    globalregistry.atspace.co[.]uk/ax.php
    meliova.atwebpages[.]com/ax.php
    krystry.onlinewebshop[.]net/ax.php


    Модуль загрузчика (Windows)


    openserver[.]eu/wib
    kodinet.atspace[.]tv/wib
    kodiupdate.hostkda[.]com/wib
    kodihost.rf[.]gd/wib
    updatecenter[.]net/wib
    bitbucket[.]org/kodiserver/plugin.video.youtube/raw/HEAD/resources/lib/wib
    gitlab[.]com/kodiupdate/plugin.video.youtube/raw/master/resources/lib/wib
    www.dropbox[.]com/s/51fgb0ec9lgmi0u/wib?dl=1&raw=1


    Модуль загрузчика (Linux)


    openserver[.]eu/lib
    kodinet.atspace[.]tv/lib
    kodiupdate.hostkda[.]com/lib
    kodihost.rf[.]gd/lib
    updatecenter[.]net/lib
    bitbucket[.]org/kodiserver/plugin.video.youtube/raw/HEAD/resources/lib/lib
    gitlab[.]com/kodiupdate/plugin.video.youtube/raw/master/resources/lib/lib
    www.dropbox[.]com/s/e36u2wxmq1jcjjr/lib?dl=1&raw=1


    Бинарные файлы криптомайнера (Windows)


    updatecenter[.]net/wub
    openserver[.]eu/wub
    glocato.atspace[.]eu/wub
    oraceur.hostkda[.]com/wub
    dilarti.1free-host[.]com/wub
    utudict.vastserve[.]com/wub
    encelan.atspace[.]cc/wub


    Бинарные файлы криптомайнера (Linux)


    updatecenter[.]net/lub
    openserver[.]eu/lub
    glocato.atspace[.]eu/lub
    oraceur.hostkda[.]com/lub
    dilarti.1free-host[.]com/lub
    utudict.vastserve[.]com/lub
    encelan.atspace[.]cc/lub


    Хеши вредоносных аддонов


    B8FD019D4DAB8B895009B957A7FEBAEFCEBAFDD1
    BA50EAA31441D5E2C0224B9A8048DAF4015735E7
    717C02A1B040187FF54425A64CB9CC001265C0C6
    F187E0B6872B096D67C2E261BE41910DAF057761
    4E2F1E9E066D7D21CED9D690EF6119E59CF49176
    53E7154C2B68EDBCCF37FB73EEB3E042A1DC7108
    FF9E491E8E7831967361EDE1BD26FCF1CD640050
    3CC8B10BDD5B98BEA94E97C44FFDFB1746F0C472
    389CB81D91D640BA4543E178B13AFE53B0E680B5
    6DA595FB63F632EE55F36DE4C6E1EB4A2A833862
    9458F3D601D30858BBA1AFE1C281A1A99BF30542
    B4894B6E1949088350872BDC9219649D50EE0ACA
    79BCC4F2D19A394DD2DB2B601208E1D1EA57565B
    AAAEDE03F6C014CEE8EC0D9C0EA4FC7B0E67DB59
    C66B5ADF3BDFA87B0731512DD2654F4341EBAE5B
    F0196D821381248EB8717F47C70D8C235E83A12E
    7CFD561C215DC04B702FE40A199F0B60CA706660


    ESET детектирует вредоносный код на Python как Python/CoinMiner.W.

    Хэши криптомайнеров и модулей загрузчика (Windows)


    08406EB5A8E75F53CFB53DB6BDA7738C296556D6
    2000E2949368621E218529E242A8F00DC8EC91ED
    5B1F384227F462240178263E8F2F30D3436F10F5
    B001DD66780935FCA865A45AEC97C85F2D22A7E2
    C6A4F67D279478C18BE67BEB6856F3D334F4AC42
    EE83D96C7F1E3510A0D7D17BBF32D5D82AB54EF3


    ESET детектирует криптомайнер и модули загрузчика как Win64/CoinMiner.II и/или Win64/CoinMiner.MK. Наша телеметрия показывает больше 100 различных хешей для имен детектирования.

    Хеши криптомайнеров и модулей загрузчика (Linux)


    38E6B46F34D82BD23DEACD23F3ADD3BE52F1C0B6
    90F39643381E2D8DFFF6BA5AB2358C4FB85F03FC
    B9173A2FE1E8398CD978832339BE86445ED342C7
    D5E00FB7AEA4E572D6C7C5F8D8570DAB5E1DD156
    D717FEC7E7C697D2D25080385CBD5C122584CA7C
    DF5433DC7EB272B7B837E8932E4540B216A056D8


    ESET детектирует Linux-версию криптомайнера и модули загрузчика как Linux/CoinMiner.BC, Linux/CoinMiner.BJ, Linux/CoinMiner.BK и Linux/CoinMiner.CU.

    ESET NOD32

    97,00

    Компания

    Поделиться публикацией

    Похожие публикации

    Комментарии 4
      +2
      Это проблема архитектуры репозиториев — что сторонний репозиторий может содержать не только аддоны но и какие-то общие библиотеки. Та же прблема есть в линуксе — если вы добавляете сторонний репозиторий для установки Sublime Text или Node.JS то он может вам легко (при желании его владельца) заменить полсистемы включая ssh и bash.
        +1
        Не так уж и легко. При обновлении пакетов будет предупреждение о смене поставщика пакета.
        0
        Бинарники скомпилированы для 64-битных… и Linux

        Для какой архитектуры?
          –1
          Чтобы проверить устройство на предмет компрометации, нужно просканировать его антивирусным ПО.

          Нужно вдумчиво посмотреть на нагрузку процессора, обратить внимание, не жрёт ли Kodi много ресурсов, проверить дополнения с указанными в статье названиями на наличие там обфусцированного кода. Да, это сложнее, но это всё-таки Хабр, а не какой-нибудь иной ресурс, далёкий от IT.

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

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