일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 제주글렌코
- 카페글렌코
- FDO
- ADO
- winhttp
- 토지이용규제정보서비스
- 정원카페
- 가게부채
- RSA AES256
- Revenge-RAT
- 세금의종류
- 미국국채
- 중국지준율
- 10년물
- 지준율
- RSA
- DonwLoader
- 재산세
- rat
- 중국가게부채
- 장단기금리역전
- 세금
- shellcodeLoader
- 경제
- RSA 2048
- 글렌코
- powershell
- 건폐율제한
- 중국부실채권
- 취득세
- Today
- Total
부동산, 채권, 주식, 경제흐름 자료를 모아 보는 블로그입니다.
UAC( User Account Control ) 본문
UAC( User Account Control )
VISTA 이후 윈도우 사용자는 자주 아래와 같은 박스를 자주 볼 수 있습니다.
< UAC 동작 >
What is UAC ??
MS에서 정의한 UAC는 아래와 같습니다.
UAC( 사용자 계정 컨트롤 )는 Window Vista이후 나온 보안기능으로 보안 토큰을 이용하여 컴퓨터를 무단으로 변경하지 못하게 하도록 한다.
만약 관리자 수준의 작업을 하기위해 프로그램을 실행할 경우 프로그램의 실행여부를 사용자에게 확인 이후 실행하게 된다.
UAC는 어떻게 동작하는것일까?
위와 같이 박스창이 뜰 경우 쉘이 비활성화 되며 해당 박스창만 활성화 되며, 해당 박스창만 사용이 가능합니다.
Window에서 UAC가 동작하는 과정은 아래와 같습니다.
사용자가 윈도우 쉘로 특정 프로그램을 실행할 경우 Appinfo 서비스에서 해당 프로그램이 관리자 권한으로 돌아가야하는 프로그램인지 서드파티 프로그램인지에 대한 정보를 확인하게 됩니다.
이후 Consent.exe를 이용하여 윈도우를 비활성화 하고 사용자에게 변경허용할지에 대한 대화 상자를 띄우게 됩니다.
이때 사용자가 허용을 누를 경우 해당 프로그램을 CreateProcessAsUser함수로 관리자 권한으로 실행하고, 허용을 하지 않을 경우 프로그램은 종료됩니다.
UAC 동작과정에 대한 Flow는 아래와 같다. ( 해당 그림은 외국 블로그에서 가져왔으나 출처가 남아있지 않아 남기지 못했습니다. )
UAC 대화창 발생 조건은 아래와 같습니다.
1. 사용자가 유저레벨에서 프로그램 실행시 해당 프로그램이 Admin 권한 레벨의 작업이 필요한 경우
2. 서드파티 어플리케이션인 경우(Microsoft가 아닌 프로그램)
3. MS 프로그램이지만 Menifest의 Auto Elevation Option이 No인 경우
UAC 예외사항
추가적으로 UAC와 관련된 Menifest 정보는 아래와 같습니다.
|
Description |
Comment |
asInvoker |
The application runs with the same access token as the parent process. |
Recommended for standard user applications. Do refractoring with internal elevation points, as per the guidance provided earlier in this document. |
highestAvailable |
The application runs with the highest privileges the current user can obtain. |
Recommended for mixed-mode applications. Plan to refractor the application in a future release. |
requireAdministrator |
The application runs only for administrators and requires that the application be launched with the full access token of an administrator. |
Recommended for administrator only applications. Internal elevation points are not needed. The application is already running elevated. Value
|
출처 : https://msdn.microsoft.com/en-us/library/bb756929.aspx
특정 어플리케이션 개발시 Admin권한이 필요한 작업을 하는 프로그램의 경우 UAC 실행수준을 설정해주어야 한다. 해당 실행수준을 설정하지 않고 Admin권한이 필요한 작업을 수행하려고 할 경우 Error를 발생시키므로 각별하게 주의가 필요합니다.
아래 프로그램의 설정은 MBR 분석 프로그램을 설정한 화면으로 MBR을 읽기 위해서는 반드시 Admin권한이 필요하므로 반드시 UAC 사용 및 실행수준을 requireAdministrator를 주어야 합니다.
해당 프로그램을 빌드시 PE Format 내부 Menifest 정보가 업그레이드 되며 프로그램 실행시 윈도우에서는 해당 Menifrest 정보를 참고하여 UAC 실행여부를 확인하여 유저에게 박스창을 띄우게 됩니다.
'Study' 카테고리의 다른 글
Cmdlet(Power Shell) (0) | 2016.12.21 |
---|---|
WMI (Windows Management Instrumentation) (0) | 2016.08.22 |
PowerShell을 이용한 다운로더 (0) | 2016.08.22 |
PowerShell 에서 사용할 수 있는 환경 변수 (0) | 2016.08.21 |
간단한 ShellCode Loader 만들기 (0) | 2016.04.02 |