반응형 Programming/Security Programming6 [x64 Windows]프로세스 보호기능 구현 집에서 쉬면서 주말동안 했던 코딩했던 것들을 정리해봅니다.본 포스팅 은 프로세스 보호기능 구현에 관련해 작성되었으며 드라이버 테스트환경은 Windows 7 x64에서 이루어졌음을 알립니다. 최근에 알게 된 프로세스 보호기능에 대해 간단히 알아보고자 한다. 소개할 방법은 통해 프로세스뿐만아니라 파일보호 레지스터보호 또한 가능하다. 이번에 소개할 프로세스 보호 방법은 ObRegisterCallbacks를 통한 방법이다. ObRegisterCallbacks는 Thread나 Process에 대한 핸들 작업이 이루어질 때 호출되는 콜백루틴를 등록하는 함수이다. 해당 방법은 x86에서 x64로 넘어오면서 Patch Guard의 존재로 SSDT나 KiSystemCall등의 후킹이 어려워졌는데 해당 방법은 MS에서 허.. 2018. 4. 30. SetUnhandledExceptionFilter를 이용한 AntiDebugging 최근에 발견된 악성코드에서 SetUnhandledExceptionFilter를 이용한 Anti Debugging기법이 있어 끄적여본다.우선 SetUnhandledExceptionFilter에 대해 알아보자. ※SetUnhandledExceptionFilter란? After calling this function, if an exception occurs in a process that is not being debugged, and the exception makes it to the unhandled exception filter, that filter will call the exception filter function specified by the lpTopLevelExceptionFilter p.. 2018. 4. 10. [SYSENTER Hooking] ZwOpenProcess/ ZwTerminateProcess 모니터링 요즘 바빠서 공부를 잘못했는데 시간을 내서 진행해보았습니다. 내용이 약간 두서없더라도 이해해주세요.추후 수정하겠습니다. 루트킷진행하면서 SysEnter Hooking을 통한 프로세스 모니터링을 진행해보았습니다. 먼저 SysEnter를 통한 커널진입을 간단히 보겠습니다. ※ SYSENTER 커널진입 : 자세한 내용은 SSDT Hook을 참조 ①User Level에서 eax에 Service Num과 edx에 Parameter 프레임포인터를 저장한 뒤 커널모드 진입합니다. ② msr : 0x176에 있는 KiFastCallEntry주소를 EIP로 가져와 실행합니다. ③ SSDT를 참조하여 함수를 호출합니다. ※SYSENTER Hook의 함수호출 전체적인 그림 : Hook은 원래의 KiFastCallEntry가.. 2017. 7. 20. SSDT후킹(SSDT Hooking)!! 파일삭제 거부 프로그램! 정말 오래된 기술인 SSDT후킹을 이용해서 파일삭제 불가 프로그램 만들어보았습니다!! 다른 블로그에서 기재된 내용을 이용하여 진행해보았습니다. SSDT후킹은 Native API Table인 SSDT에서 함수의 주소를 제작된 함수의 주소로 바꾸는 기술입니다. ssdt 참조 : http://jeep-shoes.tistory.com/7 제작되는 프로그램은 ZwOpenFile을 후킹하였습니다. void memprotect_off() { __asm { cli // clear Interrupt push eax mov eax, cr0 and eax, 0xfffeffff mov CR0, eax pop eax } } void memprotect_on() { __asm { push eax mov eax, CR0 or ea.. 2017. 6. 6. 이전 1 2 다음 반응형