Что такое полиморфный криптор

Что такое полиморфный криптор

Фреймворк криптора/протектора с антиэмуляцией

На самом деле много людей интересуется протекторами и вирусными технологиями. Кто-то хочет заработать, кто-то хочет повысить скилл в кодинге, кому-то просто это нравится и считается, что это своего вроде исскуство.)

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

Так-как неизвестно-кто будет этим проектом пользоваться и кто прочитает эту статью, начнем с небольшего ликбеза.)

Очень нравится, что про это дело говорил Вазонез (До ухода в реал):

Криптор (aka cryptor) — это тулза, которая предназначена для скрытия троянов, ботов и прочей нечисти от детектирования антивирусами.

Крипторы можно разделить на 2 вида: хорошие и дерьмовые:

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

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

Чаще всего такие крипторы полиморфны — т.е. код криптора в криптуемой программе каждый раз уникален, заполнен случайными инструкциями и бессмысленными вызовами функций API. Такие крипторы достаточно долго остаются недетектируемыми в силу уникальности каждого закриптованного файла.

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

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

Антивирусы эволюционируют, появились новые технологие защиты (А именно детекты по поведению, детекты по репутации и т.д.), в частноти против крипторов появилась технология сканирования процессов, если вкратце, то антивирус либо сразу перед созданием процесса, либо через какое-то время сканирует процесс.

Тем самым понятно, даже если обойти эмулятор антивируса и сигнатурный детект, мы попадем под детект процесса.

Менять технологию скрытия детекта, вот следующие решения:

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

Морфить код, если вкратце, это самомодификация кода на лету (Данный метод реализован в этом крипторе).

Честно я так и думал, до недавнего времени, но это несовсем так:

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

Во вторых не все антивирусы детектят код в памяти, например виндовый дефендер как-то криво с этим работает.

Некоторые антивирусы дают запустить процесс на пару секунд, а этого и может хватит кстати.)))

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

Теперь про конкретный проект, что он делает:

Поэтому решил я сделать проект, где-бы сам криптованный зверек размещался-бы в дата-секции, т.е. есть программа (я назвал её shell_gen), которая из бинарного файла, делает пошифрованный массив байт и в общем-то больше ничего не делает.)

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

Для достижения метаморфизма, shell_gen генерирует заголовочный файл, со следующими дефайнами:

#define START_MORPH_CODE 5

#define END_MORPH_CODE 14

На основе этих значений при сборки, генерируется «мусорный код» (Математичесие операции и т.д.), который будет случайным, после каждого вызова shell_gen и сборки.

Тем самым код будет разный, как по коду, так и по данным.

Сам криптор (x86_pe_cryptor) имеет модульную структуру:

1)modules/lazy_importer/

Модуль скрытия API из таблицы импорта. Пример использования:

auto base = reinterpret_caststd::uintptr_t(LI_FIND(LoadLibraryA)(kernel32));

LI_GET(base, VirtualFree)(pFile, 0, MEM_RELEASE);

2)modules/murmurhash/

Реализация вычисления хеша murmurhash на ассемблере (FASM, приложен к проекту).

3)modules/trash_gen_module/

Реализация модуля, для генерация случайных инструкций, генерации случаных API винды и получение случайного числа на ассемблере (FASM, приложен к проекту), более подробное описание здесь:https://github.com/XShar/simple_trashe_gen_module

4)modules/xtea/

Реализация алгоритма шифрование xtea на ассемблере (FASM, приложен к проекту).

5)modules/run_pe/

Реализация функции запуска, расшифрованного массива PE-файла в памяти, путем создания процесса.

6)modules/antiemul/

7)modules/metamorph_code/

Функции метаморфинга. Смысл, что при сборки, генерируются функции в случайном порядке, функции берутся в modules/metamorph_code/morph.cpp.

8)modules/simple_mutate_pe/

Функции мутации PE перед запуском.

Характеристики получившегося криптора:

1)Отстутствуют «опасные API» в таблице импорта (Такие-как CreateProcess и т.д.).

2)Имеет антиэмуляцию, направленную на привышение лимитов эмулятора антивирусов:

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

Получение ключа для расшифровки, следующим образом:

Генерируется массив случаных чисел от 0 до 9, далее генерируется хеш этих чисел, хеш генерируется на основе числа, сгенерированного при создании зашифрованного массива защищаемого файла. Далее сортируется массив от 0 до 9, т.е. в итоге у нас получается хеши от числел 0-9. Отсортированные по порядку, это и будет ключ. В момент генерации ключа, также в случайном порядке генерируется мусор из случайных инструкций и вызовов API.

