HTB23108 — уязвимость, которой не было.
Среда, 21 - Ноябрь - 2012 2 комментария
Иногда среди сообщений о найденных «дырах» попадаются интересные экземпляры. Мне понравилась уязвимость, информацию о которой опубликовали High-Tech Bridge (оригинал ищите на https://www.htbridge.com/advisory/HTB23108). Вкратце разъясню идею:
1. Системная служба IKE and AuthIP IPsec Keying Modules, присутствующая в Windows Vista и выше, в момент запуска пытается загрузить библиотеку wlbsctrl.dll, которой обычно в системе нет.
2. Порядок, в котором осуществляется поиск библиотеки, включает в себя переменную окружения %PATH%. Эту переменную любят менять различного рода приложения!
3. По умолчанию, пользователи могут создавать папки в корне системного диска и писать в эти папки.
Что будет, если созданная приложением папка находится в корне системного диска? А если путь до этой папки указан в переменной PATH? Получается, пользователи вполне могут закинуть свою особую wlbsctrl.dll в папку чудесного приложения, и эта библиотека будет исполнена с привилегиями SYSTEM при запуске операционной системы. Шах и мат. Proof of Concept можете скачать с той же страницы HTB23108 и убедиться сами, у меня это работает.
Интересна реакция Microsoft на HTB23108: «Microsoft не считает указанную проблему уязвимостью в Windows. В описываемом сценарии безопасность системы снижается сторонним приложением. Тому, кто беспокоится о данной ситуации, рекомендуется либо ограничить доступ к проблемной директории, либо убрать её из переменной %PATH%.»
Как мне кажется, Microsoft действительно ничего не может с этим сделать, да и разработчикам приложений безопасность до одного места. Думаете, они примут на себя ответственность? Как бы не так. Уязвимость есть, ответственных нет. Считаю, проблема существует в первую очередь потому, что ответственное за работоспособность компьютера лицо (системный администратор) не регулирует разрешения доступа к папкам с приложениями, оставляя всё по умолчанию.
— Не разрешайте пользователям запись в корень системного раздела!
— Не разрешайте пользователям запись в папки с приложениями!
— Не оставляйте прочие параметры безопасности системы по умолчанию!
Кстати, подобного рода уязвимость ранее уже присутствовала в Windows 2000:
1. В профилях пользователей для автоматического запуска кнопки Start при входе в систему был указан параметр shell=explorer.exe.
2. По ряду причин, поиск вызываемых компонентов начинался с корня системного диска, а не с системной директории, где нужный explorer.exe находится.
3. По умолчанию, пользовали могли создавать свои папки и файлы в корне системного диска.
То есть, ничто не мешало рядовому пользователю скомпилировать свой особый explorer.exe, закинуть его в корень системного раздела, поставить атрибут Hidden и оперативно захватить контроль над машиной при следующем входе администратора. Именно тогда я убедился, что запрет пользователям на запись в корень диска является не просто косметической мерой, а действительно влияет на безопасность.
Добрый день!
Хотел поинтересоватся, Вашим мнением (может есть протокол) как правильно установить права на диски после чистой установки Windows 7.
Dear Олег,
На мой взгляд, там всё просто и обычно: снимаете с корневого каталога диска разрешения для группы Authenticated Users: Create Folders/Write Data, остаются только Users: Read, как оно и должно быть. Если будет Creator/Owner, то ему тоже до свидания.