Статья Ужас страховых компаний шифровальщик HardBit 3.0: при чем здесь Игорь Войтенко и психологический подход к делу — история, анализ. Часть 2

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

1722412719984.png

Приветствую, это вторая часть анализа Хардбит 3.0. В прошлой части мы разобрались с хронологией появиления этого вредоноса, а также с его краткой историей. Создатели шифровальщика HardBit, специализирующегося на атаках на страховые компании, выходят на контакт с жертвами и определяют сумму выкупа индивидуально, часто равную страховке. HardBit существует более двух лет, но активизировался в конце 2023 года, когда российские заказчики начали сообщать о требованиях на сумму более 25 000 долларов. Первоначальная версия была неэффективной, но HardBit 2.0, выпущенная в ноябре 2022 года, и версия 3.0 в середине 2023 года продемонстрировали значительный прогресс. Злоумышленники используют страховые компании в качестве целей, манипулируя жертвами. Первая часть.


Дисклеймер

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

DNGuard HVM что же ты за чудовище такое
В целом, DNGuard HVM создаёт сложные условия для анализа и взлома программного обеспечения, эффективно защищая его от реверс-инжиниринга и отладки за счёт использования технологий виртуализации и обфускации.

Убрать его достаточно сложно, но возможно. Таким образом мы можем воспользоваться каким-то простеньким деббагером, ведь в конечном итоге поток выполнения всё ещё проходит через mscorlib.ni.dll, и единственная наша надежда - это перехватить его.
Screenshot_16.png


С этой шляпой будет труднее иметь дело, чем с каким-то там KOIVM.

Для сие манипуляции мы воспользуемся x64dbg.

x64dbg — это популярный и мощный отладчик для Windows, предназначенный для анализа и отладки исполняемых файлов в 64-битной архитектуре, но также поддерживающий и 32-битные приложения. Он является открытым и бесплатным инструментом, предоставляющим широкий спектр возможностей для реверс-инжиниринга и отладки программного обеспечения.

Сперва нам нужно узнать какие строковые константы используются в этом образце, сделаем мы это следующим образом:
  1. Удаляем предыдущую точку останова и ищем в списке загруженных DLL - ntdll.RtlUlonglongByteSwap.
  2. Устанавливаем новую точку останова на ntdll.RtlUlonglongByteSwap, а затем запускаем отладку.
Screenshot_17.png


Теперь в журнале отладки, мы можем найти смутную последовательность работы вредоноса, но она нам мало что дает. На этом этапе я могу лишь очертить следующий список, который отражает общий алгоритм:
  1. Сбор информации и установка: Вредоносное ПО собирает данные о системе и устанавливает себя, обеспечивая свое постоянное присутствие в ней на случай экстренных ситуаций.
  2. Связь с сервером управления (C&C): Вредоносное ПО устанавливает связь с сервером команд и контроля (C&C) для передачи собранных данных и получения дальнейших инструкций.
  3. Шифрование данных: Вредоносное ПО приступает к процессу шифрования данных на зараженной системе.
  4. Удаление следов: Вредоносное ПО удаляет следы своего присутствия, чтобы затруднить обнаружение и анализ. Да, пришел, зашифровал и удалился.

Далее мне удалось обнаружить участок, который отвечает за перенаправление потока дешифровки, который находится по адресу 725D359D. Отделяем его от остального кода, проставляя везде NOP. Ничего лучше не придумал. Затем перехватываем перенаправление и получаем далеко не идеальный, но исходный код вредоноса. Также существует и утилита DNSGuard Unpacker, которая работает крайне нестабильно и привязана к старым версиям фреймворка, но в данном случае работает отменно. Если сравнивать то, что мы получили вручную с тем, что предоставляет на Unpacker, то мануально выходит все же точнее, но намного дольше.

На оставшиеся два протектора особо не будем обращать внимания, по одной очень простой причине. На каждый из них есть хороший деобфускатор. Смекаете?

Сбор информации и установка

Как и большинство современных вредоносов, Хардбит предпочитает закрепиться в системе жертвы, но не на длительный период. Сразу же после запуска, вредонос предпочитает добавить себя в дефолтную папку автозагрузки:
Код:
%appdata%\Microsoft\Windows\Start Menu\ Programs\Startup\svchost.exe

А также создать соответствующий ключ в реестре Windows:
Код:
HKEY_CURRENT_USER\Software\Classes\.hardbit3


Далее вредонос начнет собирать информацию о системе, что вполне логично, вредонос использует системный вызов NtBuildNumber для получения информации о сборке Windows. Примечательно, что на этом этапе шифровальщик может прекратить свою жизнедеятельность. А всё потому что он запускается только на конкретных сборках Windows 10 или Windows 11. Далее будет использован один из самых частых системных вызовов для сбора информации, а именно NtQueryPerformanceCounter, грубо говоря все технические характеристики вашей системы будут известны оператору вредоноса.

Screenshot_18.png


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

Код:
id = sha1("Baseboard Intel
Corporation VM201.00V.20648489.B64.2210180829VMware, Inc.INTEL - 6040000Intel(R) Core(TM) i7-10510U CPU @
1.80GHzGenuineIntelOF8BFBFF000806ECIntel(R) Core(TM) i7-10510U CPU
DRIVEO(Standard disk
drives)VMware Virtual NVMe DiskVMware SVGA
3DVideoController19.17.4.19224AAAFOC80 E36 F5164EF5F2CF192340080")

А после вся эта информация будет преобразована в хэш SHA-256. Полученное значение будет использоваться не только как идентификатор жертвы в таблице на C&C сервере, но и как RSA-ключ.

Связь с сервером управления (C&C)

Здесь все реализовано очень типично, нет постоянного коннекта, после закрепления и генерации ID, вредонос проверит подключено ли устройство к сети. Простым пингованием google[.]com. За передачу данных отвечает функция send_data_to_c2, что снова таки логично, функция организовывает POST запрос с ранее собранными данными. Адрес командного сервера жестко указан в конфиге вредоноса в виде Base64.

Шифрование данных

Итак, шифровальщик что делает? Шифрует. Это происходит обычно в соответствии с каким-то алгоритмом, допустим AES-128. В случае же Хардбита это AES-256 в режиме CBC, но по стандарту PBKDF2.
AES-256 CBC с использованием PBKDF2 представляет собой сложный процесс, который можно объяснить следующим образом: сначала пароль проходит через хеширование с помощью PBKDF2 для создания надёжного ключа. Этот ключ затем используется для шифрования и расшифрования данных с помощью алгоритма AES-256 в режиме CBC.

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

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

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

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

Типы данных, которые необходимо шифровать вредоносу, также жестко заданы в самом коде:
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.

Удаление следов

Так вот, на этом этапе происходит ещё кое-что. А именно отправка копии данных на командный сервер, делается это достаточно просто, POST запрос через функцию send_data_to_c2.

Также после завершения шифрования вредоносное ПО выполнит несколько типичных для своего типа действий. В частности, оно:
  1. Установит кастомное фоновое изображение.
  2. Разместит записку с требованием о выкупе во всех директориях, где происходило шифрование, и обеспечит её открытие.
После этого, шифровальщик удалит свою копию в автозагрузке, удалит все записи в реестре Windows и завершит свою работу. Вот так просто.

Выводы

Вот такой вот индивид у нас побывал на анализе. Вредонос весьма интересный не технической частью, а именно своим подходом к работе с жертвами. Это уникально, когда шифровальщик с таким большим количеством жертв, все ещё способен проводить тонкие манипуляции с каждым клиентом. И это не просто общение на уровне “гони бабки, сука”. Нет, это индивидуальный и вежливый подход. Чертовски интересно.
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!