В далёком 2013 году нашими аналитиками были обнаружены первые образцы вредоносного ПО, классифицированные как Trojan-Ransom.Win32.Rakhni. Впоследствии данное троянское семейство не только не прекратило своего существования, но и развивается вплоть до наших дней. За эти годы злоумышленники меняли:
- механизм получения ключей троянцем (от локальной генерации ключей до получения с управляющего сервера);
- алгоритмы шифрования (от использования только симметричного шифрования, затем распространенной схемы, совмещающей симметричное и асимметричное шифрование, и до использования 18 симметричных алгоритмов шифрования одновременно);
- криптобиблиотеки (LockBox, AESLib, DCPcrypt);
- способ распространения (от спама до удалённого выполнения).
Теперь злоумышленники решили добавить своему творению новую функцию — возможность майнинга. В этой статье мы расскажем о загрузчике, который решает, чем заражать компьютер жертвы — шифровальщиком или майнером.
Распространение
География атак
Судя по нашей статистике, чаще всего атакам троянца Trojan-Downloader.Win32.Rakhni подвергались следующие пять стран (отсортированы по доле пострадавших пользователей):
Страна | %* | |
1 | Российская Федерация | 95,57 |
2 | Казахстан | 1,36 |
3 | Украина | 0,57 |
4 | Германия | 0,49 |
5 | Индия | 0,41 |
* Процент уникальных пользователей, подвергшихся атаке Trojan-Downloader.Win32.Rakhni в каждой стране, от всех пользователей, пострадавших от этого зловреда.
Вектор заражения
Насколько мы знаем, спам-кампании до сих пор остаются основным способом распространения этого зловреда.
Когда жертва открывает вложение из электронного письма, появляется просьба сохранить документ на рабочем компьютере и разрешить его редактирование.
Ожидается, что жертва дважды щелкнет по вложенному файлу PDF. Но вместо появления документа запускается вредоносный исполняемый файл.
Загрузчик
Общая информация
Загрузчик представляет собой исполняемый файл, написанный на языке программирования Delphi. Для усложнения анализа все строки зловреда зашифрованы с помощью простого подстановочного шифра.
Сразу после запуска загрузчик отображает сообщение об ошибке, которое объясняет жертве, почему не открылся файл PDF.
Чтобы зловред остался в системе незамеченным, разработчики сделали его похожим на продукты Adobe. Это отражается в иконке и названии исполняемого файла, а также поддельной цифровой подписи, в которой используется название компании Adobe Systems Incorporated. Кроме того, перед установкой полезной нагрузки загрузчик отправляет HTTP-запрос по адресу www.adobe.com.
Проверка окружения
После закрытия окошка с сообщением зловред выполняет на зараженном компьютере несколько проверок.
- Проверка пути
- Название должно содержать подстроку AdobeReader
- Путь должен содержать хотя бы одну из следующих подстрок:
- \TEMP
- \TMP
- \STARTUP
- \CONTENT.IE
- Проверка реестра
Проверяет, что в реестре нет параметра HKCU\Software\Adobe\DAVersion. Если так, то зловред создает параметр HKCU\Software\Adobe\DAVersion = True и продолжает работу.
- Проверка запущенных процессов
- Проверяет, что в системе запущено более 26 процессов
- Проверяет, что в системе не запущен ни один из указанных ниже процессов
alive.exe | filewatcherservice.exe | ngvmsvc.exe | sandboxierpcss.exe |
analyzer.exe | fortitracer.exe | nsverctl.exe | sbiectrl.exe |
angar2.exe | goatcasper.exe | ollydbg.exe | sbiesvc.exe |
apimonitor.exe | GoatClientApp.exe | peid.exe | scanhost.exe |
apispy.exe | hiew32.exe | perl.exe | scktool.exe |
apispy32.exe | hookanaapp.exe | petools.exe | sdclt.exe |
asura.exe | hookexplorer.exe | pexplorer.exe | sftdcc.exe |
autorepgui.exe | httplog.exe | ping.exe | shutdownmon.exe |
autoruns.exe | icesword.exe | pr0c3xp.exe | sniffhit.exe |
autorunsc.exe | iclicker-release.exe.exe | prince.exe | snoop.exe |
autoscreenshotter.exe | idag.exe | procanalyzer.exe | spkrmon.exe |
avctestsuite.exe | idag64.exe | processhacker.exe | sysanalyzer.exe |
avz.exe | idaq.exe | processmemdump.exe | syser.exe |
behaviordumper.exe | immunitydebugger.exe | procexp.exe | systemexplorer.exe |
bindiff.exe | importrec.exe | procexp64.exe | systemexplorerservice.exe |
BTPTrayIcon.exe | imul.exe | procmon.exe | sython.exe |
capturebat.exe | Infoclient.exe | procmon64.exe | taskmgr.exe |
cdb.exe | installrite.exe | python.exe | taslogin.exe |
cff explorer.exe | ipfs.exe | pythonw.exe | tcpdump.exe |
clicksharelauncher.exe | iprosetmonitor.exe | qq.exe | tcpview.exe |
closepopup.exe | iragent.exe | qqffo.exe | timeout.exe |
commview.exe | iris.exe | qqprotect.exe | totalcmd.exe |
cports.exe | joeboxcontrol.exe | qqsg.exe | trojdie.kvp |
crossfire.exe | joeboxserver.exe | raptorclient.exe | txplatform.exe |
dnf.exe | lamer.exe | regmon.exe | virus.exe |
dsniff.exe | LogHTTP.exe | regshot.exe | vx.exe |
dumpcap.exe | lordpe.exe | RepMgr64.exe | winalysis.exe |
emul.exe | malmon.exe | RepUtils32.exe | winapioverride32.exe |
ethereal.exe | mbarun.exe | RepUx.exe | windbg.exe |
ettercap.exe | mdpmon.exe | runsample.exe | windump.exe |
fakehttpserver.exe | mmr.exe | samp1e.exe | winspy.exe |
fakeserver.exe | mmr.exe | sample.exe | wireshark.exe |
Fiddler.exe | multipot.exe | sandboxiecrypto.exe | xxx.exe |
filemon.exe | netsniffer.exe | sandboxiedcomlaunch.exe | ZID Updater File Writer Service.exe |
- Проверка названия компьютера
- Название компьютера не должно содержать следующие подстроки:
- -MALTEST
- AHNLAB
- WILBERT-
- FIREEYES-
- CUCKOO
- RSWT-
- FORTINET-
- GITSTEST
- Кроме того, зловред считает MD5 от названия компьютера в нижнем регистре и сравнивает его с сотней значений из списка запрещенных.
- Название компьютера не должно содержать следующие подстроки:
- Проверка IP-адреса
Зловред получает внешний IP-адрес компьютера и сравнивает с определённым списком IP-адресов.
- Проверка виртуальной машины
- Проверяет, не существует ли следующих ключей реестра:
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Oracle VM VirtualBox Guest Additions
- HKLM\SOFTWARE\Oracle\VirtualBox Guest Additions
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Sandboxie
- HKLM\SYSTEM\ControlSet002\Enum\VMBUS
- HKLM\HARDWARE\ACPI\DSDT\VBOX
- HKLM\HARDWARE\ACPI\DSDT\VirtualBox
- HKLM\HARDWARE\ACPI\DSDT\Parallels Workstation
- HKLM\HARDWARE\ACPI\DSDT\PRLS
- HKLM\HARDWARE\ACPI\DSDT\Virtual PC
- HKLM\HARDWARE\ACPI\SDT\AMIBI
- HKLM\HARDWARE\ACPI\DSDT\VMware Workstation
- HKLM\HARDWARE\ACPI\DSDT\PTLTD
- HKLM\SOFTWARE\SandboxieAutoExec
- HKLM\SOFTWARE\Classes\Folder\shell\sandbox
- Проверяет, не существует ли следующих значений реестра:
- HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\OpenGLDrivers\VBoxOGL\Dll=VBoxOGL.dll
- HKLM\\SYSTEM\CurrentControlSet\services\Disk\Enum\0=Virtual
- HKLM\\SYSTEM\ControlSet001\Control\SystemInformation\SystemProductName=VirtualBox
- Проверяет, не запущено ли в системе указанных ниже процессов.
- Проверяет, не существует ли следующих ключей реестра:
prlcc.exe | VGAuthService.exe | vmsrvc.exe | vmware-tray.exe |
prltools.exe | vmacthlp.exe | vmtoolsd.exe | vmware-usbarbitrator.exe |
SharedIntApp.exe | vmicsvc.exe | vmusrvc.exe | vmware-usbarbitrator64.exe |
TPAutoConnect.exe | vmnat.exe | vmware-authd.exe | vmwaretray.exe |
TPAutoConnSvc.exe | vmnetdhcp.exe | vmware-converter-a.exe | vmwareuser.exe |
VBoxService.exe | vmount2.exe | vmware-converter.exe | xenservice.exe |
VBoxTray.exe | VMRemoteGuest.exe | vmware-hostd.exe |
Если хотя бы одна из проверок не выполнится, загрузчик завершит работу.
Установка сертификатов
Далее загрузчик устанавливает корневой сертификат, который хранится в его ресурсах. Все вредоносные исполняемые файлы, которые он загружает, подписаны этим сертификатом. Мы обнаружили поддельные сертификаты, которые якобы выпущены корпорациями Microsoft и Adobe Systems.
Сертификаты устанавливаются с помощью стандартной утилиты CertMgr.exe, которая тоже хранится в ресурсах загрузчика.
Перед установкой сертификата загрузчик копирует необходимые файлы из ресурсов в директорию %TEMP%.
Затем он выполняет следующую команду:
CertMgr.exe -add -c 179mqn7h0c.cer -s -r localMachine root
Основное решение
Решение о загрузке шифровальщика или майнера зависит от наличия папки %AppData%\Bitcoin. Если эта папка есть, загрузчик скачает шифровальщик. Если папки нет и, при этом, у компьютера более двух логических процессоров, будет скачан майнер. Если этой папки нет и на машине доступен только один логический процессор, загрузчик сразу переходит к компоненту-червю (подробнее об этом ниже).
Если выбран шифровальщик…
Троянец загружает защищенный паролем архив, который содержит модуль шифрования, в каталог автозагрузки (C:\Documents and Settings\username\Start Menu\Programs\Startup) и распаковывает его с помощью консольной утилиты WinRAR. Название исполняемого файла шифровальщика — taskhost.exe.
После запуска шифровальщик выполняет такую же проверку окружения, как и загрузчик. Дополнительно, по наличию значения реестра HKCU\Software\Adobe\DAVersion, шифровальщик проверяет, запущен ли он после загрузчика.
Интересно, что вымогатель начинает работать только в том случае, если в течение хотя бы двух минут в системе не выполняется никаких операций. Прежде чем шифровать файлы, зловред завершает следующие процессы.
1cv7s.exe | Foxit Advanced PDF Editor.exe | mspaint.exe | soffice.exe |
1cv8.exe | Foxit Phantom.exe | mysqld.exe | sqlservr.exe |
1cv8c.exe | Foxit PhantomPDF.exe | NitroPDF.exe | sqlwriter.exe |
7zFM.exe | Foxit Reader.exe | notepad.exe | STDUViewerApp.exe |
acad.exe | FoxitPhantom.exe | OUTLOOK.EXE | SumatraPDF.exe |
Account.EXE | FoxitReader.exe | PDFMaster.exe | thebat.exe |
Acrobat.exe | FreePDFReader.exe | PDFXCview.exe | thebat32.exe |
AcroRd32.exe | gimp-2.8.exe | PDFXEdit.exe | thunderbird.exe |
architect.exe | GSmeta.exe | pgctl.exe | ThunderbirdPortable.exe |
bricscad.exe | HamsterPDFReader.exe | Photoshop.exe | VISIO.EXE |
Bridge.exe | Illustrator.exe | Picasa3.exe | WebMoney.exe |
CorelDRW.exe | InDesign.exe | PicasaPhotoViewer.exe | WinDjView.exe |
CorelPP.exe | iview32.exe | postgres.exe | WinRAR.exe |
EXCEL.EXE | KeePass.exe | POWERPNT.EXE | WINWORD.EXE |
fbguard.exe | Magnat2.exe | RdrCEF.exe | wlmail.exe |
fbserver.exe | MSACCESS.EXE | SmWiz.exe | wordpad.exe |
FineExec.exe | msimn.exe | soffice.bin | xnview.exe |
Кроме того, если не выполняется процесс avp.exe, шифровальщик удаляет теневые копии томов.
Зловред шифрует файлы со следующими расширениями:
После шифрования расширение каждого файла меняется на .neitrino.
Файлы шифруются с помощью алгоритма RSA-1024, а необходимая для расшифровки файлов информация отправляется оператору атаки по электронной почте.
В каждой зашифрованной директории зловред создает файл MESSAGE.txt со следующим содержимым.
Если выбран майнер…
Майнер скачивается схожим образом, но с одним отличием — он сохраняется в другой папке, %AppData%\KB, где , как понятно из названия, — это строка, состоящая из цифр и букв латинского алфавита [0-9a-z].
После загрузки и распаковки архива с майнером троянец выполняет еще несколько операций.
- Сначала создает скрипт VBS, который запускается после перезагрузки ОС. Название скрипта — Check_Updates.vbs. Он содержит две команды для майнинга.
- Первая команда запускает процесс майнинга криптовалюты Monero.
- Вторая команда запускает процесс майнинга криптовалюты Monero Original. Название подпапки, где должен находиться исполняемый файл (cuda), может указывать на то, что для майнинга этот файл будет использовать мощности графического процессора.
- Затем, если существует файл под названием %AppData%\KB\svchost.exe, троянец выполнит его, чтобы начать майнинг криптовалюты Dashcoin.
В ходе нашего анализа загрузчик получил архив с майнером, который не использовал мощности графического процессора. Для майнинга злоумышленник использует консольную версию утилиты MinerGate.
Чтобы выдать майнер за доверенный процесс, злоумышленник подписывает его поддельным сертификатом Microsoft и присваивает ему название svchost.exe.
Отключение Защитника Windows
Что бы ни выбрал загрузчик — шифровать или майнить, — он проверяет, не запущен ли какой-либо из перечисленных ниже антивирусных процессов.
360DocProtect.exe | avgui.exe | dwservice.exe | McUICnt.exe |
360webshield.exe | avgwdsvc.exe | dwwatcher.exe | mcupdate.exe |
AvastSvc.exe | Avira.OE.ServiceHost.exe | egui.exe | ProtectionUtilSurrogate.exe |
AvastUI.exe | Avira.OE.Systray.exe | ekrn.exe | QHActiveDefense.exe |
avgcsrva.exe | Avira.ServiceHost.exe | kav.exe | QHSafeTray.exe |
avgemca.exe | Avira.Systray.exe | LUALL.exe | QHWatchdog.exe |
avgidsagent.exe | avp.exe | LuComServer.exe | Rtvscan.exe |
avgnsa.exe | ccApp.exe | McCSPServiceHost.exe | SMC.exe |
avgnt.exe | ccSvcHst.exe | McPvTray.exe | SMCgui.exe |
avgrsa.exe | Dumpuper.exe | McSACore.exe | spideragent.exe |
avgrsx.exe | dwengine.exe | mcshield.exe | SymCorpUI.exe |
avguard.exe | dwnetfilter.exe | McSvHost.exe |
Если троянец не находит в системе ни одного из этих антивирусных процессов, он выполняет несколько команд, которые отключают Защитник Windows:
- cmd /C powershell Set-MpPreference -DisableRealtimeMonitoring $true
- cmd /C powershell Set-MpPreference -MAPSReporting 0
- cmd /C powershell Set-MpPreference -SubmitSamplesConsent 2
- taskkill /IM MSASCuiL.exe
- cmd /C REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v HideSCAHealth /t REGDWORD /d 1 /f
- cmd /C REG ADD HKCU\Software\Policies\Microsoft\Windows\Explorer /v DisableNotificationCenter /t REGDWORD /d 1 /f
- cmd /C REG DELETE HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v SecurityHealth /f
- cmd /C REG ADD HKLM\SOFTWARE\Policies\Microsoft\Windows Defender /v DisableAntiSpyware /t REGDWORD /d 1 /f
- cmd /C REG ADD HKLM\SOFTWARE\Policies\Microsoft\Windows Defender /v AllowFastServiceStartup /t REGDWORD /d 0 /f
- cmd /C REG ADD HKLM\SOFTWARE\Policies\Microsoft\Windows Defender /v ServiceKeepAlive /t REGDWORD /d 0 /f
- cmd /C REG ADD HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection /v DisableIOAVProtection /t REGDWORD /d 1 /f
- cmd /C REG ADD HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection /v DisableRealtimeMonitoring /t REGDWORD /d 1 /f
- cmd /C REG ADD HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Spynet /v DisableBlockAtFirstSeen /t REGDWORD /d 1 /f
- cmd /C REG ADD HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Spynet /v LocalSettingOverrideSpynetReporting /t REGDWORD /d 0 /f
- cmd /C REG ADD HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Spynet /v SubmitSamplesConsent /t REGDWORD /d 2 /f
- cmd /C REG ADD HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\UX Configuration /v NotificationSuppress /t REGDWORD /d 1 /f
Отправка статистики
Во время работы загрузчик и шифровальщик отправляют электронные письма со статистикой на заранее прописанный адрес. В них содержатся сведения о текущем состоянии заражения и другая информация, в том числе:
- название компьютера;
- IP-адрес жертвы;
- путь к зловреду в системе;
- текущие дата и время;
- дата сборки зловреда.
Загрузчик отправляет следующие статусы:
Hello Install | Отправляется после загрузки шифровальщика или майнера |
Hello NTWRK | Отправляется после того, как загрузчик попытается распространиться по сети жертвы |
Error | Отправляется, если что-то пошло не так; содержит код ошибки |
Шифровальщик отправляет следующие статусы:
Locked | Показывает, что шифровальщик запустился |
Final | Показывает, что шифровальщик завершил работу |
Интересно еще и то, что у загрузчика есть ряд возможностей шпионского ПО — его сообщения содержат список запущенных процессов и вложение со снимком экрана.
Компонент-червь
После описанных выше действий загрузчик пытается скопировать себя на остальные компьютеры локальной сети. Для этого он выполняет команду «net view /all», которая выдает список всех общих папок. Затем троянец создает файл list.org, содержащий названия компьютеров с общими ресурсами. Для каждого компьютера из этого списка троянец проверяет, настроен ли общий доступ для папки «Пользователи», и в случае положительного результата копирует себя в папку \AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup каждого доступного пользователя, чем обеспечивает себе запуск на этой машине после перезагрузки.
Самоудаление
Прежде чем завершить свою работу, зловред создает скрипт, который удаляет все временные файлы, созданные во время заражения. Такое поведение достаточно часто встречается у вредоносного ПО. Наше внимание привлекла метка команды Goto — malner. Возможно, это слово возникло в результате слияния терминов malware (вредоносное ПО) и miner (майнер).
Вердикты при обнаружении
Наши продукты детектируют описанное вредоносное ПО со следующими вердиктами:
- Загрузчик: Trojan-Downloader.Win32.Rakhni.pwc
- Майнер: not-a-virus:RiskTool.Win32.BitCoinMiner.iauu
- Шифровальщик: Trojan-Ransom.Win32.Rakhni.wbrf
Кроме того, все образцы зловреда способен обнаружить такой компонент антивируса, как Мониторинг системы.
Индикаторы заражения (IoC)
Вредоносный документ: 81C0DEDFA5CB858540D3DF459018172A
Загрузчик: F4EC1E3270D62DD4D542F286797877E3
Майнер: BFF4503FF1650D8680F8E217E899C8F4
Шифровальщик: 96F460D5598269F45BCEAAED81F42E9B
URL-адреса
hxxp://protnex[.]pw
hxxp://biserdio[.]pw
Шифровать или майнить — вот в чем вопрос