3)При сборки, в main и в модулях:modules/run_pe/, modules/trash_gen_module/ генерируются функции в случайном порядке, функции берутся в modules/metamorph_code/morph.cpp (На данный момент там функции арифметических операций). Тем самым достигается полиморфность не только данных, но и кода каждого образца.)))

4)Перед запуском происходит мутация запускаемого PE, что позволяет обойти детект в памяти у некоторых антивирусов.

Как работать с криптором:

Есть два проекта в Visual Studio 2017 или более новой:

Для работы необходимо сделать следующее:

1.Переименовать защищаемый файл в «data_protect.exe» и поместить его в shell_gen/Release/

2.Запустить файл shell_gen/Release/shell_gen.exe

3.Собрать проект x86_pe_cryptor в Visual Studio 2017 или более новой.

Всё, в /x86_pe_cryptor/Release/x86_pe_cryptor.exe будет сам криптор.)))

Проект будет обновляться, что планируется:

3)Что-то ещё, в зависимости от активности на форуме.)))

Источник

Полиморфный криптор-обфускатор JavaScript/HTML/VBS

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

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор
Скрипт написан на php и предоставляется в обфусцированном виде в открытом виде с 6 марта 2014 года. Скрипт был слегка доработан, поправлены мелкие косяки, теперь он без проблем запускается на последних версиях PHP.

Скачать: ZIP (пароль на архив: kaimi-ru)

Полиморфный криптор-обфускатор JavaScript/HTML/VBS: 61 комментарий

Да, крутая вещь!
Как я понял, у вас именно «Полиморфный» метод криптовки, а не сам код, полученный после криптовки.

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

А что у нас с jQuery (со своим кодом, а не фреймворка)?

Надо пробовать, может, и заработает.

C Jquery не работает, было бы не плохо, если бы этот криптор можно было подключить в свои скрипты, чтобы каждый раз новый код отдавался.

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

Выложи, буду благодарен.
Можешь на мыло скинуть, если сюда не хочешь выкладывать.

rushter:И ты тут сцуко!

Выложу ближе к выходным. Криптор-то обновлялся, а файлик с функцией я еще не обновлял.

Если еще тут кто-то читает комменты, все еще хотелось бы одной функцией.

Коменты читают, просьбы не всегда выполняют.

dx помоги пожалуйста с квестом 15 уровень. Уже все перепробовал. Всю ночь сидел не получилось. Получился экзешник, который открывается и играется новогодняя песня и написано “Almost there”. Намекни хоть что дальше

Советую поработать с ресурсами)

Ну там же ничего нет.(
Подскажи прогу чем разобрать

Дизассемблером. А в ресурсах есть, просто не совсем открыто)

PE Explorer пойдет?

Сил нет. Хоть скажи в каком он виде?

Дизассемблер или отладчик нужен по-хорошему. Там кода-то всего ничего. OllyDbg подойдет. Хотя можно и другим, более простым софтом обойтись, но я не скажу, каким, а то прямо сразу ответ получается 🙂

Ну хоть закрой название софта маской. А то OllyDbg довольно сложен для меня, так как я немного в другой области работаю)

Да, понажимать F8 и попалить память так сложно. )

Т.е мне необходимо только окно CPU?

Или скажи где память?)

ппффф.помоги пожалуйста.сил нет уже)

Ответ как то связан с древнеримским леятелем?

Расшифровал обфускацию, смотрю там curl, file_put_contents я аж O_o
Потом понял что:
if((2229+933)>2229|| imagecopymerge($bcv,$cvv,$name44));
else
(1258-1258+1772-1772)?curl_setopt_array($name30,$zv,$wv,$name2):mt_rand(1258,3836);

Оптимизированный код, чё сказать)))))))))))))))

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

Ну я сказал что «Потом понял что:» (понял что они не выполняются) =)
«Обфускацию ты не расшифровал» не, я расшифровал http://zalil.ru/30861069 (пас на rar в icq скинул)

Слушай, а как им пользоваться?
Просто, залить на сервер и подключить к скриптам?
Подскажи, пожалуйста, а то я php не оч. хорошо знаю.

Залить и запустить как обычный пхп-скрипт.

