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

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Кто сможет рассказать как можно закриптовать файл(что бы хотя бы обходил Microsoft Defender)

Dmitrie_ Matyash

New member
18.06.2022
1
0
BIT
0
Всём привет, недавно начал изучать вирусологию, создал ратник под названием "Orcus" всë хорошо но есть одна проблема и эта проблема связанна с антивирусом, я пытался криптовать свой файл разными способами но не один не вышел! Ребят, кто может подсказать или рассказать как можно закриптовать свой вирус что бы его не палил Майкрософт Дифферент, кто поможет буду ооооооооочень благодарным, заранее спасибо
 

MrHacker1337_228

One Level
02.05.2020
50
0
BIT
159
Надо понимать что видов детекта со стороны AV существует несколько статический, динамический. Статический - анализ сигнатур в коде, анализ таблицы импорта на подозрительное сочетание API функций. Статику обойти достаточно легко достаточно написать RunPE/LoadPE которые будут повторять работу виндового загрузчика. Для того чтобы было понятнее - у тебя есть файл со своими заголовками секциями кода и т.д. LoadPE заключается в том чтобы написать программу которая сможет грузить файл в виртуальную память "ручками", обработав все секции таблицу импорта, релоки, и всякие экзотические вещи типа TLS колбэков. RunPE этот тот же LoadPE но имеет меньшую проработку т.е. может грузить меньшее число исполняемых файлов. Очевидно что в плане статики недостаточно просто реализовать LoadPE и грузить всё что хочешь потому что если у тебя будет пустой файл без импорта и с 1 секцией это будет странно) как вариант можно сделать в файле фейковый импорт и фейковый код но как по мне проще написать LoadPE/RunPE в виде шеллкода и инфицировать им легитимные файлы, таким образом не придётся заботиться о фейковом коде и таблице импорта. Переходим к более интересным вещам - детект в динамике, если твоя malware написана плохо то никакой крипт не поможет, например, существует ряд функций для установки подписки на события в WINDOWS, по типу создания нового процесса, антивирусный драйвер(эти подписки доступны только из ring0) может установить подписку на создания новых процессов или например обращения к файловой системе (минифильтры). Однако далеко не все опасные API функции можно перехватить таким образом. Поэтому антивирусы могут устанавливать хуки (перехватчики) вызовов, они могут это делать многими способами, например могут во время загрузки все файлов в системе, устанавливать трамплины сплайсом на опасных функциях и они это делают! У меня стоял Kaspersky cloud security и он устанавливал хуки сплайсом в ntdll на некоторые API по типу NtWriteVirtualMemory, что интересно хуки он ставил только в WOW64 приложухах, вернёмся к теме, и так, мы уже поняли что AV могут ставить хуки, как это можно обойти, мы находямся в юзермоде так что всё что мы можем сделать это вызывать системный вызовы (syscall) напрямую, ну или не напрямую передавая все аргументы и делая jmp на инструкции syscall + ret в ntdll почитай в гугле indirect system calls. К слову прямые системные вызовы в 32 битных файла код 64 битной виндой (WOW64) невозможны, для этого нужно делать jmp или retf на адрес с секцией 0x33, и кстати это ещё один вариант обхода статики - создать 32 битный файл и исполнять в нём 64 битный код, некоторые отладчики просто пропустят весь 64 битный код, а статические анализаторы кода будут видеть совсем другие ассемблерные инструкции ( так как код-то 64 битный). Для того чтобы в файле который мы криптуем сделать системные вызовы напрямую и снять ловушки можно подменить адреса функций в таблице импорта файла, т.е. грузить все библиотеке по типу ntdll, kernel32dll самому чтобы AV не смог поставить хук и в таблице импорта менять адреса на адреса в дллках загруженных вручную. Ну и опять же стоит повториться что если файл который криптуешь хреново написан никакой крипт не поможет словишь детект в динамике в любом случае. AV могут хукать системные вызовы в ядре тогда мы из юзермода ничего сделать не сможем однако, Если пишешь свою malware для обхода AV можешь найти альтернативный системный вызов который не будет перехватываться AV например можно любую NTAPI до 4 аргументов ( или больше если прочие опциональны) вызывать через NTQueueProcessAPC. Поздравляю ты можешь писать свой криптор удачи
 

