이전 연구에서는..
-
작업관리자 (Taskmgr.exe)를 후킹하여 process를 은닉함
이번 연구에서는..
-
숨기고자하는 process가 tasklist에서는 은닉되지않았기때문에, 연구를 진행
이전 연구의 성과
return to ntdll 이전에, 코드를 인젝션하여 return buffer를 조작하는 방법을 사용했음
이전 연구의 문제점
ntdll!NtQuerySystemInformation API를 해당 프로세스에서 사용하지 않는다면, 또는 kernel memory 를 직접 읽는다면 은닉을 회피할 수 있음
이번 연구의 성과
tasklist도구를 사용하면 이전 연구의 문제점이 보인다. 후킹이 진행되더라도 운영체제에게 간접적으로 요청하는 경우, 또는 kernel memory를 직접 읽는 경우 은닉하지 못하는 단점을 극복하는 방향을 찾음.
ntdll!ZwAlpcSendWaitReceivePort API를 후킹하여 조작하면 된다.