ну с java скриптами ясно, а как им vbs скрипт криптануть? Сколько не тыкал ничего не выходит(

VBS не криптуется как таковой, криптуются vbscript’ы внутри хтмл-страниц

2 dx
Спасибо за разъяснения.

пацаны а он exe шники криптует или нет?

или кто знает где достать полиморфный криптор ехе шников.приватный с последующими чистками.напишите.оплачу посредника.деньги есть

моя аська 609-836-270

Автору большая благодарность за данный софт, мне он очень помог!
Но я также хотел бы спросить по поводу полиморфного криптора, у кого можно купить было бы для exe и если можно dll файлов. Автор если знаешь где купить или у тебя мб есть то отпиши на мыло пожалуйста.

Олег решил трояны криптовать =) на злом поищи, там каждый второй или продает или криптует

С новым годом вас, ребята!

аналогично нужно, dx. Не нашёл? Так бы и под заказ снова заказал

Спасибо что ответил d_x, ато твои контакты нереально достать. =). Друзья твои не дают, говорят нельзя попросту тревожить.
Буду очень признателен если в скором времени скинешь скрипт в личку.
ООООчень он нужен.

D_x дай кошелек. Я бы скинул копейку за помощь. Просто срочно нужна функция. Дай пожалуйстаФ

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

Спасибо! Лучше обфускатора для JS я не видел. А как ты относишься, автор, к переводу твоего PHP скрипта в скрипт JS и пакет в NPM?

Не за что, отношусь нейтрально, так как не вижу в этом особого смысла.

Ага, забыли только написать, что яндекс после этого определяет сайт, как вредоносный Troj/Iframe-DN

5 летний способ обфускации, которые за этот срок использовали все кому не лень, оказывается, стал определяться как вредоносный? Невероятно!

Источник

Исследование: какие способы обхода антивирусов используют хакеры

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

Для решения этой проблемы хакеры используют техники упаковки, шифрования и мутации кода. Такие техники часто реализуют отдельные инструменты — «крипторы» (crypters) или просто «пакеры». В этой статье на примере банковского трояна RTM мы рассмотрим, какие «пакеры» могут использовать злоумышленники и как эти «пакеры» осложняют обнаружение ВПО.

Полная версия данного исследования доступна по ссылке.

Packer-as-a-service

Хакерская группа, стоящая за распространением RTM, до конца 2020 года регулярно проводила массовые фишинговые рассылки с вредоносными вложениями. Этот процесс, по всей видимости, происходил автоматически.

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

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный крипторПример архива RTM

Подобная особенность — естественное следствие применения «крипторов». Первоначально группа, стоящая за RTM, использовала свой собственный уникальный «криптор», однако в течение 2020 года дважды его сменила.

При исследовании по-новому упакованных образцов нам удалось обнаружить множество другого ВПО, которое было защищено аналогичным образом. Пересечения с другими вредоносами с учетом автоматизации процесса упаковки, на наш взгляд, позволяют говорить об использовании злоумышленниками модели packer-as-a-service. В этой модели упаковка вредоносных файлов делегируется специальному сервису, которым управляет третья сторона. Доступ к таким сервисам часто продается на хакерских форумах.

Rex3Packer

Первое использование этого пакера группой RTM, которое нам удалось обнаружить, относится к ноябрю 2019 года. Активное же его применение, по нашим данным, приходится на период апрель—май 2020 года.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный крипторФишинговое письмо RTM, январь 2021

Нам не удалось связать этот упаковщик с каким-либо из ранее описанных публично, поэтому мы дали ему свое название по трем особенностям его устройства: наличию рекурсии (recursion), реверса битов (reverse) и рефлективной загрузки PE-файлов (reflection) — Rex3Packer.

Алгоритм распаковки

Общий алгоритм извлечения полезной нагрузки выглядит так:

С помощью VirtualAlloc выделяется заранее определенное количество памяти с правами на чтение, запись и исполнение.

Управление передается на функцию внутри буфера.

Вычисляется разница между положением одних и тех же данных в буфере и в образе PE-файла (разность между адресами в буфере и виртуальными адресами в образе). Эта разность заносится в регистр ebx. Все обращения к виртуальным адресам в коде проиндексированы содержимым этого регистра. За счет этого везде, где это необходимо, к адресам из PE-образа добавляется поправка, которая позволяет получить соответствующий адрес в буфере.

Выделяется еще один буфер под упакованные данные.

Через вызов VirtualProtect устанавливаются права RWX на весь регион памяти с образом PE-файла.

Упакованные данные копируются в свой буфер.

Происходит декодирование упакованных данных.

