• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Как работает крипт?

TimofeyDev

New member
14.10.2023
3
0
BIT
1
Здравствуйте. Я много слышал о том, что разные вирусы запутывают содержимое файла таким образом, чтобы файл некоторое время не обнаруживался антивирусами. С такими понятиями как: Скантайм, Рантайм, стаб я более ли менее знаком, но хотелось бы понять примерный алгоритм действий по запутыванию, в том числе и полиморфного билда. Буду невероятно благодарен, если поделитесь литературой на эту тему, потому что я так ничего и не нашел. Складывается ощущение что я ищу где-то не там
 
Решение
Крипторы не вносят изменения в файл который криптуют. Крипторы в общем случае реализуют внутри себя виндовый загрузчик LoadPE/RunPE. LoadPE и RunPE могут сильно отличаться в своей реализации кто-то создаёт новый процесс с флагом CREATE_SUSPENDED и записывает туда засшифрованный файл, кто-то делает всё прямо в памяти своего же процесса ( резидентные лоадеры). Стабом называют тот код который как раз-таки является кодом который расшифровывает файл и запускает его имитирую работу виндового загрузчика, крипторы могут морфить, обфусцировать и т.д. только себя а файл который криптуют. Способ хранения файла который криптуют опять же у всех разный, кто-то хранит в секции ресурсов, кто-то раскидывает по разным секциям, можно вообще скачивать из...

misterX

Grey Team
01.06.2022
278
11
BIT
315
  1. Шифрование: Вирус может использовать алгоритмы шифрования для зашифровки своего кода или содержимого файла. Это делает его непонятным для антивирусных программ, которые ищут конкретные сигнатуры или паттерны.
  2. Мутация: Вирус может изменять свою структуру или код, чтобы создать множество вариантов себя. Это называется полиморфизмом. При каждой инфекции вирус может создавать новую мутацию, что затрудняет его обнаружение.
  3. Обфускация: Вирус может использовать техники обфускации, чтобы усложнить понимание своего кода. Это может включать переименование переменных, добавление бесполезного кода или изменение структуры.
  4. Инжекторы: Вирус может использовать инжекторы, чтобы внедрить свой код в другие исполняемые файлы или процессы. Это позволяет ему скрыться и избежать обнаружения.
  5. Полиморфный билд: Это техника, при которой вирус создает новую мутацию с каждым новым запуском или инфекцией. Он может изменять свою структуру, шифровать свой код или использовать другие методы запутывания, чтобы избежать обнаружения.
Некоторые известные авторы в этой области включают Питера Затко (Peter Szor), Брюса Шнайера (Bruce Schneier) и Марка Расмуссена (Mark Russinovich).
 

UserName011

Green Team
01.09.2020
129
2
BIT
540
Почему-то вспомнилась статья из 82-го выпуска ксакепа "Ступени полиморфизма", можно там глянуть про эту технику.
 

MrHacker1337_228

One Level
02.05.2020
52
0
BIT
287
Крипторы не вносят изменения в файл который криптуют. Крипторы в общем случае реализуют внутри себя виндовый загрузчик LoadPE/RunPE. LoadPE и RunPE могут сильно отличаться в своей реализации кто-то создаёт новый процесс с флагом CREATE_SUSPENDED и записывает туда засшифрованный файл, кто-то делает всё прямо в памяти своего же процесса ( резидентные лоадеры). Стабом называют тот код который как раз-таки является кодом который расшифровывает файл и запускает его имитирую работу виндового загрузчика, крипторы могут морфить, обфусцировать и т.д. только себя а файл который криптуют. Способ хранения файла который криптуют опять же у всех разный, кто-то хранит в секции ресурсов, кто-то раскидывает по разным секциям, можно вообще скачивать из интернета. Недостаточно просто заморфить свой код до такой степени что там фиг разберёшься, нужно чтобы криптованный файл был похож на легитимный т.е. имел реалистичные секции, реалистичный импорт, вызовы импортируемых функций. У меня тоже подход отличающийся от подхода других крипторов, я не делаю ничего чтобы файл был похож на легитимный, я беру легитимный файл и инфицирую его своим кодом на c++ который является шеллкодом с RIP адресацией, ещё у меня есть полноценный шеллкод на ассемблере размером всего 570 байт, который может скачать другой шеллкод из интернета и исполнить, можно не скачивать, можно добавить свой шеллкод в ресурсы и потом исполнить ассемблерным стабом, при этом ассемблерный стаб можно записать в какой-нибудь code cave, или вставлять частями по файлу вместо бесполезных байт между функций. В общем, подходов можно придумать много как ты понимаешь, для попытки обхода runtime детектов можно сделать HALO'S gate, дллку считать через indirect system calls, можно реализовать LoadPE, который грузит файл в другой процесс и там уже исполняет. Вот, можешь почитать об упаковщиках в целом они чем-то схожи с крипторами, пускай у них и разные цели
 
