Спящий зомби под маской майнера? [VBS.BtcMine.6]

Тема в разделе "Борьба с типовыми зловредами", создана пользователем Dragokas, 25 июл 2014.

  1. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.307
    Впервые стал известен: по данным VT - 2014-03-24
    Защита кода: двойная обфускация + шифрование с помощью Microsoft Script Encoder
    Качество исполнения кода: высокое.
    Детекты лабораторий (состоянием на 24.07.14):

    Avast VBS:Agent-BCX [Trj]
    DrWeb VBS.BtcMine.6
    Kaspersky HEUR:Trojan-Downloader.Script.Generic
    Qihoo-360 virus.vbs.crypt.c

    Примеры тем с лечением: Ted BtcMine.258

    Автозагрузка? Да. Через планировщик задач. Задание с именем Origin и правами SYSTEM при входе пользователя.
    Нужны ли права администратора? Частично: для создания автозагрузки.
    Использует ли дополнительные компоненты для своей работы? Да.
    1) перед запуском ? - предположительно Да. Файл %TEMP%\svchost.exe
    2) в процессе работы? - Да (на текущий момент - нет). Использует 2 сервера для докачивания компонентов (сейчас стоит перенаправление на LocalHost). В случае неудачи - сервер № 3, адрес которого получает через сервер статистики BitCoin (графа Balance). Сервер еще не задействован.
    3) системные компоненты? возможно. Файл %WINDIR%\system32\OpenCL.dll (пока что не используется).

    Вредоносное действие: точная цель неизвестна. Ожидает пассивной команды сервера.

    Это зашифрованный скрипт (VBE - Visual Basic Encoded), который может напрямую выполняться сервером сценариев без необходимости расшифровки.

    1. При первом запуске проверяет наличие в системе файла %WINDIR%\system32\OpenCL.dll
    Если его нет, скрипт завершает работу. Иначе:
    2. Копирует себя в %APPDATA%\Origin\update.vbe
    Папку %APPDATA%\Origin делает нескрытой, если она таковой была.
    3. Добавляется в автозагрузку через планировщик.
    4. Циклично пингует адрес Google 8.8.8.8
    5. Если интернет есть, пытается подгрузить "компоненты" с серверов, которые в данный момент "недоступны" (или временно заморожены):
    №1:
    hxxp://55900f6043109d0c94f1287fab1ef610.com
    если неудачно:
    №2
    hxxp://b3bd5f983fb3f0f3bfdccaab7bf68644.com

    GET-запрос для №№ 1,2 формируется в виде строки:
    hxxp://m.55900f6043109d0c94f1287fab1ef610.com/?id=55900f6043109d0c94f1287fab1ef610.com&key=update.vbe

    если неудачно:
    №3
    берет имя сервера из страницы на сервере статистики BitCoin (обновляемая графа Balance, к которой дописывается hxxp://m.15NWxLvhtzqSDkQv7JLAyPvFh64U9HA7qW<BALANCE>.com/?id=15NWxLvhtzqSDkQv7JLAyPvFh64U9HA7qW<BALANCE>.com&key=update.vbe)
    (предположительно здесь есть невидимая ошибка в коде, которая сломает логику получения списка файлов с сервера № 3 - еще не разобрался что это и почему оно так работает).

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

    Сервера содержат зашифрованную мод. Цезарем строку со списком файлов,
    находящимися на том же сервере.
    6. Список расшифровуется.
    7. Завершается процесс %TEMP%\svchost.exe
    8. Докачиваются компоненты по списку.
    9. Запускается последний файл из этого списка.

    Специфика серверов:
    При попытке пинга на адреса серверов, адрес перенаправляется на 127.0.0.1

    Код (Text):
    C:\Users\Alex>ping b3bd5f983fb3f0f3bfdccaab7bf68644.com

    Обмен пакетами с b3bd5f983fb3f0f3bfdccaab7bf68644.com [127.0.0.1] с 32 байтами данных:
    Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
    Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
    Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
    Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128

    Статистика Ping для 127.0.0.1:
        Пакетов: отправлено = 4, получено = 4, потеряно = 0
        (0% потерь)
    Приблизительное время приема-передачи в мс:
        Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек
     
    Код (Text):

    [Domain Name System (response)]

    Flags: 0x8180 Standard query response, No error

    ...

    Answers

    Name: b3bd5f983fb3f0f3bfdccaab7bf68644.com
    Type: A (Host address)
    Class: IN (0x0001)
    Time to live: 5 minutes
    Data length: 4
    Addr: 127.0.0.1 (127.0.0.1)
     
    Ну то есть, самый обычный DNS.[/quote]

    Адреса серверов № 1 и № 2 не являются случайным набором символом.
    Это MD5-хеш, взятый от слов:
    1) r18
    2) r18a

    Дальнейшее исследование
    Теоретически, можно проверить соседние имена серверов.
    Детальнее сервера и геолокацию не смотрел.

    Заключение
    С вердиктом лаборатории Dr.Web не согласен.
    Не буду 100% утверждать что это майнер. Прямых доказательств нет.
    Есть 2 варианта:
    скрипт проверяет наличие библиотеки OpenCL, которая используется компонентами майнера
    и прекращает работу, если ее нет потому что:
    1) он не сможет запустить майнер на такой системе (но что мешает ее докачать и зарегить?)
    2) автор сделал проверку файла первой строкой скрипта на видном месте, чтобы запутать следы выдав этот скрипт за майнер биткоинов.
     
    Последнее редактирование: 25 июл 2014
    machito, akok, iskander-k и 4 другим нравится это.
  2. iskander-k
    Оффлайн

    iskander-k Команда форума Супер-Модератор Ассоциация VN/VIP Преподаватель

    Сообщения:
    3.733
    Симпатии:
    3.260
    Наверное поэтому в последнее время участились случаи заражения этим зверем ,,
     
  3. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.307
    Пришлите update.VBE с другой чексуммой, когда будет. Очень хотелось бы сравнить.
    У этого:
    CRC32: 3E8E1FF4
    MD5: AE2A13B1DDFF310E0BDB40E4DA48C946
    SHA-1: 3878FC7F6B6B96412F18E29BADB26B81DA32DA46
     
  4. regist
    Оффлайн

    regist гоняюсь за туманом Ассоциация VN/VIP VIP Разработчик

    Сообщения:
    11.382
    Симпатии:
    5.268
    Лови раз и два.
    ps. он ещё с прошлого года гуляет :).
     
    Kиpилл и Dragokas нравится это.
  5. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.307
    Может чуть чуть дополнить статью и перенести в открытый раздел?
    Ничего криминального?
     
  6. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.220
    Симпатии:
    4.978
    Переноси думаю.
     
  7. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.307
    Больше аргументов против нет?
     
  8. akok
    Оффлайн

    akok Команда форума Администратор

    Сообщения:
    12.452
    Симпатии:
    13.952
    Только не переноси, а копируй. А то поисковики такие темы не очень любят
     
    Dragokas нравится это.

Поделиться этой страницей