Регион памяти с образом PE заполняется нулевыми байтами.

Декодированные данные представляют собой исполняемый файл — PE-нагрузку. Эта полезная нагрузка рефлективно загружается на место исходного PE-образа, а управление передается на ее точку входа.

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

Непосредственно упакованным данным предшествует заголовок размером 16 байт, который содержит 4 поля по 4 байта:

размер самого заголовка,

размер исходных данных (PE-нагрузки),

позиция в исходных данных (*), по которой происходит их разделение,

режим кодирования (1, 2, либо 4).

Декодирование выполняется следующим образом:

Внутри каждого байта выполняется реверс порядка битов (к примеру, 10011000 становится 00011001).

В зависимости от режима кодирования (1, 2, 4), данные разбиваются на блоки размером N = 9, 5, либо 3 байта соответственно. Результат декодирования блока — это (N – 1) байт (то есть 8, 4, или 2).

В первых N-1 байтах блока отсутствует часть битов: их значения всегда равны нулю. Чтобы восстановить оригинальные байты, с помощью масок вида 00000001, 00010001 или 01010101 из последнего байта блока извлекаются недостающие биты. При этом для каждого следующего байта маска сдвигается. То есть последний байт блока фактически составлен из объединенных логической операцией OR битов, которые извлечены из предыдущих байтов.

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

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный крипторСхема получения исходных байтов в режиме 4

4. После операции по восстановлению битов во всех блоках полученные данные представляют собой исходный PE-файл, который был разделен по позиции (*) на две части. Эти части, в свою очередь, были переставлены между собой. Обратная перестановка с учетом значения (*) позволяет получить оригинальный файл.

Обфускация

Чтобы усложнить анализ кода, в пакере применяется различного рода запутывание:

В промежутках между исполнением полезных команд делаются вызовы различных функций WinAPI. Их результаты сохраняются, но не используются, а сами функции выбираются так, чтобы не влиять на работу программы.

Характерная особенность данного пакера — наличие циклов (не выполняющих полезных операций), которые реализуются через рекурсивную функцию.

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

Использование

Кроме экземпляров RTM, мы обнаружили использование Rex3Packer для упаковки различного ВПО, в основном из стран СНГ.

Также мы отметили использование пакера для упаковки экземпляров ВПО из семейств Nemty, Pony, Amadey.

HellowinPacker

В мае 2020 группа RTM переключилась на использование нового упаковщика — HellowinPacker, который продолжала активно использовать до начала 2021 года. Ключевой особенностью этого пакера является два уровня мутации кода. Первый из них существенно меняет структуру кода распаковки, делая различные образцы не похожими друг на друга.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный крипторСравнение кода в двух экземплярах разной структуры

Второй уровень меняет лишь отдельные детали при неизменной в целом структуре кода. При этом изменения главным образом затрагивают ассемблерные инструкции и не влияющие на работу программы константы. В результате в декомпилированном виде код выглядит практически идентичным.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный крипторСравнение кода в двух экземплярах одной структуры

Так же, как и в случае с Rex3Packer, мы имеем дело с массовым использованием HellowinPacker для упаковки различного ВПО. При этом вредоносное ПО из одного семейства, как правило, имеет в упакованном виде одну и ту же структуру. Это можно пронаблюдать, по крайней мере, на протяжении некоторого времени — затем структура может измениться.

Алгоритм распаковки

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

GUID интерфейса в разных случаях также может отличаться.

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

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

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный крипторСхема копирования данных в HellowinPacker

Затем происходит процесс дешифровки блоками по 4 байта:

очередной блок интерпретируется как целое число (DWORD),

к его значению прибавляется индекс первого байта в блоке,

выполняется операция xor между полученным значением и суммой индекса и фиксированного ключа, числа Z.

Обфускация

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

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный крипторТочка входа в одной из упакованных библиотек

Дополнительным эффектом от такого использования WinAPI становится невозможность детектирования по списку импортируемых функций и imphash.

При работе с различными числовыми значениями часто встречается некоторая арифметическая обфускация: необходимые константы представляются в виде суммы или разности других констант (в определенных случаях равной нулю). При этом для получения констант могут быть использованы и вызовы функций WinAPI, дающие предсказуемый результат (например, 0 в случае неудачи).

Использование

HellowinPacker существует по крайней мере с 2014 года. За это время он был использован в различном массовом вредоносном ПО. Вот лишь несколько примеров:

Источник

Cassandra: криптор, который любит держаться в тени

