Кроме хука Ntdll, обхода AMSI/ETW что можно еще сделать?
Инжект в легитимный процесс системы, при условии, что сам алгоритм инжекта не спалится, или COM/DLL-HiJacking, ну или использование lolbin'ов.Кроме хука Ntdll, обхода AMSI/ETW что можно еще сделать?
ну или использование lolbin'ов
as fragins said, injection is your best optionApart from the Ntdll hook, AMSI/ETW bypass, what else can be done?
сисколы и hg по твоему не палево?)) их не использует ни один легитивный софт))) это сразу алерт для АВ. то, что ваш стилак не палится, это просто еще не внесли сигнатуру на сиську.Для этого вместо вызовов NtApi нужно делать прямые вызовы в ядро, через сисколы, и на подсистеме WOW64 через HG
Дурачок, снова еб%ло грязью залепил и читаешь слово через 5, перечитывай беги, все обосновано в сообщениии хуки могут ставить и в ядре. их тоже сискол обойдет?)))))
В ядро сейчас ав хуки свои не ставят, потому что заморочено PG байпасить, тем более для аверов, они не такие хитровымудреные, как блекхеты
Да что я тебе о PG, ты даже не знаешь что это такое, эксперт диванный.Они обычно регистрируют свои колбэки, что-то вроде официального метода перехвата
Давай задетекти мне HG сигнатурно, который морфится на уровне ассемблера, не имеет никаких постоянных сигнатур и к тому же отрабатывает в виде шеллкода, который изначально поширован, а ключик генерится в антиэмулесисколы и hg по твоему не палево?)) их не использует ни один легитивный софт))) это сразу алерт для АВ
Еб%ло у тебя треснет такое детектить сигнатурно, реморф на каждый билд, нет ни одной цепочки более 10-15 байт, которая бы была одинаковой от версии к версии, а по поведению его не отследить, но что можно доказать тупому животному из болота ? Оно все время будет бросаться грязью и говном в проходящих мимо.просто еще не внесли сигнатуру на сиську
Все АВ сейчас подписываются на колбэки, НО НИ В КОЕМ СЛУЧАЕ НЕ ХУЧАТ классическим методом через сплайсинг или замену адресов вызвов в ssdt (в юзермоде аналог техники хук IAT)Далеко не всегда так, кому-то не в заморочку. Вот, например Аваст в ядре колдует и ничего, живой.
NTSTATUS PsSetCreateProcessNotifyRoutine(
[in] PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,
[in] BOOLEAN Remove
);
NTSTATUS PsSetCreateProcessNotifyRoutineEx(
[in] PCREATE_PROCESS_NOTIFY_ROUTINE_EX NotifyRoutine,
[in] BOOLEAN Remove
);
NTSTATUS PsSetCreateProcessNotifyRoutineEx2(
[in] PSCREATEPROCESSNOTIFYTYPE NotifyType,
[in] PVOID NotifyInformation,
[in] BOOLEAN Remove
);
NTSTATUS PsSetCreateThreadNotifyRoutine(
[in] PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine
);
NTSTATUS PsRemoveCreateThreadNotifyRoutine(
[in] PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine
);
NTSTATUS FLTNTAPI FltRegisterFilter(
[in] PDRIVER_OBJECT Driver,
[in] const FLT_REGISTRATION *Registration,
[out] PFLT_FILTER *RetFilter
);
Не могу сказать точно, но где то видел что некоторые игровые движки используют сисколы ради скорости, но возможно это все байки.сисколы и hg по твоему не палево?)) их не использует ни один легитивный софт))) это сразу алерт для АВ. то, что ваш стилак не палится, это просто еще не внесли сигнатуру на сиську.
и хуки могут ставить и в ядре. их тоже сискол обойдет?)))))
Кстати интерестно было бы про это почитать, если найдешь ссылку.Ну, справедливости ради, какая-то идска палила вызов syscall не из секции .text ntdll.dll, я, если вспомню, где я это видел, сброшу сюда. Не помню, каким образом это перехватывалось, вероятно, что в ядре. Но обходилось это достаточно просто: находился любой незапатченный фрагмент ntdll с инструкцией syscall, а сисколлы малварки вместо самой инструкции syscall имели jmp на найденную незапатченную инструкцию.
Да даже кодкейв найти, суммарно в ntdll на любой винде найдется пустое место между функциями что бы расположить там шеллкод в виде стаба нужного сискола, а номерок патчить при желании на нужный перед вызовом, либо наклепать таких стабов под все используемые в твоем приложении сисколыНу, справедливости ради, какая-то идска палила вызов syscall не из секции .text ntdll.dll, я, если вспомню, где я это видел, сброшу сюда. Не помню, каким образом это перехватывалось, вероятно, что в ядре. Но обходилось это достаточно просто: находился любой незапатченный фрагмент ntdll с инструкцией syscall, а сисколлы малварки вместо самой инструкции syscall имели jmp на найденную незапатченную инструкцию.
А что кстати на нее сигнатуру вешать, по сути то они могли бы наверное на стаб сискола который не в нтдлл вешать сигнатуру сразу, или просто на его вызов(там специфичный опкод), почему не вешают тогда? Наверное потому что это ни разу так не работает? Опущу вопрос почему "ваш", если я один разработчик. Тебе нужно чуть-чуть лучше начать разбираться в вопросе. Чтобы это сделать нужно учиться, а не писать бестолковые сообщения и не разводить холивары из-за языков.что ваш стилак не палится, это просто еще не внесли сигнатуру на сиську.
инструкцию sysenter тоже поморфишь?))) и есчо такое почитай, и ты Lumma тоже https://medium.com/@fsx30/hooking-heavens-gate-a-wow64-hooking-technique-5235e1aeed73морфится на уровне ассемблера
то шо за тебя ара впрягается?)если я один разработчик
Вот, опять же, ты меня не послушал. Я тебе говорю, разберись чуть-чуть в теме.и есчо такое почитай, и ты Lumma тоже https://medium.com/@fsx30/hooking-heavens-gate-a-wow64-hooking-technique-5235e1aeed73
как взрослые дяди ловят ваши илит техники.
его сигнатурно палят, инструкция не морфится )А ручной вызов syscall или sysenter ты не похучишь.
давай тогда аверы поставят детект на весь ntdll, там дохера sysenter по коду разбросано, АПАСНА, АХТУНГ, NTDLL = ВИРУСинструкцию sysenter тоже поморфишь?)))
Поясняю для особо тупорылых простым языком - свой стаб сискола располагается в кодовой секции ntdll, и оттуда он и вызывается. Это как раз для того что бы В ТВОЕМ ПОЛЬЗОВАТЕЛЬСКОМ КОДЕ не было инструкций syscall\sysenterНо обходилось это достаточно просто: находился любой незапатченный фрагмент ntdll с инструкцией syscall, а сисколлы малварки вместо самой инструкции syscall имели jmp на найденную незапатченную инструкцию.
Просто оставлю это здесь, может в твоей голове что-то зашевелится, ты еще не дорос до спора на эту тему ни морально, ни знаниями.
Там два байта. Я очень сомневаюсь что кто то будет делать двухбайтовую сигнатуру, они всегда в связке идут с другими инструкциями и сигнатурят обычно стаб. А там два байта, не помню какие, но если их засигнатурить это переведут к ложным детектам, по этому так не делаютего сигнатурно палят, инструкция не морфится )
где такое реализовано у shamel? либо ты пиздишь либо квейк .свой стаб сискола располагается в кодовой секции ntdll, и оттуда он и вызывается
ну ка перекрой мне sysenter? это не jmpтехники перекрытия кода
для кодосекции они уникальныТам два байта.
по себе людей не судят , ара )тебе не надоело каждый день уходить из топика обдристанным ?
Я не пойму я тут при чемгде такое реализовано у shamel? либо ты пиздишь либо квейк .
Гонишь чтоли? Найти два байта для сискола в ntdll проблема? Проблема может абсолютный джамп/рет туда сделать из своего кода? Даже во "вложенных" инструкциях их прям дохрена.его сигнатурно палят, инструкция не морфится )