ВСКРЫВАЕМ МАЛВАРЬ ДЛЯ НЕСАНКЦИОНИРОВАННОЙ ДОБЫЧИ КРИПТОВАЛЮТЫ.
Растущая популярность битка и его разноликих форков (Litecoin, ProtoShares, Primecoin и прочих) привела к появлению вредоносных программ для их добычи, а активность вирмейкеров в этом направлении стала уже своего рода модной тенденцией последнего времени. В руки
попало несколько образцов такого рода программ, и мы решили посмотреть, что же у них внутри.
НЕБОЛЬШОЕ ВСТУПЛЕНИЕ
Как бы ни была крута твоя рабочая машина, какая бы мощная на ней ни стояла видюха и сколько бы ядер ни содержал твой процессор, в наше время майнить на ней уже бесполезно. Те, кто не имеет лишних денег на покупку модного асика (устройство на основе специализированных процессоров, которое, кроме майнинга биткоинов, больше ничего не умеет) или хотя бы фермы из десятка-другого мощных видеокарт, объединяются в пулы для совместного добывания электронных денег, которые потом по-братски делятся между участниками пула.
Главная задача программы для несанкционированного майнинга — незаметно для ничего не подозревающего пользователя заставить его компьютер работать на какой-нибудь пул под учетной записью создателя этой программы. Чем таких незадачливых пользователей будет больше, тем больше криптомонет упадет в кошелек злоумышленника.

Рис. 1. Объявление о продаже майнера на одном из форумов.
RISKTOOL.WIN32.BITCOINMINER.MRA
И RISKTOOL.WIN32.BITCOINMINER.MRP
Оба этих образца, скорее всего, вышли из-под пера одного и того же создателя. Работают на пуле ypool.net, ориентированы на майнинг ProtoShares на некое лицо (или группу лиц) с учетной записью на пуле mystical1. Оба образца сжаты с помощью UPX и распаковываются без всяких проблем. Большая часть кода у того и другого образца одинаковая и аналогична коду легального майнера jhProtominer. Основное отличие от jhProtominer’а заключается в задании параметров запуска не из командной строки, а непосредственно из тела программы.

Рис. 2. www.ypool.net
Первый образец (попал ко мне в виде файла pts.exe) не предпринимает никаких мер для сокрытия своего работающего процесса в системе и прекрасно виден в диспетчере задач, который показывает загрузку процессора, близкую к 100%. После запуска pts.exe подключается к пулу, передает имя учетной записи, имя воркера и пароль воркера на ypool.net и приступает к добыче электронных денег. Как уже говорилось, имя учетной записи — mystical1, а в качестве воркера в данном случае используется воркер, создаваемый по умолчанию, — pts с паролем x. Воркер — это рабочий поток, непосредственно выполняющий вычисления. Для одной
учетной записи воркеров может быть несколько, и осуществлять свою деятельность они при этом будут параллельно.
Кстати, асик-майнер Fast-Hash One Platinum Edition Bitcoin Mining Machine потребляет 20 кВ/ч, имеет вычислительную мощность чуть менее 25 TH/s и стоит 388 997 долларов. Говорят, месяца за четыре окупится.

Рис. 3. RiskTool.Win32.BitCoinMiner.mra в диспетчере задач.
Второй образец (x86.exe) чуть более сложный. Во-первых, с помощью API-функции SetKernelObjectSecurity он делает свой процесс неубиваемым (причем даже ProcessHaker с его семнадцатью способами остановки процесса не в состоянии с ним справиться).
Во-вторых, x86.exe запускает внутри себя еще один поток, который каждую секунду с помощью CreateToolhelp32Snapshot получает список запущенных в системе процессов и проверяет его на наличие процесса taskmgr.exe. При обнаружении этого процесса майнер с помощью известной всем вирусописателям последовательности API-функций OpenProcess, WriteProcessMemory и CreateRemoteThread инжектит в taskmgr.exe код, перехватывающий функцию NtQuerySystemInformation.

Рис. 4. Передача имени учетной записи, имени воркера и пароля на пул.
Благодаря этому перехвату майнер убирает название своего процесса из диспетчера задач, скрывая свое присутствие в системе. В остальном второй образец функционирует аналогично первому, за исключением имени воркера. В этом случае используется имя воркера linux.

