USER_MODE
1. 현재 스레드의 계정 정보를 구할 수 있는 API 제공(GetUserName, LsaGetUserName등등)
2. 스레드의 토큰을 이용하는 방법
- OpenProcessToken, OpenThreadToken
- GetTokenInformation(HANDLE tokenhandle, TokenUser,.....)
3. SID 를 이용하는 방법
- LookupAccountSid
KERNEL_MODE
1. 스레드 토큰 이용
- 스레드토큰을 이용해서 사용자 토큰을 얻음
RtlCopySid 이용하여 전달함.
2. driver의 callback 데이타를 이용함.(mini filter driver)
PACCESS_TOKEN pToken;
PTOKEN_USER pUser = NULL;
pToken = SeQuerySubjectContextToken(&(Data->Iopb->Parameters.Create.SecurityContext->AccessState->SubjectSecurityContext));
SeQueryInformationToken(pToken, TokenUser, &pUser);
........
ExFreePool(pUser);
댓글 없음:
댓글 쓰기