Пишем криптор на C#

Пишем криптор на C#

ims0rry

План работы

Любой криптор состоит из двух основных вещей: билдер и стаб.

Стаб - шаблон с заранее прописанными функциями.

Билдер - заполняет шаблон (стаб) введеными значениями и выдает готовый файл.

Для начала определим функционал и распределим его по двум вышеописанным модулям:

Шифрование файла - Builder

Генерация ключа шифрования - Builder

Добавление иконки - Builder

Заполнение и компиляция стаба - Builder

Pump файла (искусственное увеличение веса) - Builder

Автозагрузка - Stub

Защита от виртуальной машины - Stub

Дешифровка файла и запуск в памяти - Stub

Stub

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

Startup

Автозагрузку делаем через дефолтный метод, кладем ярлык в папку %startup%, а сами прыгаем в %programdata%.

Decrypt

Дефолтный AES-декриптор, юзал его против Wanna-Die.

Anti VM

Метод, который детектит виртуалку. Использовал его в первой версии Куриямы. Достаем инфу о системе и делаем несколько сравнений с значениями виртуалок (на VPS работать тоже не будет).

RunPE

Для инжекта нам понадобится MenaRunPE для инжекта .NET-приложений и ранпа для инжекта Native -> .NET (https://dumpz.org/2345536, http://kaynak-kod.blogspot.ru/2016/02/c-execute-exe-byte-array-in-memory.html). Расшифровываем payload из ресурсов и скармливаем функции инжекта.

Main

Builder

Создаем WinForms приложение и кидаем туда следующие элементы:

Делаем обработчики для всех кнопок слева и всех чекбоксов в правой колонке. Для кнопок выбора иконки и файла создаем элемент Open File Dialog:

File:

Icon:

Checkbox:

Делаем зависимые друг от друга чекбоксы, чтоб юзер не смог выбрать две несовместимые вещи.

Generate key:

Взято с другой моей статьи - http://telegra.ph/Pishem-loader-s-avtoudaleniem-na-C-01-09

AES-Encrypt:

Метод взят из Wanna-Die.

Pump:

Генерируем рандомные байты, пишем в файл и возвращаем путь до него.

Stub compilation:

Заполняем стаб, шифруем файл и компилируем.

Obfuscate:

Стаб проекта для ConfuserEx

Для уборки GEN детектов и обфускации, будем юзать ConfuserEx. Для начала нужно скомпилировать CLI-версию и основные DLL для работы. Далее, добавляем все эти файлы в ресурсы криптора. Дропаем файл его в %temp%, кидаем туда же файлы конфьюзера и протектим.

Ссылки

Итоговый детект - http://viruscheckmate.com/id/OROUMhAb8tts (можно играться настройками ConfuserEx, а так же многое зависит от иконки и ресурсов приложения)

Исходники - https://github.com/ims0rry/Aika-Crypter

Криптор - https://github.com/ims0rry/Aika-Crypter/releases

------------------------

Автор @ims0rry

https://t.me/ims0rryblog

Report Page