SHA 1:
- d534e89e3795781e0e116e482fa4efb46b188a0d
Троянская программа, предназначенная для добычи (майнинга) криптовалюты. Устанавливалась на серверы под управлением Microsoft Windows Server с использованием уязвимости в Cleverence Mobile SMARTS Server по протоколу RDP.
Представляет собой динамическую библиотеку (DLL), имеющую 5 экспортов:
1 .00000001`800029D0 Install
2 .00000001`80001690 ServiceMain
3 .00000001`800025C0 Stealth
4 .00000001`80001F40 Test
5 .00000001`80002DD0 Uninstall
После получения несанкционированного доступа к серверу злоумышленники сохраняют библиотеку в папку %TEMP% и запускают ее с использованием rundll32:
2017-Jul-19 10:33:07.011857 [5320] [INF] [1600] [arkdll]
id: 49444, timestamp: 10:33:07.011, type: PsCreate (16), flags: 1 (wait: 1), cid: 8380/10700:\Device\HarddiskVolume2\Windows\System32\cmd.exe
source context: start addr: 0x7ff64f886e20, image: 0x7ff64f880000:\Device\HarddiskVolume2\Windows\System32\cmd.exe
created process: \Device\HarddiskVolume2\Windows\System32\cmd.exe:8380 --> \Device\HarddiskVolume2\Windows\System32\rundll32.exe:12920
bitness: 64, ilevel: high, sesion id: 15, type: 0, reason: 1, new: 1, dbg: 0, wsl: 0
curdir: C:\Windows\system32\, cmd: rundll32 Inject.dll,Stealth SPB06
status: signed_microsoft, system_file_host, spc / signed_microsoft / clean
id: 49444 ==> allowed [2], time: 0.739863 ms
Экспорт Install
В системном реестре Windows Server создает ключ [HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost], сохраняет в поле "netsvcs" строку "WdiServerHost", которая является именем будущей троянской службы. Создает службу "WdiServerHost" с отображаемым именем "Узел сервера диагностики" и следующим описанием:
Узел сервера диагностики используется службой политики диагностики для размещения средств диагностики, запускаемых в контексте локальной системы. Если остановить эту службу, некоторые средства диагностики, зависящие от нее, не смогут работать.
Служба имеет автоматический запуск, в качестве исполняемого файла прописывается "%%SystemRoot%%\system32\svchost.exe -k netsvcs". Затем с использованием ветви системного реестра [HKLM\SYSTEM\CurrentControlSet\services\WdiServerHost\Parameters] при помощи параметра "ServiceDll" троянец указывает себя в качестве загружаемой сервисом библиотеки. Для параметра "ServiceDllUnloadOnStop" устанавливается значение «1», после чего служба запускается.
Экспорт Stealth
Получает привилегии "SeBackupPrivilege" и "SeRestorePrivilege". Читает значение параметра "netsvcs" ключа системного реестра [HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost]. Если значение оказывается пустым, завершает свою работу.
Перебирает системные службы, перечисленные в "netsvcs", в поисках службы с типом запуска, установленным в SERVICE_DEMAND_START или SERVICE_DISABLED. Если искомая служба найдена, копирует время создания, изменения и доступа файла, указанного в ServiceDll службы, удаляет оригинальный файл службы и записывает на его место свою копию, установив время создания, изменения и доступа как у оригинального файла. В параметре "ServiceWorker" сохраняет входной параметр. Устанавливает для службы автоматический способ запуска и запускает ее.
Экспорт ServiceMain
Получает привилегию "SeDebugPrivilege". Получает адрес функции "NtSetInformationProcess" из ntdll.dll и устанавливает для своего процесса флаг критического процесса. Ищет первый диск с параметром DRIVE_FIXED, на нем выбирает первую папку. Если приведенное к нижнему регистру имя папки не совпадает с "$recycle.bin", извлекает из собственных ресурсов и сохраняет в нее свои файлы:
Все файлы троянца зашифрованы с использованием операции XOR, при сохранении в конец каждого из них дописывается от 5 до 50 случайных байт (чтобы при каждом сохранении файлов были разные хэши). Проверяет доступность пулов и список доменов со списком возможных портов:
Если хотя бы один из серверов работает, троянец запускает сохраненный в файле svchost.exe майнер со следующими параметрами:
-t %d -a cryptonight -o stratum+tcp://%s -O 4JUdGzvrMFDWrUUwY3toJATSeNwjn54LkCnKBPRzDuhzi5vSepHfUckJNxRL2gjkNrSqtCoRUrEDAgRwsQvVCjZbS15Y5w6TATZ1WR7Tke.%s:x
Параметры включают:
- количество ядер процессора;
- адрес работающего сервера;
- строка, сохраненная в параметре ServiceWorkers троянской службы.
Для созданного процесса устанавливается флаг критического процесса.
Экспорт Test
Выполняет те же действия, что и экспорт Stealth, но перезаписывает своей копией не одну службу, а столько служб, сколько подходит под заданные параметры.
Экспорт Uninstall
Удаляет службу "WdiServerHost".
Лечение
Поскольку троянец заменяет собой одну из системных служб Windows Server, лечение зараженного сервера выполняется в несколько этапов.
- Просканируйте инфицированный сервер с использованием антивируса Dr.Web или утилиты Dr.Web CureIt!, подтвердите предложение антивирусной программы вылечить зараженные файлы.
- Перезагрузите сервер. Для восстановления удаленной троянцем системной библиотеки выполните в консоли команду:
sfc /scannow
- Снова перезагрузите сервер.
- Установите обновления безопасности, выпущенные разработчиком Cleverence Mobile SMARTS Server, которые закрывают уязвимость приложения.
- Следует ограничить сетевой доступ извне к ПО Cleverence Mobile SMARTS Server.
- Смените пароли для всех учетных записей пользователей на вашем сервере.