본문 바로가기

취약점 분석/안티 리버싱

SeDebugPrivilege, 우회방법

반응형

안티 리버싱 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)로 설정.

 

반응형