Ни один атакующий не хочет, чтобы его инструменты обнаружили и раскрыли раньше времени. Поэтому, как правило, в чистом виде никто вредоносные программы не распространяет. Например, пользователю прилетело фишинговое письмо от имени известной транспортной компании и просят проверить документы во вложении. Подобные письма достаточно часто являются началом атаки, так было и на этот раз. Внутри архива находился исполняемый файл Cassandra Crypter — популярный криптор, полезной нагрузкой которого могут выступать различные семейства вредоносного программного обеспечения. Алексей Чехов, аналитик CERT-GIB, рассказывает, как Cassandra проникает на компьютер жертвы и приводит с собой других незваных гостей.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

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

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

Первая стадия

Cassandra маскируется под легитимное приложение. В точке входа располагается стандартная для приложений Windows Forms функция запуска.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

Конструктор формы также выглядит стандартным, ничем не отличающимся от легитимного приложения.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

Для расшифровки используется алгоритм AES.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

После подгрузки вспомогательной dll вызовется одна из её функций, в результате чего будет получена и запущена вторая стадия криптора.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

Вторая стадия содержится в изображении, в зашифрованном виде, в исходной сборке.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

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

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

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

Вторая стадия

Конфигурационный файл

Ключ, который используется на первой стадии расшифровки пейлоада

Поле, содержащее пейлоад в расшифрованном виде

Поле содержащее сырой (не разобранный) конфиг

Поле, содержащее подготовленный конфиг

Поле, содержащее флаг типа инжекта

Поле, содержащее флаг закрепления в системе

Поле, содержащее имя файла после закрепления в системе

Поле, содержащее название мьютекса

Поле, содержащее информацию об использовании загрузчика

Поле, содержащее информацию о пути до загруженного файла

Поле, содержащее ссылку на пейлоад

Поле, содержащее информацию об использовании Anti-VM/Sandbox-функции, осуществляющей поиск

Поле, содержащее информацию об использовании Anti-VM/Sandbox-функции, осуществляющей поиск строк в пути файла

Поле, содержащее информацию об использовании Fake MessageBox

Текст заголовка Fake MessageBox

Текст Fake MessageBox

Информация о кнопках Fake MessageBox

Информация об иконке Fake MessageBox

Количество секунд, в течение которых приложение будет бездействовать

Полезная нагрузка

Полезная нагрузка содержится в крипторе в зашифрованном виде. Расшифровка проходит в два этапа:

1. В цикле осуществляется побайтовый XOR шифрограммы, ключа и значения операции XOR от последнего элемента байта шифрограммы и 112. Полученные значения сохраняются в созданный массив. Ключ для первой стадии содержится в конфигурационном файле.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

2. Осуществляется дешифрование, аналогичное тому, что было на первой стадии: используется операция XOR, в качестве ключа используются первые 16 байтов массива, полученного на первом этапе.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

Закрепление в системе

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

Anti-VM

В функции осуществляется поиск виртуальных видеоадаптеров и специфических ключей реестра, свойственных для виртуальных машин.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

Anti-Sandbox

Реализованы три функции противодействия песочнице:

Детект изолированной среды. Функция проверяет путь до исполняемого файла и ищет в нём специфические строки, таких как \\VIRUS, SAMPLE, SANDBOX и т.д. Также осуществляется поиск окна, свойственного WindowsJail, и библиотеки SbieDll.dll, загруженной в процесс.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

    Попытка обхода песочницы по таймауту. Реализована при помощи стандартной процедуры Sleep.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

    Попытка обхода песочницы по user activity. Реализована при помощи показа Fake MessageBox.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

Защита от повторного запуска

Реализована путем создания мьютекса с заданным именем в системе.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

Функционал

Downloader

Реализована функция загрузки пейлоада из сети.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

Запуск полезной нагрузки

Содержит два варианта запуска пейлоада:

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

2. Инжект полезной нагрузки в запущенный процесс. Есть возможность выбора из нескольких процессов.

Что такое полиморфный криптор. Смотреть фото Что такое полиморфный криптор. Смотреть картинку Что такое полиморфный криптор. Картинка про Что такое полиморфный криптор. Фото Что такое полиморфный криптор

На данный момент Cassandra — достаточно распространенный тип крипторов. Как правило, злоумышленники используют его в массовых рассылках, чтобы незаметно запускать на машине пользователя вредоносное ПО. Cassandra позволяет запускать даже хорошо изученные семейства ВПО.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *