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

Ранее вредонос не проявлял активности на территории стран СНГ, однако сейчас начал своё форсированное распространение. Так, недавно компания Solar JSCON зафиксировала несколько обращений российских заказчиков, пострадавших от HardBit. Информация о пострадавших остается конфиденциальной. Но Солар сообщает, что требуемый выкуп составляет около 25,000$. 

Как уже упоминалось ранее, вымогатель был впервые обнаружен в октябре 2022 года. Эта версия получила название HardBit 1.0 и была относительно простой, что с точки зрения устройства, что алгоритма шифрования. 

Но уже в ноябре 2022 года в сети появляется новая версия. Никто особо не заморачивался над неймингом, поэтому она получила название HardBit 2.0. И вот здесь всё уже было намного сложнее по очень простой причине. Вторая версия на несколько голов переплюнула не только себя прошлую, но и большинство современных вымогателей: продвинутый способ шифрования, серьёзные методы антианализа и воровство бэкапов данных. 

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

Но в отличие от коллег, со стороны Хардбита не было обнаружено никаких утечек конфиденциальной информации жертв.  

И вот после этого нас встречает тишина. Хардбит продолжает своё умеренное распространение, но практически никак не развивается. Такая тенденция продолжалась до марта 2023 года. Если я все правильно помню, то как раз где-то в это время в сети появляется LockBit Green (3.0) и забирает на себя все внимание. Возможно, именно из-за этого недостатка внимания вредоносу и удалось нехило так наворотить дел. Ведь спустя несколько месяцев всё инфопространство зарубежных СМИ будет завалено новостями от Хардбит.

Как уже упоминалось ранее, у авторов шифровальщика нездоровая любовь к страховым компаниям. Теории заговора строить не будем, мол, какой-то обиженный страховой индивид возомнил себя Робин Гудом и начал грабить во имя простого народа, но и исключать подобную вероятность не станем. Так вот, иностранные страховые компании были просто в шоке от происходящего и в итоге даже начали отказывать в выплате выкупа злоумышленникам, оставляя пострадавших пользователей на произвол судьбы. 

А злоумышленники ловко используют факт ненадежности страховых в свою пользу. Цитирую фрагмент текста из записки HardBit:

«Поскольку хитрый страховой агент намеренно ведет переговоры и затягивает процесс, чтобы не платить выкуп, в этой ситуации выигрывают только страховые компании, а вы теряете свои данные. Чтобы всего этого избежать, обязательно сообщите нам анонимно о наличии и условиях страховой защиты».

И вот на самом деле, я сижу и удивляюсь такому интересному подходу к вымогательству, который на подсознательном уровне располагает жертву к злоумышленнику. «Мы не хотим твоих денег, давай лучше ограбим страховую». 

Методы доставки вредоноса до сих пор четко не определены: некоторые источники утверждают, что злоумышленники создали целую фишинговую сеть для сотрудников компаний, а другие считают, что вирус использует уязвимости нулевого дня для своего распространения. Я больше склоняюсь к первому варианту и думаю, что здесь имеют место проработанные, возможно, даже индивидуальные фишинговые письма. Давайте считать, что доставка происходит аналогичным методом, как и у Covid-вымогателя Punshisher. Напомню, что там использовалось детально проработанное письмо с оригинальными печатями и подписями, якобы от министерств здравоохранения, в котором предоставлялся доступ к фальшивой программе для мониторинга активности Covid-19. Подробней можете почитать вот здесь.

В этой статье мы проанализируем самую новую версию этого вредоноса. Почему не все три? А потому что это достаточно новый шифровальщик и количество сэмплов сильно ограничено. Мне посчастливилось найти в открытом доступе только версию 2.0 и 3.0, соответственно.

HardBit 3.0: краткий статистический анализ

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

  1. DIE — Detect it Easy: многофункциональный инструмент, имеющий просто огромный арсенал. Позволит нам опередить тип компилятора вредоноса, язык, библиотеки и таблицы импорта/экспорта с последующим дизассемблированием. 

  2. PE Bear — неплохой инструмент для просмотра и редактирования составляющих PE-файла. 

  3. Tiny Tracer — утилита для динамического отслеживания исполнения бинарных элементов. Так называемый трейсер.

  4. IDA PRO — инструмент для реверс-инжиниринга. 

  5. Reko — декомпилятор, также знаком нам с прошлых статей.

  6. HollowHunter — утилита, распознает и сбрасывает множество потенциально вредоносных имплантов (замененные/имплантированные PE, шелл-коды, перехватчики, патчи в памяти).

Итак, перед нашими глазами находится исполняемый .exe файл весом в 354 КБ, что не очень много для вымогателя. При просмотре подробностей мы видим следующую картину: 

Да, это попытки замаскировать вредонос под легитимный процесс Windows, в данном случае Svchost, но больше всего удивляет исходное название файла. По классике, воспользуемся DIE, чтобы получить больше сведений о файле. И на этом моменте мне захотелось заплакать. Помимо того, что это 32-битный исполняемый PE-файл, написанный на .NET, здесь целых три протектора. 

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

Ещё из интересного — измененная дата компиляции. Многим этот метод уже известен и называется он TimeStomping.

Timestomping (или временная отметка) — это метод, используемый злоумышленниками для изменения временных меток файлов с целью сокрытия информации или обмана системы. Это техника, которая позволяет изменять даты создания, изменения или доступа к файлам, чтобы их вид и метаданные могли быть искажены. 

Безусловно, я обрадовался, что вредонос является библиотекой .NET, ведь они, по сути своей, являются конечным результатом компиляции кода на C#. К нашему счастью, мы с легкостью можем декомпилировать данный образец с помощью утилиты DNspy и провести анализ чистого исходного кода или, по крайней мере, чего-то близкого к нему. По крайней мере, так было бы, если бы не целых три неизвестных мне протектора. 

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

Бесподобно, 60 из 70 антивирусов видят в этом файле угрозу. 

Ну, давайте разбираться дальше. Переходим в DNSPy и нас сразу же встречает вакханалия. Точка входа не определяется, а при просмотре существующих функций мы видим вот это:

 Копирайтинг одного из протекторов или намеренное введение нас в заблуждение, ведь страницы этого Раяна в Фейсбук вовсе не существует. Дальше больше, теперь мы видим такую картину: 

Чтобы превратить все это в относительно читаемый код, придется проделать целую уйму манипуляций. Начнем мы с первого обфускатора.

DNGuard HVM — убираем первый слой защиты 

DNGuard HVM (High-Level Virtual Machine) — это достаточно старый инструмент для защиты и обфускации .NET-приложений. Он предоставляет разработчикам .NET средство для усиления безопасности своего кода и защиты его от несанкционированного доступа и атак на интеллектуальную собственность. DNGuard HVM включает в себя различные техники, такие как виртуальная машина высокого уровня (High-Level Virtual Machine), чтобы сделать анализ и модификацию кода более сложными для злоумышленников. Но главной его фишкой остается анти­отладка и анти­дамп, тоталь­ное шиф­рование всей информа­ции в модуле и весь­ма успешное про­тиво­дей­ствие ста­тичес­кому и динами­чес­кому ана­лизу. 

Этот протектор — наш злейший враг в сегодняшнем анализе.

Но эта проблема решаема. Для начала я решил попытаться запустить отладчик, и мне улыбнулась удача. Удалось найти точку входа приложения, эта информация будет крайне полезна на последующих этапах. Но дальше отладчик выдал ошибку «Error, DNGuard Runtime library loaded!» и процесс оборвался, что естественно. Попытка присоединить исполнение вредоноса к другому процессу и таким образом проследить хотя бы примерный порядок выполнения тоже терпит крах. 

Собственно, может, я знаю не всё, но библиотека .NET построена по принципу кросс-платформенного IL-кода, который хранится в метаданных, откуда подгружается по мере выполнения каждого метода или функции. Многие обфускаторы, включая и DNGuard, подменяют процедуры расшифровки IL-кода, тем самым вызывая небывалую вакханалию в таких реверсивных утилитах, как DNSPy. Это было описано очень грубо и сжато, более подробно почитайте вот здесь. 

К нашему счастью, ни один компилятор, даже если их три, не способен полностью подменить поток расшифровки и, в конечном итоге, данные все равно передаются на mscorlib.ni.dll. И его можно перехватить с помощью какого-то простенького деббагера, чем мы, собственно, и будем заниматься. Другого пути здесь попросту нет, уровень и качество девиртуализации DNGuard на порядок выше, чем у того же KOIVM, с которым мы имели дело раньше. 