GoBL1n

Grey Team
04.08.2016
497
130
BIT
151
Надо понимать что видов детекта со стороны AV существует несколько статический, динамический. Статический - анализ сигнатур в коде, анализ таблицы импорта на подозрительное сочетание API функций. Статику обойти достаточно легко достаточно написать RunPE/LoadPE которые будут повторять работу виндового загрузчика. Для того чтобы было понятнее - у тебя есть файл со своими заголовками секциями кода и т.д. LoadPE заключается в том чтобы написать программу которая сможет грузить файл в виртуальную память "ручками", обработав все секции таблицу импорта, релоки, и всякие экзотические вещи типа TLS колбэков. RunPE этот тот же LoadPE но имеет меньшую проработку т.е. может грузить меньшее число исполняемых файлов. Очевидно что в плане статики недостаточно просто реализовать LoadPE и грузить всё что хочешь потому что если у тебя будет пустой файл без импорта и с 1 секцией это будет странно) как вариант можно сделать в файле фейковый импорт и фейковый код но как по мне проще написать LoadPE/RunPE в виде шеллкода и инфицировать им легитимные файлы, таким образом не придётся заботиться о фейковом коде и таблице импорта. Переходим к более интересным вещам - детект в динамике, если твоя malware написана плохо то никакой крипт не поможет, например, существует ряд функций для установки подписки на события в WINDOWS, по типу создания нового процесса, антивирусный драйвер(эти подписки доступны только из ring0) может установить подписку на создания новых процессов или например обращения к файловой системе (минифильтры). Однако далеко не все опасные API функции можно перехватить таким образом. Поэтому антивирусы могут устанавливать хуки (перехватчики) вызовов, они могут это делать многими способами, например могут во время загрузки все файлов в системе, устанавливать трамплины сплайсом на опасных функциях и они это делают! У меня стоял Kaspersky cloud security и он устанавливал хуки сплайсом в ntdll на некоторые API по типу NtWriteVirtualMemory, что интересно хуки он ставил только в WOW64 приложухах, вернёмся к теме, и так, мы уже поняли что AV могут ставить хуки, как это можно обойти, мы находямся в юзермоде так что всё что мы можем сделать это вызывать системный вызовы (syscall) напрямую, ну или не напрямую передавая все аргументы и делая jmp на инструкции syscall + ret в ntdll почитай в гугле indirect system calls. К слову прямые системные вызовы в 32 битных файла код 64 битной виндой (WOW64) невозможны, для этого нужно делать jmp или retf на адрес с секцией 0x33, и кстати это ещё один вариант обхода статики - создать 32 битный файл и исполнять в нём 64 битный код, некоторые отладчики просто пропустят весь 64 битный код, а статические анализаторы кода будут видеть совсем другие ассемблерные инструкции ( так как код-то 64 битный). Для того чтобы в файле который мы криптуем сделать системные вызовы напрямую и снять ловушки можно подменить адреса функций в таблице импорта файла, т.е. грузить все библиотеке по типу ntdll, kernel32dll самому чтобы AV не смог поставить хук и в таблице импорта менять адреса на адреса в дллках загруженных вручную. Ну и опять же стоит повториться что если файл который криптуешь хреново написан никакой крипт не поможет словишь детект в динамике в любом случае. AV могут хукать системные вызовы в ядре тогда мы из юзермода ничего сделать не сможем однако, Если пишешь свою malware для обхода AV можешь найти альтернативный системный вызов который не будет перехватываться AV например можно любую NTAPI до 4 аргументов ( или больше если прочие опциональны) вызывать через NTQueueProcessAPC. Поздравляю ты можешь писать свой криптор удачи
полезно, спасибо
 
Мы в соцсетях:

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