물리 메모리 주소 변환
Converting Virtual Addresses to Physical Addresses 해당 글에서는 Windbg를 통해 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법을 리뷰합니다. 물리 메모리를 확인하기 위해서는 전체 메모리 덤프 파일이 필요합니다. 다음과 같은 시스템 설정을 통해 전체 메모리를 덤프합니다. Virtual addres...
Converting Virtual Addresses to Physical Addresses 해당 글에서는 Windbg를 통해 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법을 리뷰합니다. 물리 메모리를 확인하기 위해서는 전체 메모리 덤프 파일이 필요합니다. 다음과 같은 시스템 설정을 통해 전체 메모리를 덤프합니다. Virtual addres...
HyperDbg HyperDbg는 Intel EPT를 활용하여 사용자에게 보이지 않는 Stealth hook을 실행가능한 오픈소스 디버거입니다. 커널 및 유저레벨 디버깅을 모두 지원합니다. Disable DSE HyperDbg는 vmm이라는 서명되지 않은 드라이버 파일을 로드합니다. 해당 파일을 실행하기 위해서는 테스트모드 또는 DSE 기능을 비활...
Hidden Files 해킹툴을 분석하다보면 탐색기를 통해 보이지 않는 파일이 종종 발견됩니다. 해당 글에서 소개하는 핵툴 또한 windir 경로에 숨겨진 파일(mrt100.dll)을 생성합니다. 해당 파일은 윈도우 탐색기에서 숨긴 항목 기능을 활성화하여도 보이지 않습니다. attrib.exe 생성된 경로로 이동하여 dir 명령을 통해 확인해보...
STATUS_UNSUCCESSFUL (0xC0000001) OpenProcess를 호출하면 0xC0000001를 반환하며 실패하는 해킹툴이 발견되었습니다. 다음과 같이 NtOpenProcess 시스콜 이후에 실패하고 있으며, 이를 봤을 때 커널 레벨에서 조작된 것을 추측할 수 있습니다. 해당 값은 MS-ERREF 문서에 나와있는데 요청이 실패한 ...
STATUS_PROCESS_IS_TERMINATING (C000010A) 해당 핵툴은 원격 스레드 생성 시, NtCreateThread 시스템콜 단계에서 0xC000010A를 반환하며 실패합니다. 또한 프로세스가 종료되지 않습니다. 해당 값은 MS-ERREF 문서에 나와있는데 이전에 프로세스가 종료를 시도했음을 나타냅니다. 현재 종료 중이거나, 이...
STATUS_OBJECT_TYPE_MISMATCH (C0000024) OpenProcess를 호출하면 0xC0000024를 반환하며 실패하는 해킹툴이 발견되었습니다. 다음과 같이 NtOpenProcess 시스콜 이후에 실패하고 있으며, 이를 봤을 때 커널 레벨에서 조작된 것을 추측할 수 있습니다. 해당 값은 MS-ERREF 문서에 나와있는데 요청...
STATUS_INVALID_CID (0xC000000B) OpenProcess를 호출하면 0xC000000B를 반환하며 실패하는 해킹툴이 발견되었습니다. 다음과 같이 NtOpenProcess 시스콜 이후에 실패하고 있으며, 이를 봤을 때 커널 레벨에서 조작된 것을 추측할 수 있습니다. 해당 값은 MS-ERREF 문서에 나와있는데 클라이언트 ID...
OpenProcess TerminateProcess, Read/WriteProcessMemory, CreateRemoteThread 등 외부 프로세스를 제어하기 위해서는 OpenProcess를 통한 핸들 획득이 필요합니다. 운영체제에서는 사용자로부터 이러한 접근 행위를 방지하고자 커널 레벨의 보호 기능이 구현되어 있습니다. 일부 시스템 프로세스에는 ...
STATUS_INVALID_IMAGE_FORMAT (0xC000007B) 해킹툴 분석 중 특정 프로세스에 스레드 생성을 전부 차단해버리는 재밌는 녀석을 발견했습니다. 해킹툴이 적용되면 OpenProcess(PROCESS_ALL_ACCESS)를 통해 정상적인 핸들을 획득했더라도 CreateThread, RemoteCreateThread, NtCreate...
Invalid Certificate 최근 들어, 유효하지 않은 형태로 서명된 해킹툴이 많이 보이고 있습니다. 아래 사진은 게임 메모리를 조작하는 DLL 파일인데 ‘Microsoft Corporation’으로 서명되어 있습니다. 이러한 가짜 서명은 안티치트를 우회하는 목적으로 사용되며, 주로 유저 레벨에서 동작하는 실행 파일(exe, dll)에서 발...