Как использовать ResHacker для защиты среды терминального сервера

Опубликовано: 24 Апреля, 2023

Все понимают необходимость блокировки ваших терминальных серверов, чтобы (злоумышленники) пользователи не могли повредить или скомпрометировать систему. Приятно, когда Microsoft или другие поставщики предоставляют вам инструменты для блокировки своего программного обеспечения. Иногда это не так, и вам нужно спуститься и испачкаться. ResHacker — инструмент, который прекрасно подходит под это описание.


Введение


Вот как создатель ResHacker Ангус Джонсон описывает, что делает его инструмент: «Resource Hacker — это бесплатная утилита для просмотра, изменения, переименования, добавления, удаления и извлечения ресурсов в 32-битных исполняемых файлах Windows и файлах ресурсов (*.res). Он включает компилятор и декомпилятор сценариев внутренних ресурсов и работает в операционных системах Win95, Win98, WinME, WinNT, Win2000 и WinXP ».


Я всегда склонен описывать его как инструмент, который позволяет вам изменять 32-битные приложения, dll, файлы ocx и файлы scr. Это означает, что вы можете «редактировать» приложения. Вы можете изменить диалоги в приложении, изменить или удалить графику или даже запретить доступ к определенным функциям приложения.


Зачем использовать ResHacker?


Действительно, зачем вам использовать ResHacker? Даже если вы никогда не использовали ResHacker до того, как прочитали эту статью, описание программы, которое я дал (редактирование исполняемых файлов и dll), не совсем соответствует основным инструментам блокировки, скажем, групповой политике. Об этом не о чем беспокоиться, потому что ResHacker — это не инструмент, который вы хотите использовать в качестве предпочтительного инструмента блокировки, а скорее инструмент, который вы используете, когда все другие не сработали.


Я думаю, мы все можем думать о приложениях, которые имеют определенные параметры, к которым вы действительно не хотите, чтобы пользователи имели доступ. Я знаю, что пару раз использовал ResHacker для блокировки приложения, которое в противном случае было бы непригодно для выпуска в производственной среде.


Я могу вспомнить приложения, в которых было бы меню под названием «найти программу». И если нет ключа реестра или параметра файла.ini для отключения такого рода функций, вы фактически застряли между молотом и наковальней.


Пример


Как я уже сказал, ResHacker — очень универсальный инструмент, который вы можете использовать для управления всеми видами 32-битных приложений. Я использовал его пару раз. Хотя по понятным причинам я не буду использовать в качестве примера приложения, в которых я использовал ResHacker, я все же могу привести вам типичный пример того, как вы можете использовать ResHacker для блокировки приложения в вашей среде.


Диспетчер задач Windows


Диспетчер задач, насколько я понимаю, достойный инструмент. Однако по умолчанию он дает вам много информации и опций. В среде сервера терминалов вы можете не захотеть, чтобы все эти параметры были доступны вашим пользователям. Например, параметр «Установить приоритет» при щелчке правой кнопкой мыши по процессу на вкладке «процессы» — это не тот параметр, который вы хотите, чтобы ваши пользователи имели.



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


Вот тут-то и появляется ResHacker. Давайте посмотрим, сможем ли мы «отредактировать» диспетчер задач в соответствии с нашими потребностями. Запустите ResHacker, перейдите в папку C:Windowssystem32 и откройте taskmgr.exe. Это должно выглядеть примерно так:



Макет, изображенный выше, является одним из приложений, которое хорошо подходит для «редактирования» с помощью ResHacker. Как правило, папки «Меню» и «Диалог» — это места, где вы хотите удалить (доступ к) определенные части приложения.


В нашем случае мы хотим избавиться от контекстного меню, позволяющего установить приоритет процесса. При просмотре папок «Меню» и «Диалог» вы найдете много интересного. Например, в диалоговом окне 121 вы можете изменить столбцы, которые отображаются на вкладке «процессы» диспетчера задач:



