ims0rry
Omae wa mou shindeiru
Please note, if you want to make a deal with this user, that it is blocked.
А прежде чем приступить к прочтению - загляни в мой бложик, там я публикую свои авторские статьи по программированию, вирусологии и прочим интересным вещам
Для просмотра содержимого вам необходимо авторизоваться.
Оригинал статьи -
Для просмотра содержимого вам необходимо авторизоваться.
Вся информация предоставлена исключительно в ознакомительных целях. Ни администрация, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
Любой криптор состоит из двух основных вещей: билдер и стаб.
Стаб - шаблон с заранее прописанными функциями.
Билдер - заполняет шаблон (стаб) введеными значениями и выдает готовый файл.
Для начала определим функционал и распределим его по двум вышеописанным модулям:
- Шифрование файла - 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