Часть 3: CelestialClient

circle-info

Однако рано радоваться, программа всё ещё отправляет запрос на https://ip-api.com/line/?fields=hostingarrow-up-right, но не запускается.


Переносим файл в Detect It Easy (DIE) и видим знакомую картину:

.NET файл, защищённый протектором ConfuserEX версии 1.x.

Открываем файл в dnSpy — как и в прошлый раз, вероятно, найдём больше информации.

Видим название продукта: CelestialClient
Протектор той же версии: Confuser.Core 1.6.0+447341964f

Снимаем Anti-Tamper защиту тем же методом, что и в прошлый раз.


Пропустим повторное описание процесса и сразу перейдём к очищенному файлу в dnSpy. Однако, тут я уже без всяких точек останова сталкиваюсь с FailFast.


Как и ранее, ищем, где метод с FailFast используется в коде и ставим там точки останова.


Ожидаемо срабатывает одна из точек останова, но при выполнении следующего шага я снова ловлю FailFast.

Тут я решаю пойти альтернативным путём и ставлю точку останова чуть выше, чтобы не искать метод за методом.


И... Этот подход сработал. После нескольких шагов я обнаруживаю WMI объект, который выдает мою виртуальную машину.

Обнаружили, что проверяется объект Win32_DisplayConfiguration

Оказывается, вредоносное ПО ищет слово "basic" в параметре Description объекта Win32_DisplayConfiguration.


Если оно там есть, программа считает, что она запущена в виртуальной среде.


Для подмены создаём файл display_bypass.mof с настройками, клонирующими параметры нашей основной машины на Windows.


Компилируем .mof файл командой mofcomp .\display_bypass.mof.


Пробуем снова пройти проверку, и... Вредоносное ПО запустилось! Ура!


circle-check

Last updated