본문 바로가기
Development/Visual Studio

[Windows] Access Mask Format

by qWooWp 2022. 12. 27.
반응형

레지스트리 엑세스를 하려고 하다 문득 Access Mask 옵션이 눈에 보여서 검색한 내용을 정리 합니다. 

 

인자는 32bit Type 으로 되어 있고 각 비트는 위의 그림과 같이 나뉘어 있습니다. 

 

AS -> SACL 이란 ACCESS_SYSTEM_SECURITY 접근권한으로 객체의 security descriptor 안의 SACL bit 를 설정하여 그 권한을 가져올 수 있습니다. 

 

방법은 아래와 같은 절차를 따라야 합니다.  

1. AdjustTokenPrivileges 함수를 호출하여 SE_SECURITY_NAME 권환을 활성화 시킵니다. 

2. ACCESS_SYSTEM_SECURITY 접근 권한을 접근하려는 핸들을 열때 요청 합니다. 

 (예를들어 Registry 를 Open 할 때 위의 ACCESS MASK 를 주는 것을 의미 합니다)

3. GetSecurityInfo or SetSecurityInfo 를 이용하여 객체의 SACL 을 설정하거나 가져올 수 있습니다. (별도)

4. AdjustTokenPrivileges 를 비활성화 합니다. 

 관련 샘플 코드 

https://learn.microsoft.com/en-us/windows/win32/secauthz/enabling-and-disabling-privileges-in-c--

 

Enabling and Disabling Privileges in C++ - Win32 apps

Enabling a privilege in an access token allows the process to perform system-level actions that it could not previously.

learn.microsoft.com

 

Standard Access Rights 은 아래와 같은 값을 가질 수 있습니다. 

 

반응형

댓글