новенький на форуме, учусь мыслить как малварь-девы чтобы ломать их малвари, к сути:
узнал про ординалы функций
против AV конечно вряд ли поможет, но со статиком помогает снизить детекты.
детекты с прямыми вызовами win api функции в секции импорта:
потом мне стали интересно, я решаю проверить, какой результат будет если я в секции импорта вызову функцию не напрямую, а через ординал функции.
результат:
а сегодня я написал программу на ассемблере фасм, она запускала процесс по его pid-у, выделяла в ней 4000 байт и записывала туда мой шеллкрд, удивительно, без ординалов выдавало 8 детектов, с ними - 4.
суть моего вопроса: можно ли как то еще снизить детекты помимо динамического подключения либы?
пробовал через peb, то есть mov rax, [gs:60], далее там выбираю нужную мне структуру и нахожу либу, как пример - kernel32, подключаю и вызываю функции без прямого подключения в таблице импорта. но разница между динамическим подключением и этим способом особо нет, именно в рамках количества детектов
вызываю функции без прямого подключения в таблице импорта
Так все же статик или динамика ?
Статик не выполняется эмуляция, открытых имен нет, соотв. на них не сработает эвристика. В динамике как только будет выбран первый байт с адреса апи на исполнение авер увидит вызов апи(сработает ловушка). Либо могут вставляться в тело апи шлюзы, что бы при изменении тела или его перемещении осталась апи-сигнатура.
А в общем обычно используется загрузка из памяти - образ шифрован, дешифруется после слома эмуляции.