Информационная безопасность


Атака на Windows NT - часть 8


Но функция win32 API AddAtom содержит переходной код, который сохраняет результат работы NtAddAtom в локальной переменной, откуда и возвращает значение пользователю. Однако через прерывание 0x2E можно получить доступ непосредственно к функциям ядра без высокоуровневых оберток.

Реакция Microsoft в описании Соболева выглядит так: “30 июля 1997 я послал письмо в Microsoft, что так и так, есть такой баг. Через пару дней получил ответ от господина N, что я ошибся, и, вообще, моя программа не работает. Послав программу на www.ntsecurity.net и на news я убедился, что она все-таки работает. После публикации мне пришло письмо от господина NN из Microsoft (должностью повыше, чем N) с просьбой сообщить имя господина N”.

Вообще же, если у пользователя есть право отладки приложений, ему доступны функции WriteProcessMemory и CreateRemoteThread, позволяющие как угодно распоряжаться системой по своему усмотрению. Поскольку ни один здравомыслящий администратор потенциальному злоумышленнику такого права не даст, тому приходится присваивать его самостоятельно. К сожалению, описание алгоритма такой атаки выходит за рамки данной статьи, но существует утилита Sechole, написанная Prasad Dabak, Sandeep Phadke и Milind Borate, которая замещает код функции OpenProcess (проверяющий наличие прав отладки приложений перед открытием процесса) и затем, пользуясь отладочными функциями, помещает текущего пользователя в группу администраторов.

Служба редиректора также имеет ошибки реализации, позволяющие любому пользователю получить права администратора или нарушить нормальную работу сервера, поэтому имеет смысл подробно остановится на этом моменте.

Именованные каналы представляют собой механизм межсетевой передачи данных по виртуальному каналу, гарантирующему доставку сообщений. (Почтовые ящики не гарантируют доставку сообщений и процесс-отправитель не получает уведомление получил ли адресат сообщение или нет). Каналы реализованы в виде псевдофайловой системы NPFS (Named Pips File System), которая хранит все сообщения в памяти и выдает их по запросу.


- Начало -  - Назад -  - Вперед -