PowerShell의 ExecutionPolicy 우회 대 무제한
이 기사에서는 PowerShell, Bypass
및 Unrestricted
의 실행 정책을 소개합니다.
PowerShell 실행 정책
PowerShell은 시스템 관리자, 보안 테스트 및 해커 사이에서 가장 널리 사용되는 스크립팅 언어 중 하나입니다. Windows는 컴퓨터에서 가장 많이 사용되는 운영 체제입니다.
따라서 수백만 명의 사용자가 사용하고 있습니다. 따라서 PowerShell은 워크플로를 자동화하고 Windows API를 호출하며 침투 테스트 도구를 작성하는 데 사용됩니다.
많은 Windows 사용자로 인해 Microsoft는 몇 가지 기본 제공 보안 기능을 추가하는 조치를 취했습니다. 시스템에서 실행할 수 있는 PowerShell 스크립트 유형을 결정하기 위해 실행 정책이 도입되었습니다.
사용자가 특정 PowerShell 스크립트를 실행하는 것이 제한된다는 의미는 아닙니다. 따라서 실행 정책은 의도하지 않은 스크립트 실행을 방지합니다.
Bypass
및 Unrestricted
는 두 가지 중요한 실행 정책입니다. 이 두 정책은 매우 동일한 동작을 합니다.
실행 정책 사용자 지정
PowerShell 사용자는 기존 정책을 쉽게 변경할 수 있습니다. Set-ExecutionPolicy
cmdlet은 PowerShell 실행 정책을 사용자 지정하는 데 사용됩니다.
통사론:
Set-ExecutionPolicy
[-ExecutionPolicy] <ExecutionPolicy>
[[-Scope] <ExecutionPolicyScope>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
-ExecutionPolicy
매개변수는 Bypass
및 Unrestricted
와 같은 PowerShell 실행 정책을 지정합니다. 또한 -Scope
플래그는 Process
, CurrentUser
또는 LocalMachine
과 같은 정책 범위를 제공할 수 있습니다.
PowerShell 우회
정책
Bypass
정책은 모든 Windows PowerShell 보안 검사를 건너뛰는 데 사용됩니다. 위험은 우회
정책을 사용하면 경고나 프롬프트 없이 모든 PowerShell 스크립트를 실행할 수 있습니다.
따라서 사용자는 Bypass
정책을 사용할 때 주의해야 합니다. 일반적으로 보안 모델이 포함된 애플리케이션에 이 정책을 사용합니다.
Bypass
실행 정책은 아래와 같이 설정할 수 있습니다.
Set-ExecutionPolicy -ExecutionPolicy Bypass
출력:
모든 PowerShell 스크립트를 실행할 수 있으므로 PowerShell은 악의적인 스크립트가 의도하지 않게 실행되어 개인 데이터에 해를 끼칠 수 있으므로 경고합니다. 실행 정책을 변경하려면 관리자 권한으로 PowerShell을 실행해야 합니다.
Get-ExecutionPolicy
cmdlet을 사용하여 정책 변경을 확인할 수 있습니다.
Get-ExecutionPolicy -List
출력:
정책 변경은 LocalMachine
범위에 영향을 줍니다.
PowerShell 무제한
정책
Unrestricted
정책은 Bypass
정책과 유사합니다. 주요 차이점은 Unrestricted
정책이 서명되지 않은 스크립트를 실행하기 전에 경고하고 올바른 권한을 요청한다는 것입니다.
Set-ExecutionPolicy
cmdlet을 사용하여 이 실행 정책을 설정할 수 있습니다.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
출력:
Get-ExecutionPolicy
cmdlet을 통해 위의 변경 사항을 확인할 수 있습니다.
출력:
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.