В качестве деббагера будем использовать x64dbg. Сразу же загрузим наш образец и попытаемся узнать, какие строковые константы используются. щем в списке загруженных библиотек строку ntdll.RtlUlonglongByteSwap и ставим на неё точку останова и удаляем дефолтную точку останова. И теперь в журнале мы можем найти примерную последовательность работы вредоноса, хотя и очень смутную. то мало, что нам дает. Я определил, что участок, отвечающий за перенаправление потока дешифровки, находится по адресу 772F309D, а значит, нам нужно отделить его от основной части кода. Делается это путем удаления этой формации, по крайней мере, я не придумал другого метода, кроме как прописать везде NOP. 

Теперь, чтобы уменьшить количество затрачиваемого времени, мы можем воспользоваться DNGuard Unpacker, который представляет собой что-то типа простенького деобфускатора. Но я крайне не советую его использовать: хоть он и может упростить жизнь, он слишком привязан к старым версиям .NET-Фреймворка и может давать далеко не идеальный результат. 

Но в нашем случае он сработал прекрасно: при просмотре через DNSpy, можно заметить, что количество мусора значительно уменьшилось, однако впереди ещё два протектора.

На этом этапе я решил прекратить собственные мучения с обфускаторами и обратился к человеку, который разбирается в этом больше. Да и описывать все это нет необходимости. 

Непосредственно HardBit 3.0 

И на этом этапе я могу четко сказать, что последняя версия этого вымогателя явно основана на предыдущей, так как у них очень много сходств. 

Алгоритм работы вредоноса можно описать в следующих пунктах: 

  1. Сбор информации и закрепление себя в системе. 

  2. Связь с C&C сервером и передача данных. 

  3. Непосредственно шифрование. 

  4. Заметание следов. 

Сбор информации и закрепление себя в системе

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

 %appdata%\Microsoft\Windows\Start Menu\ Programs\Startup\svchost.exe

Говоря простым языком, это автозагрузка. Также будет создан новый ключ в реестре Windows, выполняющий аналогичную функцию: 

HKEY_CURRENT_USER\Software\Classes.hardbit3

Сбор информации о системе происходит путем использования системных вызовов. Так вызов NtBuildNumber предоставит информацию о номере сборки Windows, а вызов NtQueryPerformanceCounter отвечает за информацию о характеристиках системы. 

Не очень ясно, почему, но вредонос запускается только на современных системах. Попытавшись запустить Хардбит 3.0 на Windows 7, я не получил никакого результата. А вот версия 2.0 работает прекрасно. 

Затем будет сгенерировано значение client_id, которое дальше будет использовано в качестве пароля для алгоритма шифрования AES-256 CBC. А также как RSA-ключ. 

Далее Хардбит проверит, подключен ли компьютер к интернету, просто пингуя google.com, а передача информации происходит с помощью функции send_data_to_c2. 

Непосредственно шифрование

На самом деле, меня удивила простота этого шифровальщика. Пока что он не показал чего-то особенного. Как уже упоминалось ранее, Хардбит использует алгоритм AES-256 CBC по стандарту PBKDF2. 

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

AES (Advanced Encryption Standard) — это современный симметричный алгоритм шифрования, который широко используется для защиты данных. AES-256 означает, что этот алгоритм использует 256-битные ключи для шифрования и расшифрования данных.

CBC (Cipher Block Chaining) — это режим работы для алгоритма AES. В режиме CBC данные разбиваются на блоки, и затем каждый блок шифруется с использованием предыдущего зашифрованного блока. Это обеспечивает дополнительный уровень безопасности.

PBKDF2 (Password-Based Key Derivation Function 2) — это функция, используемая для производства ключей из паролей или других секретных данных. PBKDF2 обычно применяется для укрепления паролей, чтобы сделать процесс брутфорса (попыток угадать пароль) более сложным. Он принимает входные данные (например, пароль) и создает из них криптографический ключ путем многократного хеширования.

AES-256 CBC по стандарту PBKDF2 — это сложный процесс, простыми словами его описать можно так: сперва пароль проходит через хеширование PBKDF2 для создания сильного ключа, который затем используется для шифрования и расшифрования данных с помощью AES-256 в режиме CBC. 

Хорошо, когда такие методы используются действительно для защиты данных, но когда их используют во вред — это печально. К слову, подобный метод использовал и MSI вымогатель Magnibar, но тот метод был немного проще. 

В качестве значения Initialization Vector(IV) используются значения, жестко заданные в коде: 

Initialization vector (IV) — вектор инициализации, представляет собой произвольное число, которое может быть использовано вместе с секретным ключом для шифрования данных.

