본문 바로가기

CheckRemoteDebuggerPresent, 우회방법 (최신) CheckRemoteDebuggerPresent 안티디버깅 기법, 우회 방법 Remote라고 해서 꼭 원격의 디버거만을 의미하는 게 아니라, 디버거가 별도의 병렬 프로세스에 존재한다는 것을 나타낸다. 내부적으로 IsDebuggerPresent or NtQueryInformationProcess 함수를 사용하여 호출 프로세스가 디버거에서 실행 중인지 여부를 탐지한다. CheckRemoteDebuggerPresentSyntax HANDLE hProcess [in]: 확인하고싶은 프로세스의 핸들 PBOOL pbDebuggerPresent [in, out]: 디버깅 중이냐 아니냐 값 True or False 반환됨. [CheckRemoteDebuggerPresent 함수 내부] 내부에서 2번째 인자로 Proce..
NtQueryInformationProcess - ProcessDebugObjectHandle 우회방법 NtQueryInformationProcess, ZwQueryInformationProcess - ProcessDebugObjectHandle참고URL : https://docs.microsoft.com/en-us/windows/desktop/procthread/zwqueryinformationprocess NtQueryInformationProcess는 ZwQueryInformationProcess의 wrapper 함수이다. [ ZwQueryInformationProcess 함수 ][Syntax] ProcessHandle: 정보를 받기를 원하는 프로세스의 핸들 ProcessInformationClass [in]: 받고자 하는 프로세스 정보 타입. (참고 URL을 보면 목록을 볼 수 있다.)문서화 되지 ..
NtQueryInformationProcess - ProessDebugPort 우회방법 NtQueryInformationProcess, ZwQueryInformationProcess - ProcessDebugPort참고URL : https://docs.microsoft.com/en-us/windows/desktop/procthread/zwqueryinformationprocess NtQueryInformationProcess는 ZwQueryInformationProcess의 wrapper 함수이다. [ ZwQueryInformationProcess 함수 ][Syntax] ProcessHandle: 정보를 받기를 원하는 프로세스의 핸들 ProcessInformationClass [in]: 받고자 하는 프로세스 정보 타입. (참고 URL을 보면 목록을 볼 수 있다.)ProcessDebugPor..
NtQueryInformationProcess - NoDebugInherit 우회방법 NtQueryInformationProcess, ZwQueryInformationProcess - NoDebugInherit참고URL : https://docs.microsoft.com/en-us/windows/desktop/procthread/zwqueryinformationprocess NtQueryInformationProcess는 ZwQueryInformationProcess의 wrapper 함수이다. [ ZwQueryInformationProcess 함수 ][Syntax] ProcessHandle: 정보를 받기를 원하는 프로세스의 핸들 ProcessInformationClass [in]: 받고자 하는 프로세스 정보 타입. (참고 URL을 보면 목록을 볼 수 있다.)하지만 지금 살펴볼 값은 문서화..