Наконец то нашел время закончить статью "Обнаружение скрытых процессов". Так как Эд сейчас в отпуске, то здесь статья еще нескоро появиться, а многие у меня ее уже спрашивали. Так что все интересующиеся - держите линк http://ms-rem.dot-link.net/hiddndt/hiddndt.htm Замечания насчет багов в статье приветствуются.
Process Hunter полезная программа, теперь я буду только ею пользоваться. Для скрытия процессов в User Mode обычно используется технология внедрения своего кода в чужие процессы и перехвата функции ZwQuerySystemInformation Согласен, а что если троян не перехватывает ZwQuerySystemInformation, а просто живет внутри чужого процесса в виде отдельного потока? Недавно дописал троянца на masm`е который заражает системный svchost.exe Таким образом ему пока удается не светиться в процессах и в реестре.
А от этого применяются другие методы защиты. Я пользуюсь программой которая контролирует запись в память чужого процесса, загрузку драйверов, установку хуков и.т.д. Может как-нить доведу ее до ума и тоже зарелизю, а то писалась она очень давно, код написан беспонтово, и неохото с ней позориться. Ну главная ее суть - контроль взаимодействия процессов и интерактивное создание правил (как в оутпосте), я думаю, что многие тут смогут такое написать.
отличная статья , как всегда просто , ясно , по делу и без воды библиотеку из статьи по хукам уже использовал , очевидно использую и этот код как нибудь
Excelent. Еще-бы написать детектор скрывающихся процессов (в смысле не завершающиеся обычным ExitProcess / TerminateProcess), а просто исчезающие из таблицы процессов. Получится что если по каждому процессу хранить во время его жизни, всю необходимую он нем информацию - его не_стандартное исчезновение из таблицы ему ничем собственно не поможет.
А этот метод (в числе прочих) у меня уже реализован, используется PsSetCreateProcessNotifyRoutine. Но конечно обойти можно и его.