Ну и процесс шифрования происходит относительно просто: сперва происходит инициализация ключа, которая осуществляется посредством функции aes_l_levelkegen, затем используется инструкция AESKEYGENASSIST для помощи обнаружения контекста ключа. О ней можете почитать вот здесь.

А после всего этого загружается блок данных и шифруется раундами посредством функции AESEC, подробнее описано тут. Процесс завершается инструкцией AESENCLAST, и о ней почитать можно вот здесь.

Типы данных, которые необходимо шифровать вредоносу, также жестко заданы в самом коде:

arc asf avi bak bmp fla flv gif gz iso jpeg jpg mid mkv mov mpeg mpg paq png rar swf tar tbk tgz tif tiff vcd vmdk vob wav wma wmv zip. 

После процесса шифрования, вредонос выполнит достаточно банальные для своего семейства действия, а именно: 

  1. Установка кастомного фонового изображения.

  2. Помещение записки о выкупе во все директории, где производилось шифрование, и её открытие.

(3.0 не запустилась на виртуальной машине)

Выводы 

Да, здесь только анализ Хардбит 3.0. К сожалению, для второй версии попросту не хватает места. Статья уже достаточно обширна, поэтому оставим вторую часть на потом. 

На данный момент шифровальщик HardBit 3.0 обнаруживается практически всеми антивирусными приложениями, но надеяться лишь на это я бы не стал. Ведь стоит злоумышленникам лишь немного изменить исходный код, и никакая защита, кроме вашей головы, уже не поможет. 

Но что действительно обнадеживает, так это неплохая защита исходного кода вредоноса, которая практически полностью исключает возможность появления «пользовательских» модификаций данного шифровальщика. 

Что касается тех, кто уже стал жертвой Хардбит, то все достаточно просто. Компания Solar специально разработала дешифровщик для вас. Но это работает лишь для версии 2.0 и 3.0, так как у них схожий алгоритм работы. Первая же версия не используется злоумышленниками и вряд ли вы станете её жертвой. 

Декриптор, как всегда, вы сможете найти на портале NOMORERANSOM, там предельной простой интерфейс, и объяснять что-то будет излишним. Для очистки системы и полного удаления вредоноса  могу посоветовать следующие инструкции.

Автор статьи @DeathDay


НЛО прилетело и оставило здесь промокод для читателей нашего блога:

— 15% на заказ любого VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.

