• Уменьшение отступа

    Обратная связь

    (info@ru-sfera.pw)

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


Diana123

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

virt

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

Dreik

Пользователь
Форумчанин
Регистрация
07.09.2019
Сообщения
2

Nik Zer0f

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

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

virt

Просветленный
Просветленный
Регистрация
24.11.2016
Сообщения
706
Репутация
228
Да тут идея простая, в целом и не новая.

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

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

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

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

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

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

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

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
Сообщения
706
Репутация
228
Можно ещё такую штуку добавить и скрытие API:https://ru-sfera.org/threads/skrytie-strok-v-s.3874/

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

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

Nik Zer0f

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

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

virt

Просветленный
Просветленный
Регистрация
24.11.2016
Сообщения
706
Репутация
228
Ох, ёпрст...

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

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

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

Edith Wooten

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

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

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

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