Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows NT/2000/2003 (http://forum.oszone.net/forumdisplay.php?f=5)
-   -   Запуск переименованных exe (http://forum.oszone.net/showthread.php?t=251579)

oji 16-01-2013 14:03 2068047

Запуск переименованных exe
 
Подскажите, есть ли способ ограничить в Windows 2003 Server следующее поведение:

Если переименовать исполняемый .exe-файл, поменяв у него расширение на .cmd, приложение всё равно запускается. Из-за этого в сети огромная брешь.

Iska 16-01-2013 14:37 2068085

oji, пока что непонятно из-за чего «огромная брешь». По умолчанию и то, и другое — исполняемые файлы, наряду с прочими (pathext). Как у Вас организованы текущие ограничения?

oji 16-01-2013 14:54 2068093

В папке разрешён запуск нескольких приложений, и запрещено их изменение. Но! В этой же папке программа генерирует и запускает .cmd и .vbs скрипты, присваивая имена, которые сложно подогнать под шаблоны, поэтому разрешён также запуск *.cmd и *.vbs из указанной папки, а также запись в неё новых файлов. Повлиять на разработчика у меня лично нет возможности, поэтому приходится мириться с таким поведением ПО

Проблема в том, что если взять любой .exe-файл и поменять у него расширение на .cmd и положить в папку с программой, то он запустится. При этом, например, в Windows 7 такого не происходит — переименованный .exe не выполняется.

oji 16-01-2013 15:32 2068117

И я не соглашусь, что и то, и другое — исполняемые файлы.

.exe да, исполняемый, но .cmd — это скриптовая последовательность для интерпретатора cmd.exe. В Windows 7 и, вероятно, в более новых ОС от Microsoft интерпретатор cmd.exe закрывается, наткнувшись на некорректный скрипт (в данном случае это переименованный исполняемый файл), в то время как в Windows 2003 и в XP (проверил только что) интерпретатор запускает исполняемый файл. Вопрос в том, можно ли как-то повлиять на такое поведение и запретить скриптовому интерпретатору запускать исполняемые файлы.

Iska 17-01-2013 00:55 2068529

Цитата:

Цитата oji
В папке разрешён запуск нескольких приложений, и запрещено их изменение. »

Повторяю — каким образом?

читать дальше »
Цитата:

Цитата oji
И я не соглашусь, что и то, и другое — исполняемые файлы. »

Если Вы не поняли — в данном контексте трактовка «исполняемые» такая:
Код:

set pathext
Не более.

oji 17-01-2013 01:38 2068538

Ограничение организовано через групповые политики, стандартными средствами MS:
Несколько правил для SRP (Software Restriction Policies):
  • Разрешение на запуск двух .exe приложений
  • Разрешение запуска *.cmd
  • Разрешение запуска *.vbs
  • Запрет на запуск всего остального

И правила для File & Folder Permissions:
  • Разрешение на запись в папку
  • Запрет на изменение двух исполняемых .exe-файлов

Однако к решению это не имеет отношения, так как проблема на уровне cmd.exe, который вместо остановки при запуске некорректного скрипта (переименованного в .cmd из .exe), всё равно запускает его — неожиданное лично для меня поведение системы, которого нет в более новых версиях ОС. И вопрос в том, возможно ли изменить поведение интерпретатора cmd.exe на то, которое наблюдается в Windows 7 — не запускать файлы, являющиеся не последовательностью команд, а переименованными .exe? Потому как это неочевидное поведение создало брешь в системе безопасности, позволив непривилегированному пользователю запускать любые программы из папки с этим приложением, просто изменив расширение.

Кардинально запретить пользователю cmd.exe также нет возможности, иначе перестаёт работать указанная выше программа.

WindowsNT 17-01-2013 08:32 2068604

Попробуйте переорганизовать разрешение на *.cmd во что-то более конкретное. Скажем, на хэш нужных cmd.

oji 17-01-2013 09:31 2068625

К сожалению, cmd генерируются с случайными именами и различным содержимым.

WindowsNT 17-01-2013 12:26 2068717

Тогда никак.


Время: 15:17.

Время: 15:17.
© OSzone.net 2001-