Комментарии (11)


  1. Blacklynx
    12.10.2023 09:19

    Шифровальщики не отправляют никаких файлов на С2. Эксфильтрируют данные в основном вручную операторы, в том числе с помощью легитимных утилит, когда уже сидят на жертве. Потом запускают локера.


  1. 3ycb
    12.10.2023 09:19
    -1

    И опять Виндовый интерфейс у пострадавших.
    Хабр и обзорщики и исследователи, почему вы никогда не приводите подобных статей с исследованиями, пострадавщих на UNIX подобных системах? (пострадавших не от своей рукожопости, а именно от зловредов на Линуксе)
    Можете не отвечать, это был риторический вопрос. Я прекрасно знаю ответ.


    1. DGG
      12.10.2023 09:19
      +1

      Ну как бы есть огромное количество ботнетов построенных на linux-серверах, роутерах, ip-камерах и т.п.

      Это тоже зловреды.


      1. 3ycb
        12.10.2023 09:19
        -1

        Это тоже зловреды.

        А кто ж спорит, что в Линуксах их нет? Речь ведь не об этом. И как же зловреды попадают на линукс сервера? А роутеры, IP-камеры и всякий Интернет Вещей не входит в предмет нашего обсуждения, ведь речь идет о компьютерных системах фирм и предприятий. Запарился повторяться, но вот мой коммент к другой статье:


        Сотрудник открыл письмо и запустил вложение

        Опять Винда. Сколько можно талдычить, уберите Винду глубоко внутрь системы(без связи с наружным контуром), открывайте все в предварительно настроенной CDLive Линукс-песочнице и 99% всех таких инцидентов исчезнет. Останутся какие нибудь особые, редкие случаи на уровне статпогрешности и то, скорее всего из-за явной рукожопости. Я осознаю, что Линукс не панацея, да я знаю, что в нем есть зловреды и вирусы, но здравый смысл говорит мне, что по результатам сравнения легкости заражения и ущерба, Винда в этом смысле — катастрофа. но Мышки плакали и кололись…
        Вот может ли кто-нибудь, кто в теме, сделать обзор, сравнение, по соотношению количества приведенных на Хабре статей-исследований, между зловредами на Винде и Пингвине? Только действительно исследований, а не констатации факта, что в Линуксе/Андроиде есть вирусы. Такие обзоры более менее показывают "уровень вредности" и "количество ущерба" от зловредов на Винде, по сравнению с зловредами на ЮНИХ-Линукс. Я давно читаю Хабр и стараюсь не пропускать такие статьи-исследования про зловредов. Мое субъективное мнение, практически уверенность, что 99.99% этих обзоров про Винду, точнее 100%, но я осторожно оставил 0.01% на свою невнимательность.


        1. Arhammon
          12.10.2023 09:19
          +2

          При всей дырявости(админские права пользователей, втыкание в компьютеры каких попало флешек итп.) тех систем с которыми работал и работаю, в живую, со времен висты, не видел ни одного зловреда.

          А уж грамотно настроенные с точки, зрения безопасности, системы вряд ли будут иметь статистически значимые отличия Винда/Линукс.


          1. 3ycb
            12.10.2023 09:19

            в живую, со времен висты, не видел ни одного зловреда.

            И я не видел(точнее раз умудрился заразиться в 1992г в DOS), но это не доказывает равную безопасность или опасность в матче "Форточки":"Пингвины". Мы с Вами не репрезентативная выборка. А общая картина, статистически так сказать, показывает, что подавляющее превосходство у Пингвинов и это нельзя объяснить, тем что Винды в мире тупо больше. Такое объяснение прокатывало лет 15-20 назад(тогда, я бы с этим согласился). Либо существует мировой заговор и все тщательно расследуют только инциденты на Виндах, а про Линуксы только вскользь.


            А уж грамотно настроенные с точки, зрения безопасности,

            Так а я о чем? Поставить LiveCD Убунту в первую линию обороны не требует суперпупер усилий и вложений. С этим справится мамкин студент IT-шник. А пользы, с точки зрения, эффективности и затраченных усилий, по сравнению с ущербом от "кликнул ссылку в Винде" будет несоизмеримо больше. Вот моя аналогия: Это типа презерватив(Линукс) против Мирамистина(Винда). Мирамистин от ВИЧа не спасет, а презерватив да. Но признаю, что презерватив может прохудиться или если верить сообщениям, что латекс проницаем для каких-то субстанций(не знаю, не спец ни разу) Но практика(статистика) показывает, что с презервативом гораздо безопаснее, чем без. Естественно, что эта аналогия относится не только к ВИЧ, но и ко всем вен.заболеваниям и всяким трихомонадам. Простите меня медики и не бейте больно, я не врач, я обыватель.


            1. Arhammon
              12.10.2023 09:19

              И я не видел(точнее раз умудрился заразиться в 1992г в DOS),

              До висты, MSSE, это все массово гуляло начиная от порнобаннеров с которыми приходили чуть ли ни каждый день.

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

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

              Если хорошо копнуть - проблема будет в общей системе безопасности, а не в том, кто сильнее слон или кит... а здесь уже:

              С этим справится мамкин студент IT-шник

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


              1. 3ycb
                12.10.2023 09:19

                Раз уж любите аналогии, по статистике самый безопасный транспорт — самолет.

                Не, не, не. Давайте тогда сравнивать две сопоставимых модели самолета "из коробки" или две модели машины сопоставимого класса "из коробки" тоже. Ваша аналогия хромает в том, что самолет и машина, это не равноценные виды транспорта. Действительно, как кит и слон. А Винда и Линукс, это "одно и тоже"


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

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


          1. 3ycb
            12.10.2023 09:19

            При всей дырявости(админские права пользователей, втыкание в компьютеры каких попало флешек итп.) тех систем с которыми работал и работаю, в живую, со времен висты, не видел ни одного зловреда.

            Кстати, уже не в качестве полемики, а как удивительный курьез. Я в 1992г, в DOSe умудрился заразить свой первый 386(кажется, может 286, склероз) Уму не растяжимо, каак. Наверное, в лотерею проще выиграть. Дали 5" дискетку с игрушкой и ку-ку, пришлось переустанавливать ОС. Причем уверен, что это был именно зловред, а не просто поломка. Я ради интереса повторил свой эксперимент. Запустил опять ту злосчастную игрушку и снова потом переустанавливал DOS.


    1. GospodinKolhoznik
      12.10.2023 09:19

      Почему же? Периодически мелькают статьи про вирусы и трояны на Андроиде.


      1. 3ycb
        12.10.2023 09:19

        И много вы видели рабочих станций на Андроиде в офисах и конторах?