Последнее редактирование:
Решение

TimofeyDev

New member
14.10.2023
3
0
BIT
1
  1. Шифрование: Вирус может использовать алгоритмы шифрования для зашифровки своего кода или содержимого файла. Это делает его непонятным для антивирусных программ, которые ищут конкретные сигнатуры или паттерны.
  2. Мутация: Вирус может изменять свою структуру или код, чтобы создать множество вариантов себя. Это называется полиморфизмом. При каждой инфекции вирус может создавать новую мутацию, что затрудняет его обнаружение.
  3. Обфускация: Вирус может использовать техники обфускации, чтобы усложнить понимание своего кода. Это может включать переименование переменных, добавление бесполезного кода или изменение структуры.
  4. Инжекторы: Вирус может использовать инжекторы, чтобы внедрить свой код в другие исполняемые файлы или процессы. Это позволяет ему скрыться и избежать обнаружения.
  5. Полиморфный билд: Это техника, при которой вирус создает новую мутацию с каждым новым запуском или инфекцией. Он может изменять свою структуру, шифровать свой код или использовать другие методы запутывания, чтобы избежать обнаружения.
Некоторые известные авторы в этой области включают Питера Затко (Peter Szor), Брюса Шнайера (Bruce Schneier) и Марка Расмуссена (Mark Russinovich).
Благодарю за литературу!
 

TimofeyDev

New member
14.10.2023
3
0
BIT
1
Крипторы не вносят изменения в файл который криптуют. Крипторы в общем случае реализуют внутри себя виндовый загрузчик LoadPE/RunPE. LoadPE и RunPE могут сильно отличаться в своей реализации кто-то создаёт новый процесс с флагом CREATE_SUSPENDED и записывает туда засшифрованный файл, кто-то делает всё прямо в памяти своего же процесса ( резидентные лоадеры). Стабом называют тот код который как раз-таки является кодом который расшифровывает файл и запускает его имитирую работу виндового загрузчика, крипторы могут морфить, обфусцировать и т.д. только себя а файл который криптуют. Способ хранения файла который криптуют опять же у всех разный, кто-то хранит в секции ресурсов, кто-то раскидывает по разным секциям, можно вообще скачивать из интернета. Недостаточно просто заморфить свой код до такой степени что там фиг разберёшься, нужно чтобы криптованный файл был похож на легитимный т.е. имел реалистичные секции, реалистичный импорт, вызовы импортируемых функций. У меня тоже подход отличающийся от подхода других крипторов, я не делаю ничего чтобы файл был похож на легитимный, я беру легитимный файл и инфицирую его своим кодом на c++ который является шеллкодом с RIP адресацией, ещё у меня есть полноценный шеллкод на ассемблере размером всего 570 байт, который может скачать другой шеллкод из интернета и исполнить, можно не скачивать, можно добавить свой шеллкод в ресурсы и потом исполнить ассемблерным стабом, при этом ассемблерный стаб можно записать в какой-нибудь code cave, или вставлять частями по файлу вместо бесполезных байт между функций. В общем, подходов можно придумать много как ты понимаешь, для попытки обхода runtime детектов можно сделать HALO'S gate, дллку считать через indirect system calls, можно реализовать LoadPE, который грузит файл в другой процесс и там уже исполняет. Вот, можешь почитать об упаковщиках в целом они чем-то схожи с крипторами, пускай у них и разные цели
Оу, спасибо! Вы хорошо в этом разбираетесь! Если не трудно, мы можем связаться лично в телеграм? Я не отниму у вас много времени, просто информации крайне мало
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!