-
API Code Patch> Information Security/Windows 2012. 6. 11. 19:10
API Code Patch
API Code Patch를 해석해보면 API의 코드를 수정한다는 의미다.
아래의 API Code Patch의 테크맵을 보면 API Code Patch의 방법을 크게 알 수 있다.
API Code Patch는 동적(dynamic)인 방법으로 프로세스메모리의 Code부분에 Injection기법을 사용한다.
DLL 파일이 사용되며 CreatRemoteThread라는 API함수가 이용된다.
API Code Patch의 동작 원리다.
API Code Patch가 되었을 때 Code의 시작 5byte부분이 JMP XXXXX 로 변경된다.
예로, procexec.exe와 ntdll.dll 파일이 있다고 하자
이때 Stealth.dll 파일을 인젝션 해주게 되면 (API Code Patch가 사용되는 부분이다)
ntdll.dll 파일의 코드부분의 첫 5byte가 JMP XXXXX 명령어로 변경된 것을 볼 수 있다.
여기서 스텔스 기법이 나타나는데
스텔스 기법에 대해서는 따로 포스팅을 하도록 하겠다.
그래서 결과적으로 API Code Patch의 특징은 다음과 같다.
API Code Patch의 장점은 어떤 API라도 후킹이 가능하다는 점이고,
프로세스 메모리공간에 매핑된 DLL Code를 직접 수정하는 방식이다.
따라서 이 API Code Patch는 스텔스 기법(프로세스 은폐)에 사용된다.
728x90반응형'> Information Security > Windows' 카테고리의 다른 글
악성코드 탐지 - 툴 사용법 (0) 2014.05.30 Stealth (프로세스 은폐기법) (2) 2012.06.11 안티디버깅 기법 - CheckRemoteDebuggerPresent() (1) 2012.05.20 안티디버깅 - IsDebuggerPresent (3) 2012.04.11 안티디버깅(Anti Debugging) (0) 2012.04.11