Всем привет !
Большую популярность на форуме приобрела тема Фреймворк криптора/протектора с антиэмуляцией
Но там проект получился какой-то скомканный, много там чего есть, но реализация мягко скажем ожидает лучшего, но что-то можно от туда взять как идею.
Хотел его довести до ума, но появилась новая идея, а именно.
Итак идея:
Вообще большая проблема крипторов, это чистка, можно написать фуд-криптор, но вот в последствии из-за детектов, может долго придется чистить и из-за этого весь смысл криптора пропадает.
Поэтому основная идея - Это шифровка и скрытие основных частей криптора, например можно пошифровать модуль криптора, который отвечает за запуск зверька в памяти, пошифровать модуль антиэмуляции и т.д.
Эти шифрованные части можно хранить в ресурсах, дата-секции, или вообще загружать по сети.)))
Тем самым стаб будет минимален, а все остальное - это пошифрованные шелл-коды...
Например получившийся стаб этого криптора, всего 15 строк си кода.
Итак, что получилось:
Решение состоит из двух проектов:
1)LoadPeToShell - Переводит в шифрованный шелл-код модуль LoadPe, по сути создаёт заголовочный файл "loadpe.h", с шифрованным шелл-кодом.
LoadPe - Это основной модуль криптора, по сути там все.)
Антиэмуляция, путем вызова функции close по её хешу, то-что должна возвратить функция ESTALE, на основе этого формируется ключ для расшифровки и расшифровывается пейлоад и запускается...
Также в LoadPeToShell шифруется пейлоад и создается заголовочный файл "payload.h".
Алгоритм шифрования RC4.
2)stub - Сам шифрованный зверек.
Как пользоваться:
1)В Release положить файл, который нужно закриптовать с именем PayloadExe.exe.
2)Запустить файл "LoadPeToShell.exe".
3)Собрать проект в Visual Studio C++.
Получится файл в Release "stub.exe".
Это и есть ваш криптованный зверек.
В репозитории есть пример, запуск безобидного файла, в папке Release.
Также полезен как протектор, для защиты файлов.)))
Данное решение не воспринимайте как готовое решение, а как каркас для создания чего-то своего...)))
Результаты на
1)Статик детект на DarkComet (Изначально детектят все):
2)Рантайм детект (DarkComet):
3)Детект на безобидный файл (Рантайм):
То-что восклицательный знак, говорят можно за детект не считать, также на разные зверьки может реагировать по разному.)))
Скачать исходники можно на гитхабе:
Большую популярность на форуме приобрела тема Фреймворк криптора/протектора с антиэмуляцией
Но там проект получился какой-то скомканный, много там чего есть, но реализация мягко скажем ожидает лучшего, но что-то можно от туда взять как идею.
Хотел его довести до ума, но появилась новая идея, а именно.
Итак идея:
Вообще большая проблема крипторов, это чистка, можно написать фуд-криптор, но вот в последствии из-за детектов, может долго придется чистить и из-за этого весь смысл криптора пропадает.
Поэтому основная идея - Это шифровка и скрытие основных частей криптора, например можно пошифровать модуль криптора, который отвечает за запуск зверька в памяти, пошифровать модуль антиэмуляции и т.д.
Эти шифрованные части можно хранить в ресурсах, дата-секции, или вообще загружать по сети.)))
Тем самым стаб будет минимален, а все остальное - это пошифрованные шелл-коды...
Например получившийся стаб этого криптора, всего 15 строк си кода.
Итак, что получилось:
Решение состоит из двух проектов:
1)LoadPeToShell - Переводит в шифрованный шелл-код модуль LoadPe, по сути создаёт заголовочный файл "loadpe.h", с шифрованным шелл-кодом.
LoadPe - Это основной модуль криптора, по сути там все.)
Антиэмуляция, путем вызова функции close по её хешу, то-что должна возвратить функция ESTALE, на основе этого формируется ключ для расшифровки и расшифровывается пейлоад и запускается...
Также в LoadPeToShell шифруется пейлоад и создается заголовочный файл "payload.h".
Алгоритм шифрования RC4.
2)stub - Сам шифрованный зверек.
Как пользоваться:
1)В Release положить файл, который нужно закриптовать с именем PayloadExe.exe.
2)Запустить файл "LoadPeToShell.exe".
3)Собрать проект в Visual Studio C++.
Получится файл в Release "stub.exe".
Это и есть ваш криптованный зверек.
В репозитории есть пример, запуск безобидного файла, в папке Release.
Также полезен как протектор, для защиты файлов.)))
Данное решение не воспринимайте как готовое решение, а как каркас для создания чего-то своего...)))
Результаты на
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
:1)Статик детект на DarkComet (Изначально детектят все):
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
2)Рантайм детект (DarkComet):
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
3)Детект на безобидный файл (Рантайм):
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
То-что восклицательный знак, говорят можно за детект не считать, также на разные зверьки может реагировать по разному.)))
Скачать исходники можно на гитхабе:
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки