Время на прочтение5 мин
Количество просмотров28K
Кажется не так давно это было, примерно в 2015 году, мы начали слышать о хакерах, не использовавших вредоносных программ внутри периметра атакуемой цели. А использовали они то, что было под рукой – это были различные инструменты, находившиеся на целевом сайте. Это оказалось идеальным способом, чтобы сделать свое «грязное дело» не поднимая лишнего «шума».
Этот подход в наше время набрал обороты и стал мейнстримом, в первую очередь из-за обилия готовых инструментариев хакеров, таких как PowerShell Empire.
Мы уже писали о том, как PowerShell, когда он дополняется PowerView, становится мощным поставщиком информации для хакеров (вся эта мудрость собрана в нашей подборке, которую вы должны прочитать как можно скорее).
Безусловно, любой инструмент может использоваться как для хорошего так и для плохого, так что я и не думаю тут намекать, что PowerShell был создан, чтобы облегчить жизнь хакерам.
Но так же, как вы бы не оставили сверхмощный болторез рядом с навесным замком, вы, вероятно, не захотите разрешить, или хотя бы сделать это максимально более трудным для хакеров получить в свои руки PowerShell.
Это в свою очередь поднимает большую тему в мире кибербезопасности: ограничение доступа к приложениям, также известную как белые и черные списки доступа. Общая идея в том, чтобы операционная система знала и строго контролировала какие приложения могут быть запущены пользователем, а какие – нет.
Например, будучи homo blogus, мне, как правило, нужны некоторые основные инструменты и приложения (а также теплое местечко, где могу спать ночью), и я прекрасно могу прожить без оболочки PowerShell, netcat, psexec, и всех других команд, о которых я рассказывал в предыдущих постах. То же самое относится к большинству работников в компаниях, и поэтому квалифицированный ИТ-специалист должен быть в состоянии составить список приложений, которые являются безопасными для использования.
В мире Windows, возможно использовать правила на выполнение приложений с помощью специальных ограничивающих политик использования программ, а в последнее время и AppLocker.
Однако, прежде чем мы перейдем к этим передовым идеям, давайте попробуем два очень простых решения, а затем посмотрим, что с ними не так.
ACL и другие упрощения
Мы часто думаем о списках доступа ACL Windows, что они используются для управления доступом к читабельному содержимому. Но они также могут быть применены и к исполняемым файлам — то есть.ехе, .vbs, .ps1 и остальным.
Я вернулся в облако Amazon Web Services, где у меня находится домен Windows для мифической и некогда легендарной компании Acme и там проделал работу с ACL, дабы продемонстрировать некоторые ограничения доступа.
PowerShell .exe, любой системный администратор сможет без труда сказать вам, находится в C:\Windows\System32\WindowsPowerShell\v1.0. Я перешел в эту папку, вызвал ее свойства и моментально ограничил права выполнения PowerShell на 2 основные группы: «Администраторов домена» и «Acme-SnowFlakes”, группы опытных пользователей Acme.
Я перезашел на сервер, как Боб, мой амплуа в компании Acme, и попытался вызвать PowerShell. Результаты ниже.
На практике, вы могли бы, наверняка, придумать скрипт — почему бы не использовать PowerShell чтобы автоматизировать этот процесс настройки ACL для всех ноутбуков и серверов в небольших и средних по размеру компаниях.
Это не плохое решение.
Если вам не нравится идея изменения ACL на исполняемых файлах, PowerShell предлагает свои собственные средства ограничения. Как пользователь с админ-правами, можно использовать, все что угодно, но проще всего встроенный командлет Set-ExecutionPolicy.
Это уже не настолько «топорное» решение, как установка ACL. Например, вы сможете ограничить PowerShell для работы только в интерактивном режиме – с помощью параметра Restricted — так что он не будет выполнять PS-скрипты, которые могут содержать вредоносные программы хакеров.
Однако, это также заблокирует и скрипты PowerShell, запускаемые вашими ИТ-специалистами. Чтобы разрешить одобренные скрипты, но отключить скрипты злобных хакеров, используйте параметр RemoteSigned. Теперь PowerShell будет запускать только подписанные скрипты. Администраторам, конечно, придется создать их собственные сценарии и затем подписать их с использованием проверенных учетных данных.
Я не буду вдаваться в подробности, как это сделать, в основном потому, что это так легко обойти. Кое-кто тут в блоге описал аж 15 способов обхода ограничений безопасности в PowerShell.
Самый простой – это с помощью параметра Bypass в самом PowerShell. Да! (см.ниже).
Похоже на дыру в безопасности, а?
Так что в PowerShell есть несколько основных уязвимостей. Это кстати и понятно, так как это, в конце концов, всего лишь программная оболочка.
Но даже подход ограничений на уровне ACL имеет свои фундаментальные проблемы.
Если хакеры ослабят свою философию, то они смогут запросто скачать, скажем, с помощью трояна удаленного доступа (RAT) — их собственную копию PowerShell.ехе. А затем запустить его напрямую, с легкостью избежав ограничений с разрешениями с локальным PowerShell.
Политики Ограничения Использования Программ
Эти основные дыры в безопасности (как и многие другие) всегда сопровождают потребительский класс операционных систем. Это навело исследователей ОС на мысль придумать безопасную операционную систему, которая бы имела достаточно силы, чтобы контролировать то, что может быть запущено.
В мире Windows, эти силы известны как политики ограничения использования программ (SRP) — для ознакомления, посмотрите это — они настраиваются через редактор Групповых политик.
С их помощью вы сможете контролировать, какие приложения могут быть запущены на основании расширения файла, имен путей, и было ли приложение подписано цифровой подписью.
Самый эффективный, хоть и самый болезненный подход, это запретить все, а потом добавлять туда приложения, которые вам действительно нужны. Это известно как внесение в „белый список“.
Мы разберем это более подробно в следующей части.
В любом случае, вам потребуется запустить редактор политик, gpEdit и перейдите к политике Local Computer Policy>Windows Settings>Security Settings>Software Restriction Polices>Security Levels. Если Вы нажмете на “Запретить (Disallowed)”, то вы можете сделать это политикой безопасности по-умолчанию — не запускать любые исполняемые файлы!
Белый список: запретить по-умолчанию, а затем добавить разрешенные приложения в “Дополнительные правила (Additional Rules)”.
Это больше похоже на тактику выжженной земли. На практике, потребуется ввести “дополнительные правила”, чтобы добавить обратно разрешенные приложения (с указанием их наименования и пути). Если вы выходите из оболочки PowerShell, то вы фактически отключаете этот инструмент на месте.
К сожалению, вы не можете подстроить правила политик ограничения использования программ на основании отдельных групп или пользователей. Блин!
И теперь это логично приводит нас к последнему достижению безопасности Microsoft, известному как AppLocker, который имеет свои уникальные особенности, чтобы разрешить открыть приложение. Поговорим об этом в следующий раз.
Если вы видите это сообщение, значит, произошла проблема с загрузкой файлов в стилей (CSS) нашего сайта. Попробуйте сбросить кэш браузера (Ctrl+F5).
Если это не поможет, а вы находитесь в регионе, где возможны ограничения интернет-трафика с российских серверов — воспользуйтесь VPN.
Может кто знает, как отключить windows powershell, а то уже надоел совсем. Почти во всех программах находит ошибки. Запустите powershell Пуск-Программы-Стандартные-Powershell В командной строке напишите командлет Stop-Process -name powershell Если процесс не будет остановлен попробуйте в командной строке powershell следующий командлет Start-Sleep 1000 этот процесс останавливает шел на указанное время в секундах в данном случае на 1000 можете указать любой. Если не поможет, перебирайте все командлеты система выбрала этот ответ лучшим 12777 7 лет назад Для начала давайте разберемся, что такое Windows Powershell, если не вдаваться в подробности, то это современный аналог командной строки. Она присутствует в десятой, восьмой версии Windows. Есле честно, то рядовому пользователя это программа не нужна, она нужна тем, кто хорошо разбирается в компьютерах, программистам,систем Итак, чтобы отключить программу, нужно будет зайти «Панель управления», затем «Программы и компоненты», далее находим пункт «Включение и отключение компонентов Windows». Здесь нужно будет найти нашу программу Windows Powershell и снять галочку, чтобы включить программу, нужно повторить действия, только в конце поставить галочку. Барха 7 лет назад Чтобы отключить «windows powershell» можно попробовать войти в диспетчер задач и там сменить настройки, правда это эффективно в том случае, если вы хорошо разбираетесь в компьютерах и с ним на «ты», тогда это не составит никакой трудности. Но к примеру, для меня это трудно все понять, так как я в этом деле полный «чайник». Но есть еще один способ отключить windows powershell, он намного проще и пожалуй с таким решением проблем может справиться даже полный профан. Итак, нужно сделать следующее: После этого действия все будет нормально, уже без «powershell», это гораздо легче и быстрее, чем первый вариант. НеЯэт 7 лет назад Как отключить программу Windows PowerShell для Windows 10, все ниже будет подробно представлено на картинке. Есть несколько способов, мы рассмотрим два, их будет достаточно. Чтобы вызвать эту программу, достаточно начать в поиске писать ее название. Затем левой кнопкой мышки, и далее запуск от имени администратора. Вот она. Чтобы отключить, первый способ — нажать на крестик вверху справа. Но это способ для блондинки. (Шутка) И второй способ, серьезно. В строке прописать exit и нажать клавишу Enter. Поздравляю, программа отключена. Я ей тоже не пользуюсь. Если бы не этот вопрос, и не вспомнила бы о ней. PRAVD 7 лет назад Остановить или отключить действие «windows powershell» не так уж и легко. Но можно с помощью ввода соответствующих команд в командной строке. Делаем так: заходим в «Пуск» — выбираем «Панель Управления», в нем находим «Программы и компоненты» и переходим на «Включение или отключение компонентов windows» — находим нужный нам искомый параметр в строке и нажимаем выключить. Все, должно отключится. storu 7 лет назад Отключить windows powershell можно следующими способами: 1) Жмём «Пуск», открываем «Панель управления», затем — «Программы и компоненты», а там выбираем строку «Включение или отключение компонентов windows» и отключаем windows powershell. 2) Открываем: и выключаем данную опцию. Тогда вместо windows powershell у вас вернётся командная строка. Panar 7 лет назад Для отключения powershell необходимо запустить командную строку и использовать данную команду Stop-Process -name powershell Если это не сработало придется отключать в ручную зайдите в пуск, потом в панель управления, после Программы и компоненты и в разделе включение или отключения компонентов Windows отключаем его. Kobay 7 лет назад Это вполне не сложно сделать достаточно, запустить командную строку и в ней прописать команду Stop-Process-name powershell. Если это не поможет можно отключить ее в панели управления, программы и в компонентах и в разделе выбираем включение или отключения компонентов Windows и выключаем его. Neyma 7 лет назад Конечно же можно. Если вы хорошо разбираетесь в компьютере то вам просто нужно будет зайти в диспетчер задач и перенастроить некоторые компоненты. Если вы не очень разбираетесь в компьютере то просто зайдите в уск и в поиске наберите следующую команду: stop process name powershell. kkkar 7 лет назад Если хватит опыта то можете зайти в диспетчер задач и перенастроить компоненты, это проще сделать активным ,юзерам. Если вы плохо разбираетесь в компьютерах, то просто введите команду Stop-Process-name powershell. В поисковой строке, это должно помочь. Знаете ответ? |
В Windows 10 14971 стандартная командная строка в меню Win + X была заменена ее усовершенствованным аналогом PowerShell. В последней на данный момент стабильной сборке системы — Windows 10 1803 используется уже пятая версия этого инструмента, но вместе с тем в ней по-прежнему присутствует и работает устаревшая версия PowerShell 2.0. Консоль второй версии может использоваться некоторыми приложениями, но вместе с тем она представляет угрозу безопасности, делая возможным запуск в системе вредоносных скриптов.
В настоящее время разработчиками Microsoft ведется работа над оптимизацией использующих PowerShell 2.0 приложений, по завершении которой устаревшая версия оболочки будет отключена, но вы можете не дожидаться этого момента и отключить ее самостоятельно. На работу Windows 10 это не должно повлиять, в случае же крайней необходимости включить PowerShell 2.0 вы сможете в любое время. Для начала стоит проверить, включена ли устаревшая версия в вашей системе вообще.
Для этого запустите PowerShell от имени администратора и выполните такую команду:
Get-WindowsOptionalFeature -Online -FeatureName MicrosoftWindowsPowerShellV2
Обратите внимание на значение выведенного параметра State.
Если в системе активен PowerShell второй версии, оно будет Enabled (включено), в противном случае значение будет Disabled (отключено). Во втором случае ничего предпринимать не нужно, если же устаревшая версия консоли всё же окажется включенной, отключите ее, выполнив тут же следующую команду:
Disable-WindowsOptionalFeature -Online -FeatureName MicrosoftWindowsPowerShellV2Root
Чтобы окончательно убедиться, что PowerShell 2.0 действительно отключен, выполните первую команду и посмотрите значение параметра State.
Деактивировать устаревшую версию консоли можно также с помощью апплета управления компонентами Windows. Запустите его командой optionalfeatures, найдите в списке компонентов пункт Windows PowerShell 2.0, снимите с него птичку и нажмите «OK».
Изменения вступят в силу сразу, перезагружать компьютер нет необходимости.
(Image credit: Windows Central)
On Windows 10, PowerShell is a powerful cross-platform tool that allows you to run scripts and commands to change system settings, manage features, troubleshoot problems, and automate tasks.
Although it is a useful command-line shell, in some situations, you may need to disable it to make sure that users do not make unwanted changes or execute scripts with malicious commands. And other times, you may need to restrict access to PowerShell to comply with the company’s policies.
Whatever the reason it might be, Windows 10 offers multiple ways to disable access to the built-in version of PowerShell or the standalone version of the tool, PowerShell 7.
In this Windows 10 guide, we will walk you through three different ways to disable access to PowerShell, including PowerShell 7.
- How to block PowerShell access using Group Policy
- How to block PowerShell access using Security Policy
- How to block PowerShell 7 access uninstalling app
How to block PowerShell access using Group Policy
If you use Windows 10 Pro (or Enterprise), the easiest way to disable access to PowerShell is using the Local Group Policy Editor.
To disable PowerShell on Windows 10, use these steps:
- Open Start.
- Search for gpedit.msc and select the top result to open the Local Group Policy Editor.
- Browse the following path:
User Configuration > Administrative Templates > System
- On the right side, double-click the Don’t run specified Windows applications policy.
- Select the Enabled option.
- Under the «Option»s section, click the Show button.
- In the «Value» column, type powershell.exe to disable the PowerShell experience.
- (Optional) In the «Value» column, type powershell_ise.exe in a new cell to disable the PowerShell ISE interface.
- (Optional) In the «Value» column, type pwsh.exe in a new cell to disable PowerShell 7.
- Click the Apply. button
- Click the OK button.
Once you complete the steps, users will no longer be able to launch and use PowerShell.
All the latest news, reviews, and guides for Windows and Xbox diehards.
In the case you change your mind, you can roll back the previous settings using the same instructions, but on step No. 5, select the Not Configured option.
We are focusing this guide on disabling PowerShell for all users, but you can also restrict access to the shell for specific users with these instructions.
How to block PowerShell access using Security Policy
Alternatively, you can achieve the same effect using the Local Security Policy console.
To prevent users from launching PowerShell settings up a Local Security Policy, use these steps:
- Open Start.
- Search for Local Group Policy and click the top result to open the app.
- Double-click to expand the Software Restriction Policies branch.
- Right-click the «Additional Rules» category, and select the New Hash Rule option.Quick tip: If the category is not available, right-click the Software Restriction Policies branch and select the New Software Restriction Policies option.
- Click the Browse button.
- Copy and paste the following path in the address bar to locate the 32-bit version of PowerShell and press Enter:
%SystemRoot%\system32\WindowsPowerShell\v1.0
- Select the powershell.exe executable.
- Click the Open button.
- Click the Apply button.
- Click the OK button.
- Right-click the «Additional Rules» category and select the New Hash Rule option.
- Click the Browse button.
- Copy and paste the following path in the address bar to locate the 64-bit version of PowerShell and press Enter:
%SystemRoot%\SysWOW64\WindowsPowerShell\v1.0
Quick tip: If you want to disable access to PowerShell version 7, then you can create another hash rule with this path:"%SystemRoot%\Program Files\PowerShell\7\pwsh.exe
. Or uninstall the app with the steps below. - Select the powershell.exe executable.
- Click the Open button.
- Click the Apply button.
- Click the OK button.
- Restart the computer.
After you complete the steps, users will no longer be able to launch the 32-bit or 64-bit version of PowerShell.
Disable access PowerShell ISE
Although the above steps can restrict access to the command-line tool, users can still get around this limitation using the PowerShell ISE interface. However, you can also disable access to this tool with the Local Security Policy app.
To disable access to PowerShell ISE, use these steps:
- Open Start.
- Search for Local Group Policy and click the top result to open the app.
- Double-click to expand the Software Restriction Policies branch.
- Right-click the «Additional Rules» category, and select the New Hash Rule option.
- Click the Browse button.
- Copy and paste the following path in the address bar to locate the 32-bit version of PowerShell ISE and press Enter:
%SystemRoot%\system32\WindowsPowerShell\v1.0
- Select the powershell_ise.exe executable.
- Click the Open button.
- Click the Apply button.
- Click the OK button.
- Right-click the «Additional Rules» category and select the New Hash Rule option.
- Click the Browse button.
- Copy and paste the following path in the address bar to locate the 64-bit version of PowerShell and press Enter:
%SystemRoot%\SysWOW64\WindowsPowerShell\v1.0
- Select the powershell_ise.exe executable.
- Click the Open button.
- Click the Apply button.
- Click the OK button.
- Restart the computer.
Once you complete the steps, the built-in version of PowerShell ISE will no longer be accessible.
If you want to revert the changes, you can use the same instructions outlined above, but on step No. 4, right-click each hash rule you created, select the Delete option, and restart the computer.
How to block PowerShell 7 access uninstalling app
If the device also has PowerShell 7, you can restrict access by removing the app from Windows 10.
To uninstall PowerShell 7, use these steps:
- Open Settings.
- Click on Apps.
- Click on Apps & features.
- Under the «Apps & features» section, select the PowerShell app.
- Click the Uninstall button.
- Click the Uninstall button again.
- Continue with the on-screen directions (if applicable).
After you complete the steps, no one will have access to PowerShell version 7 since it’s no longer installed on the device. Of course, you can always download and install the app again.
If you are trying to prevent users from making unwanted system changes, in addition to restricting access to PowerShell, you can also disable Command Prompt, Task Manager, and Registry. Furthermore, you can even try switching the account type to «Standard User» to prevent users from making system changes and make the account more secure. However, users will still have access to PowerShell, Command Prompt, and Task Manager to perform some common tasks.
Mauro Huculak has been a Windows How-To Expert contributor for WindowsCentral.com for nearly a decade and has over 15 years of experience writing comprehensive guides. He also has an IT background and has achieved different professional certifications from Microsoft, Cisco, VMware, and CompTIA. He has been recognized as a Microsoft MVP for many years.