интересное поведение руткита

Тема в разделе "WASM.WIN32", создана пользователем cresta, 10 янв 2006.

  1. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Есть такой руткит: hxdef100r

    Как я понял, он для скрытия перехватывает ZwQuerySystemInformation, и чтобы обойти перехват, я нарисовал свой вызов кода, реализующего функциональность ZwQuerySystemInformation (CustomZwQuery)

    Если руткит запущен, то через CreateToolhelp32Snapshot его не видно. Через ZwQuerySystemInformation тоже не видно. Он скрытый.

    Далее я вызываю свою ф-цию CustomZwQuery, и вижу этот руткит. Помечаю его в своём списке как скрытый. И с момента определения его через CustomZwQuery руткит вдруг перестает быть скрытым, и переходит в разряд видимых, т.е. он начинает определяться через CreateToolhelp32Snapshot.

    Что это за эффект?

    Это руткит пытается приспособиться к новой ситуации, и перейти из разряда скрытых в ряды законопослушных, чтобы не привлекать внимание, или же это вызов CustomZwQuery каким-то образом повлиял на работу CreateToolhelp32Snapshot?

    Что думают гуры перехвата?





    CustomZwQuery выглядит так:


    Код (Text):
    1.     push    param4          ;это 4 параметра совпадающие
    2.     push    param3          ;с параметрами ZwQuerySystemInformation
    3.     push    param2          ;
    4.     push    param1          ;
    5.     push    0               ;этот push для имитации call, чтобы не сбить esp
    6.     mov     eax,0ADh        ;это 3 инструкции с начала
    7.     mov     edx,7FFE0300h   ;ZwQuerySystemInformation
    8.     call    edx             ;вынесенные в мой код
    9.     add     esp,20