Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #64, АПРЕЛЬ 2004 г.

Внедрение агента Смита

Мысла Владислав

Xakep, номер #064, стр. 064-078-1


aka DigitalScream (digitalscream@real.xakep.ru)

Методы локального взлома Windows

Это уже четвертая статья, посвященная методам повышения локальных привилегий в Windows-системах. Из прошлых материалов ты узнал об ошибках, использование которых сводилось к манипуляции с различными внутренними технологиями системы, сегодня же мы нарушим традиции и поговорим о том, как, не прибегая к написанию хитроумного софта и обладая лишь урезанной в правах пользовательской учетной записью, завладеть правами администратора системы.

Мафиозные сети

Как тебе, надеюсь, известно, учетная запись с именем "SYSTEM" обладает наивысшими правами в системе, а, стало быть, получение прав этого пользователя - лакомый кусочек для любого хакера, конечная цель любой атаки. С правами этого пользователя выполняются сервисы, установленные на компьютере. Сервис - это специализированная программа, которая обеспечивает функционирование множества системных механизмов. Именно поэтому их еще часто называют системными службами.

Сервисы используются системой для решения множества задач, в обязанности сервисов входят такие функции, как работа с устройствами, распределение привилегий в системе, поддержка сетевых служб, система напоминаний, а также множество других, которые необходимы для нормального функционирования всей ОС. Вполне естественно, что такое широкое применение привело и к росту их количества. Так, в стандартной поставке Windows ХР, по умолчанию используются около 80 сервисов.

Выбор мишени

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

Прежде всего, необходимо ознакомиться со списком сервисов, функционирующих в системе. Для этого необходимо перейти в Пуск -> Панель управления -> Администрирование -> Службы.

Поскольку идея атаки заключается в подмене сервиса, прежде всего необходимо определить, откуда именно он запускается. Так, к примеру, если мы решим узнать, какое имя файла соответствует сервису NetMeeting Remote Desktop Sharing, то для этого необходимо просто перейти в его свойства.

Таким образом, нам становится известен путь запускаемого бинарника в файловой системе - в нашем примере это C:\WINDOWS\System32\mnmsrvc.exe. Уже этой информации достаточно, чтобы подменить сервис чем-то другим - с корыстной, конечно же, целью :). Хотя постой - в этом же диалоговом окне можно найти информацию о том, что выбранный сервис запускается администратором вручную, что не может нас устраивать, ведь для полноценной реализации атаки необходимо, чтобы подмененный сервис активизировался одновременно с системой, без каких-либо дополнительных условий. Поэтому для подмены следует выбирать сервис, имеющий автоматический тип запуска - их более чем достаточно, поэтому затруднений с выбором не будет.

Содержание  Вперед на стр. 064-078-2
<<< НАЗАД ||| ГЛАВНАЯ