Рис. 5. Вызов SetKernelObjectSecurity в x86.exe.
TROJAN-RANSOM.WIN32.BLOCKER.DJSJ
Это творение любителей легкой наживы написано на VB, ничем не упаковано и представляет собой файл по имени wmltc.exe.
При более близком знакомстве выяснилось, что в секции ресурсов файла лежит запароленный самораспаковывающийся архив miner.exe, а сам файл по большому счету представляет собой скрипт, который достает из ресурсов архив, распаковывает его в папку %AppData%, добавляет ключ автозагрузки в реестр и запускает два майнера, которые содержались в архиве.

Рис. 6. Вот здесь и происходит перехват NtQuerySystem Information.
Все свои действия (распаковку, добавление ключа в реестр, старт майнеров) троян выполняет, запуская cmd.exe с нужными параметрами.
Добыча криптовалюты в этом трояне осуществляется с помощью вполне легальных майнеров cgminer.exe и minerd.exe, которые запускаются в скрытом режиме.
Cgminer майнит с использованием видеокарты, а minerd на процессоре. Оба майнера работают с криптовалютой Litecoin и запускаются для работы на пул wemineltc.com с именем воркера goomba.2 и паролем x.

Рис. 7. Содержимое архива. Два майнера cgminer.exe, minerd.exe и необходимые для их работы файлы.

Рис. 8. Декомпилированный код трояна Trojan-ransom.Win32.Blocker.Djsj.
Видна последовательность запуска cmd.exe

Рис. 9. Ссылка на погодный информер с небольшим довеском в виде майнера криптовалюты.
TROJAN-DOWNLOADER.MSIL.BITCOINMINER.T
Эта программа для несанкционированного майнинга распространяется под видом крайне полезного и нужного приложения — погодного информера.
Троян представляет собой файл SmallWeatherSetup.exe, скомпилированный из скрипта на AutoIt и оборудованный весьма симпатичной и вызывающей доверие иконкой. Если декомпилировать этот скрипт, то внутри можно увидеть запуск двух файлов setup_1.exe и setup_2.exe.
Первый устанавливает в систему обещанный погодный информер, который работает вполне по-честному и исправно показывает температуру, облачность и прочие погодные аномалии. А вот второй начинает вредоносную деятельность: устанавливает связь с bitchat.org, скачивает оттуда файл под названием intel.exe, запускает его на выполнение и прописывает его в автозагрузку в реестре.

Рис. 10. Декомпилированный скрипт на AutoIt.
И setup_2.exe, и intel.exe написаны на чем-то, что использует технологию .NET (об этом говорит аббревиатура MSIL в названии трояна), и легко декомпилируются. При этом в теле setup_2.exe можно найти строчку с предположительным именем автора этого творения (хотя кто его знает, может быть, это и подстава). Запущенный и прописанный в автозагрузку intel.exe скачивает с bitchat.org для себя инструкцию по дальнейшим действиям в виде файла info.xml и приступает к их выполнению.

Рис. 11. Если вспомнить, как кодируются русские буквы в UTF-8, то здесь можно прочитать имя предполагаемого автора трояна.
Внутри info.xml хорошо видны пул, с которым будет работать майнер, имя учетки и пароль (некто tonycraft, с паролем G4KL23FGR), а также последовательность загрузки двух майнеров и необходимых компонентов для их работы.
Майнеры, как и в предыдущем случае, вполне легальны, причем, несмотря на то что было скачано два майнера, для работы запускается один с именем explorer.exe (очевидно, чтобы сбить с толку не очень опытных пользователей). Параметры запуска explorer.exe также видны в файле info.xml, а добывает он Litecoin, используя ресурсы видеокарты.

Рис. 12. Кусочек декомпилированного кода intel.exe. Выделены строки, ответственные за загрузку info.xml

Рис. 13. Инструкция по дальнейшим действиям (файл info.xml)
ЗАКЛЮЧЕНИЕ
Хождение различных криптовалют на просторах интернета не могло не заинтересовать любителей поживиться за чужой счет, и появление целого класса программ для несанкционированного майнинга электронных монет было ожидаемо. В большинстве случаев авторы этих программ используют исходники вполне легальных майнеров и модифицируют их под свои нужды либо пишут оболочки для их скрытого запуска с нужными параметрами.
Автор материала: Евгений Дроботун
Комментарии