Если взломщик смог добраться до учетной записи пользователя в системе Windows 2000, то следующим его желанием станет получение исключительных привилегий — прав администратора. К счастью, операционная система Win 2000 является более устойчивой, чем ее предшественницы в смысле противостояния таким попыткам (по крайней мере угрозы типа getadmin и sechole ей теперь не страшны). Но к сожалению, если взломщик смог получить данные интерактивной учетной записи, то предотвратить возможность расширения его привилегий очень сложно (интерактивные учетные записи получили гораздо более широкое распространение с появлением терминального сервера Windows 2000, применяемого в целях удаленного управления и распределенной обработки данных).
Использование именованных конвейеров для запуска программ с системными привилегиями
Атака, обеспечивающая расширение привилегий на основе прогнозирования создания именованного канала при инициализации системных служб Windows 2000 (таких как Server, Workstation, Alerter и ClipBook, связанных с учетной записью SYSTEM), была разработана Майком Шифманом (Mike Schiffman) и отправлена в бюллетень Bugtraq (ID 1535). Перед запуском каждой службы на сервере создается именованный канал с прогнозируемой последовательностью имен. Эту последовательность можно получить из параметра системного реестра HKLM\System\CurrentControlSet\Control\ ServiceCurrent.
Любой интерактивный пользователь Win 2000 (включая удаленных пользователей терминального сервера) может спрогнозировать имя канала, инсталлировать его и таким образом запустить программу с системными привилегиями. Если к этому именованному каналу добавить посторонний код, то он тоже получит системные привилегии и сможет выполнить практически любые действия в локальной системе (например, добавить текущего пользователя в группу администраторов).
Тестовый код, написанный хакером Мачо (Масео), несколько менее эффективен: он находит пользователя с относительным идентификатором RID 500 (более подробная информация об идентификаторах RID содержится в главе 5), т.е. учетную запись администратора независимо от того, была ли она переименована, и выводит на экран его пароль в зашифрованном виде. Так работает приведенная ниже программа взлома main. Однако сначала покажем, что текущий интерактивный пользователь является членом группы операторов резервного копирования Backup Operators, запустив утилиту whoami.