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

Кто просматривает этот контент: "Тема" (Всего пользователей: 0; Гостей: 1)

Diana123

Житель форума
Форумчанин
Регистрация
09.09.2019
Сообщения
2
И еще вопрос, при "мутации" нашего файла data_protect у него меняются атрибуты (время, дата) или ничего не происходит? Вроде все отрабатывает без ошибок, но если этот момент непонятен
 

virt

Уважаемый пользователь
Форумчанин
Регистрация
24.11.2016
Сообщения
631
Репутация
210
Jabber
Telegram
И еще вопрос, при "мутации" нашего файла data_protect у него меняются атрибуты (время, дата) или ничего не происходит? Вроде все отрабатывает без ошибок, но если этот момент непонятен
Мутация, меняет инструкции кода, там-где это возможно, атрибуты не меняет.
Привет! Как добились этого? Стаб меняли?
Ну ессно нужно чистить.)
 

Nik Zer0f

Пользователь
Первый уровень
Регистрация
04.11.2019
Сообщения
12
Репутация
5
Эммм... куда генерится мусор и в какой момент времени он исполняется? Я имею ввиду именно мусор, а не апи. Кто нибудь смотрел под отладчиком?:) Даю наводку - смотреть в es:[edi]...

Где мердж мусора и пейлода?..
 

virt

Уважаемый пользователь
Форумчанин
Регистрация
24.11.2016
Сообщения
631
Репутация
210
Jabber
Telegram
Да тут идея простая, в целом и не новая.

Смысл такой есть у тебя зверёк, который нужно закриптовать.

Обычно крипторы его просто криптуют, ложат в ресурсы, или оверлей стаба.

Ну далее всё просто распаковка -> антиэмуляция -> запуск в памяти.

Причем запуск в памяти тоже имеет вариации:

- Инжект в сторнний процес.
- Создание процесса.
- Инжект в процесс стаба.

Мне стало интересно, что будет если не создавать билдеры, а всё делать на уровне исходников, т.е. в данном случае билдера выступает вижуалка.

А криптованный зверёк попадает не в ресурсы, или оверлей, а в секцию дата, т.е. создаётся буфер с криптованным зверьком (Наподобии шелл-кода), пример:

uint8_t *crypt_data[] = {
********
}

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

1)Генерация фейковых инструкций на ассемблере, основной смысл, что в данном проекте не нужно использовать API винды для исполнения опкодов:https://ru-sfera.org/threads/polimorfnyj-generator-musora.3792/

2)Генерация мусорного кода (В этом проекте его нет, можно-будет добавить, просто руки недоходят), тут смысл генерировать исходник в момент сборки проекта:https://ru-sfera.org/threads/generator-musornogo-koda-na-si.3866/.

3)Альтернативная генерация мусорного кода в момент сборки проекта (Есть в движке):https://ru-sfera.org/threads/metapr...m-metamorfnyj-dvizhok.3837/page-2#post-146439

4)Мутирование самого криптовонного зверька, смысла такой, что после раскриптовки попытаться изменить код зверька перед запуском, вот простой пример (Это есть в движке):https://ru-sfera.org/threads/prostoj-dvizhok-mutirovanija-ispolnjaemogo-fajla.3823/

Более сложный:https://ru-sfera.org/threads/permutacija-ispolnjaemogo-fajla-build-polychaos-x86.3821/

5)Что-там ещё было не помню.) А-да, дурацкая антиэмуляция, просто сложная генерация ключа и простые трюки, тут особо интересного ничего нет...

Есть ещё пример похожего проекта от Мердока, с експлоит.ин, у него интересно сделано (Я этот проект модифицировал в своё время, но не для паблика), вот-что получилось:

- Также в исходнике генерируется мусор автоматически.
- Модуль запуска в памяти сделан как шелл-код, но этот шелл-код я закриптовал.
- Происходит мерж шелл-кода запуска в памяти с мусором.
- Ну собственно далее антиэмуляции, попытка морфинга самого зверька (Не всегда правда работает), запуск.

Как реагируют антивирусы:

В целом добивались фуда на скантайме, на рантайме в зависимости от вируса у многих детект (Касперский, Езет и т.д.).

Если распросторянть зверька, по началу легко чистить, потом (Через неделю примерно) видно накладывается какая-то хитрая сигнатура и тяжело уже чистить, приходится много чего менять, короче гемор...)))

Особенно напрягает виндовый дефендер, он то детектит, то нет. Особенно облако ихнее, хрен-знает как работает...)))

Под отладчиком несмотрел, если интересно исследовать такие проекты, могу скинуть примеры в личку.)
 

virt

Уважаемый пользователь
Форумчанин
Регистрация
24.11.2016
Сообщения
631
Репутация
210
Jabber
Telegram
Можно ещё такую штуку добавить и скрытие API:https://ru-sfera.org/threads/skrytie-strok-v-s.3874/

Вообще всё это конечно недоделанные проекты, в смысле что времени много уходит на доработки.

Если доработать, всё собрать/отладить, вполне-себе боевые решения, но к сожалению для серых/черных дел в основном. :(
 

Nik Zer0f

Пользователь
Первый уровень
Регистрация
04.11.2019
Сообщения
12
Репутация
5
Не, я немного не об этом спросил)

Дело в том, что я посмотрел в отладчике генерацию мусора, и дело в том, что мусор просто генерится в одном месте в памяти - [EDI], и все. Он не выполняется, на него не переходит управление. Он просто генерится и все. Притом что на одном месте - следующая инструкция затирает предыдущую. Суть мусора в том, что он должен выполняться:)
 

virt

Уважаемый пользователь
Форумчанин
Регистрация
24.11.2016
Сообщения
631
Репутация
210
Jabber
Telegram
Ох, ёпрст...

Да, так и есть, вообще задумка была что-бы исполнялось, а получилось такое-себе...смех-смех!!!

Я переделаю позже, вообще что-то ненравится там реализация, я идею с одного лоадера взял, там работало вроде, т.е. опкоды исполнялись...

Зато там генератор случайных чисел прикольный...)))
 

Edith Wooten

Житель форума
Форумчанин
Регистрация
17.04.2019
Сообщения
108
Репутация
22
Ох, ёпрст...

Да, так и есть, вообще задумка была что-бы исполнялось, а получилось такое-себе...смех-смех!!!

Я переделаю позже, вообще что-то ненравится там реализация, я идею с одного лоадера взял, там работало вроде, т.е. опкоды исполнялись...

Зато там генератор случайных чисел прикольный...)))
короче в своем проекте думаю убрать трешген))
 
Вверх