반응형
안티 리버싱 SeDebugPrivilege, 우회방법
일반적으로 프로세스는 접근 토큰 내에 SeDebugPrivilege 특권이 비활성화 되어있다.
프로세스가 디버거에 연결된 경우 "SeDebugPrivilege" 특권이 활성화 됨.
SeDebugPrivilege 특권
: 해당 특권이 활성화 되면, 프로세스 관리자는 프로세스나 스레드의 보안 디스크립터에 상관없이 NtOpenProcess나 NtOpenThread를 사용해 어떤 프로세스나 스레드에 대한 접근을 허용함.
==> PROCESS_ALL_ACCESS 권한으로 OpenProcess() 함수를 호출하더라도 잘 실행됨.
[안티디버깅]
ALL_ACCESS 권한으로 잘 열리면, 디버깅 중이구나!!
[우회방법]
1) ntdll!NtOpenProcess() 반환 부분에 BP걸고
2) 요청하는 프로세스가 csrss.exe일 경우
3) eax값을 0x00000022(STATUS_ACCESS_DENIED)로 설정.
반응형
'취약점 분석 > 안티 리버싱' 카테고리의 다른 글
NtQueryInformationProcess - NoDebugInherit 우회방법 (0) | 2019.02.27 |
---|---|
안티 리버싱 - BP를 찾자. (0) | 2019.02.26 |
NtGlobalFlag, 우회방법 (0) | 2019.02.26 |
FindWindow, 우회방법 (0) | 2019.02.26 |
IsDebuggerPresent, 우회 방법 (0) | 2019.02.26 |