Контрразведка с soft-ice в руках

       

протокол работы с soft-ice, демонстрирующий получение адреса системного сервиса 97h


Как мы видим, в данном случае, функция NtQuerySystemInformation никем не перехвачена, что очень хорошо!

Чтобы просмотреть содержимое SST в soft-ice достаточно дать команду "NTCALL". На "стерильной" машине _все_ вызовы указывают внутрь NTOSKRNL.EXE, а если это не так, то их кто-то перехватил. Это может быть как зловредная малварь, так и вполне безобидный драйвер какого-нибудь защитного механизма или, например, брандмауэр.

Для восстановления SST можно использовать ее копию, хранящуюся внутри NTOSKRNL.EXE, правда, найти ее на диске значительно сложнее, чем в памяти. Проще всего использовать отладочные символы (которые можно бесплатно сгрузить с сервера http://msdl.microsoft.com/download/symbols с помощью библиотеки dbghelp.dll, входящей в состав бесплатного пакета Debugging Tools). Адресу SST соответствует метка _KiServiceTable

и в моей версии системы она располагается по адресу 4704D8h (в файле):

.data:004704D8 BF B3 4A 00 _KiServiceTable      dd offset _NtAcceptConnectPort@24

.data:004704DC 6B E8 4A 00               dd offset _NtAccessCheck@32

.data:004704E0 F3 DE 4B 00               dd offset _NtAccessCheckAndAuditAlarm@44



Содержание раздела