Забавный материал действительно, но не то, что мы ищем. Оказывается, функциональность, которую мы хотим отредактировать, находится в меню под названием «Банан» (думаю, какой-то разработчик из Microsoft, любящий фрукты, слишком много работал сверхурочно…). В любом случае, если вы посмотрите на меню «Banana», вы увидите, что это, вероятно, то, что облегчает контекстное меню процесса на вкладке «Процессы» диспетчера задач.



Так как же нам изменить меню в соответствии с нашими потребностями? Что ж, вы можете начать удалять пункты меню в правой части ResHacker и посмотреть, что произойдет. Однако я думаю, что удаление этого контекстного меню в целом не является проблемой, поскольку пользователю никогда не понадобится использовать это меню на сервере терминалов. Итак, продолжайте и удалите подпапку «1033» в меню под названием 111. Вы должны щелкнуть правой кнопкой мыши подпапку «1033» в меню под названием 111 и выбрать «удалить ресурс»;



После этого вы можете сохранить файл как угодно. Обязательно добавьте к файлу расширение.exe. Когда вы запустите эту программу, вы увидите, что контекстное меню на вкладке «процессы» диспетчера задач недоступно.


Вероятно, можно подумать о нескольких других функциях, которые можно было бы удалить из диспетчера задач, чтобы сделать его более подходящим для использования в средах терминального сервера. С этой целью я создал очень урезанный диспетчер задач, который называется «Диспетчер задач TS». «Диспетчер задач TS» был создан с использованием только ResHacker.



Этот «Диспетчер задач TS» в основном позволяет вам использовать только вкладку «приложения». все остальное отключено. Я разместил этот «Диспетчер задач TS» на Thincomputing.net. Загружаемый файл представляет собой файл.msi, который устанавливает «Диспетчер задач TS» и заменяет все вызовы старого файла taskmgr.exe, но не перезаписывает исходный исполняемый файл taskmgr. При использовании диспетчера задач TS вы можете безопасно предоставлять пользователям доступ к полезным параметрам диспетчера задач и при этом сохранять безопасность. Загрузите «Диспетчер задач TS» здесь. Обязательно прочитайте ридми!


Еще один распространенный сценарий, в котором можно использовать Resource Hacker, — это когда приложение нуждается в брендировании. Фирменный «внешний вид» можно легко применить, заменив и отредактировав изображения в разделе «Растровое изображение» и «Иконка».


Помните, что ResHacker подходит только для редактирования 32-битного кода. Если вам нужно отредактировать 16-битный код, вы можете взглянуть на eXeScope (20 долларов США).


Недостатки


Недостатки использования Resource Hacker для блокировки ваших приложений (сервера терминалов) очевидны. «Редактирование» приложений с помощью ResHacker не является хорошим и аккуратным решением, а результаты редактирования приложения с помощью ResHacker иногда непредсказуемы. Конечно, вы должны тщательно протестировать новое приложение, прежде чем даже подумать о его подготовке к работе в производственной среде.


ResHacker работает не со всеми приложениями. Когда вы познакомитесь с ResHacker, вы увидите, что некоторые приложения, например, позволяют вам изменять только «Информацию о версии», что в основном делает ResHacker бесполезным. Это из-за того, как закодирована программа, и вы мало что можете с этим поделать.


Однако самым большим недостатком использования ResHacker является то, что вы, вероятно, потеряете все права на поддержку от поставщика, связанного с приложением. Это, конечно, имеет смысл, потому что в основном вы редактируете их код.


Вывод


Использование ResHacker для блокировки ваших приложений (сервера терминалов) может стать спасением, когда все другие варианты уже исчерпаны. Обычно он идет даже дальше, чем обычные варианты блокировки, но он также намного менее совершенен. Можно сказать, что сила ResHacker — это и его слабость.


Скачать ResHacker можно здесь.