GoMiner мутирует и распространяется через облачные хранилища
Предлагаем к прочтению перевод авторской статьи Пола Кимайонга (Paul Kimayong), специалиста компании Juniper по противодействию вредоносному программному обеспечению и обратному воспроизведению кода. Оригинал статьи доступен по ссылке.
Специалисты Juniper Threat Labs (подразделение Juniper по поиску угроз и уязвимостей - прим.ред.) обнаружили семейство вредоносных майнеров криптовалюты Monero, которые распространялись через поставщиков облачных хранилищ, таких как OneDrive, Google Drive и Dropbox, а также через съёмные накопители. Помимо этого, криптомайнеры оказались способны мутировать или изменять себя с целью избежать обнаружения. Количество обнаруженных уникальных образцов оказалось относительно большим: более 160 000 экземпляров были представлены в VirusTotal в течение периода 90 дней.
Криптомайнеры валюты Monero
Основной целью этой вредоносной программы является добыча криптовалюты Monero. Для этого код программы включает в себя версию майнера XMRig. Система, зараженная этим вредоносным ПО, будет работать заметно медленее, поскольку криптомайнер будет потреблять бОльшую часть вычислительной мощности процессора.
модуль XMRig внутри кода
Мы смогли извлечь файлы конфигурации XMRig из проанализированного нами кода и идентифицировали как минимум четыре пула майнинга, к которым присоединяется этот криптомайнер. Это указывает на то, что за сетью криптомайнеров может стоять несколько действующих лиц. Ниже приведены примеры конфигураций, которые включают пулы майнинга, к которым присоединяется криптомайнер, в том числе используемые им имена пользователей и пароли.
{
"algo": null,
"coin": null,
"url": "n73fu7.wayout.pictures:3333",
"user": "44VFWAnouZiSaEJMASVtZWc4dvtZgP3snVJQ6mtPHBgCgRQ93wA6N8tDiLauJru1cp2mfaWsvrthuX4hGVPizRSQGDYMD9c",
"pass": "x",
"rig-id": null,
],
{
"algo": "cn/r",
"url": "abrakadabra.host:443",
"user": "1111",
"pass": "x",
"rig-id": null,
"nicehash": false,
"keepalive": false,
"enabled": true,
"tls": true,
"tls-fingerprint": "e7658755a5a527a4db783b032bbbc91501c8605e72947213ffc7aae7d52502f4",
"daemon": false
}
],
{
"algo": null,
"coin": null,
"url": "fh724.pikatchuworld.club:3333",
"user": "1111",
"pass": "x",
"rig-id": null,
"nicehash": false,
}
],
Заражение публичного облачного хранилища
Одна из уникальных особенностей криптомайнера GoMiner заключается в том, что он может распространяться через общедоступные облачные хранилища, помещая несколько своих копий в «публичные» папки.
Криптомайнер выявляет наличие и доступность следующих каталогов, прежде чем поместить себя в них:
%USERPROFILE%\Dropbox\Public
%USERPROFILE%\OneDrive\Public
%USERPROFILE%\Google Drive
Если указанные выше папки существуют, он оставит свою копию со следующими именами файлов:
USBDriver.exe
Installer.exe
Код, который сбрасывает себя в "публичную" папку Dropbox
К счастью, в актуальных версиях Dropbox, OneDrive и Google Drive «публичные» папки по умолчанию отсутствуют. Однако, вы все равно можете заразиться, если вы синхронизировали чью-то общедоступную папку, которая уже заражена.
Заражение USB-накопителя
Криптомайнер GoMiner распространяется путем сканирования доступных сменных накопителей. Если такой найдётся, то червь оставит свою копию, используя любой из следующих файлов:
Installer.exe
Install.exe
Setup.exe
Он также оставит файл autorun.inf, чтобы запустить автоматическое выполнение вредоносных программ, когда съемный накопитель подключат к ПК.
Код, который сбрасывается на USB-накопители
Заражение папки «Program Files»
Каждый раз при запуске этой вредоносной программы, она ищет любой исполняемый файл в папке «Program Files» и заменяет его своей измененной копией. Это означает, что любое приложение, которое оно заменило, теперь станет GoMiner.
Код, который заменяет файлы в папке "Program Files"
Мутация
Еще одной уникальной особенностью этого вредоносного ПО является способность к мутации. Само по себе мутирующее вредоносное ПО не является чем-то новым, однако встречается в настоящее время редко. Мы считаем, что это попытка авторов вредоносных программ избежать обнаружения.
Криптомайнер имеет функцию под названием «change_self_b», которая генерирует 4-байтовый ключ и использует этот ключ для выполнения XOR («сложение по модулю 2» - прим. ред.) к большинству байтов в своем теле, как мы покажем ниже. Сгенерированные ключи являются случайными и сохраняются в определённом разделе кода.
Фрагмент кода с мутацией
Когда вредоносный код запускается, он в первую очередь возвращает исходные значения зашифрованных байтов в файл. Программа получает доступ к 4-байтовому ключу по специальному адресу и затем расшифровывает его код. Это создаёт невозможность распаковка со стороны UPX (the Ultimate Packer for eXecutables).
Код во вредноносном ПО,который возвращает мутировавший код
Кроме того, в программе имеется другая функция, которая генерирует случайные строки и добавляет их в конец файла. Этот простой метод изменяет хеш образца, что может позволить избежать детекции от инструментов обнаружения на основе хеша, например такие, как "чёрные списки".
Регионы присутствия
За 90 дней в VirusTotal (VT) было отправлено 165 000 образцов этой вредоносной программы. Мы использовали данные для отправки в VT, чтобы определить область присутствие криптомайнера по всему миру. Большинство образцов были зафиксированы в Канаде, США, Бразилии и Аргентине.
Следы присутствия вредноносного кода на основе данных VT
Дополнительные сведения
Все образцы, которые мы видели, являются 64-битными и скомпилированы с Go, с размерами от 2 МБ до 7 МБ для упакованных образцов и до 15 МБ для распакованных.
Этот майнер использует UPX в качестве распаковщика, но перед фактической распаковкой UPX срабатывает простая процедура расшифровки XOR. Это приводит к тому, что утилита UPX не может распаковать исходный файл и позволяет вредоносному ПО избежать обнаружения с помощью инструментов, которые для распаковки используют инструмент UPX.
Как правило, обратное воспроизведение скомпилированного с помощью Go кода является непростой задачей из-за его другой структуры и дополнительных функций, в сравнению с типичным C-скомпилированным кодом. Для помощи в этом процессе мы использовали вспомогательный скрипт IDA для переименования функций от компилятора Go. После использования скрипта нам стало проще с обратным воспроизведением, поскольку основные функции уже были видны.
Процедуры вредноносного кода могут быть разделены на 4 группы
1. RegistryToy
- Отключает через реестр службы Windows Task Manager, Реестра и командную строку (CMD). Обычно делается для того, чтобы усложнить процесс администрирования.
- Запускает непосредственно майнер XMRig.
- Запускает случайным выбором функцию из списка ниже, по кругу;
- Main_Walk - подменяет приложения;
- MainHTTPHit1 - подключается к случайно сгенерированным readme.io субдоменам, например: {random}.{random}.readme.io и сбрасывает свою мутировавшую копию в текущую папку;
- MainHttpHit2 - подключается к случайно сгенерированным readme.io субдоменам, например: {random}.{random}.bitbucket.com и сбрасывает свою мутировавшую копию в текущую папку;
- MainPlantStartup - создаёт запись автоматического запуска в системном реестре и сбрасывает себя в %system32%\{random}.exe.
- Запускает случайным выбором функцию из списка ниже, по кругу;
- Заражение:
- Через съёмный накопитель;
- dropboxInfection;
- oneDriveInfection;
- googleDriveInfection;
- SetHomepage -- устанавливает стартовую страницу браузера на случайно сгенерированный домен;
- Сбрасывает свою мутировавшую копию в текущую папку.
Заключение
Этот зловредный криптомайнер привлёк наше внимание из-за количества образцов, которые мы видим, и его способности распространяться и мутировать. Его возможности - эффективный способ для вредоносного ПО попытаться избежать обнаружения при одновременном увеличении области присутствия. С одной стороны, чтобы избежать обнаружения этому вредноносному криптомайнеру пришлось пойти на увеличение размера в сравнении с другими. Тем не менее, единожды попав в систему - и из-за изменений, которые он вносит в произвольные исполняемые приложения и на стартовую страницу браузера - не пройдёт много времени, прежде чем пользователь поймёт, что что-то пошло не так.
Решения Juniper Advanced Threat Protection выявляют данный вредоносный код и блокируют соответствующие майнинговые пулы.
Sha256
1a455a3291e996ef9f7e964695eb48646d223e588ccb1f355c06fc21b1052456
<...>
db3ce6b9ad58923db5e2a3137c40a59ab186f223483f696869d56a641b233062
Mining Pools
35.156.248.16:443
N73fu7.wayout.pictures:3333
Abrakadabra.host:443
fh724.pikatchuworld.club:3333
__
Подписывайтесь на наши социальные сети и добавляйте новостной раздел в закладки, чтобы ничего не пропустить.
По вопросам консультации и приобретения обращайтесь к нашим специалистам.
+7 (495) 981-60-70
sales@t-mash.ru
"pools": [
{
"algo": "cn/r",
"url": "35.156.248.16:443",
"user": "1111",
"pass": "x",
"rig-id": null,
"nicehash": false,
}