VMP Mutation 함수 복구
[0x00] Overview
지속적으로 개발중인 분석 도구(Shh0ya Rootkit
)에서 사용 중인 기능을 포터블 형식으로 개발하였습니다.
매우 단순한 형식이지만 분석에 매우 강력한 도구가 될 수 있습니다.
[0x01] Requirements
파일 덤프를 필요로 합니다. 이는 메모리 상에서 덤프를 생성하고 파일 오프셋이 변환된 덤프를 의미합니다.
예로, Scylla Dump
와 같습니다. 상세한 내용은 코드를 참조 바랍니다.
[0x02] Features
Shh0ya Rootkit
에서 간략한 기능만 추출하였으며 상세 기능은 제공하지 않습니다.
- VMP Mutation 이 적용된 API를 복구합니다. 참조
- 32bit 실행 파일 지원
- 64bit 실행 파일 지원
- 64bit 커널 드라이버 지원 (ntoskrnl 한정)
[0x03] How
Zydis
디스어셈블리 엔진을 이용하여 코드 구문을 분석하고 이를 토대로 Mutation이 적용된 API를 찾아 새로운 IAT를 할당하고 계산된 값으로 채워 넣습니다.
MutantKiller32.exe <32bit vmp dump> <process id>
MutantKiller64.exe <64bit vmp dump> <process id>
MutantKiller64.exe <64bit vmp driver dump> 4
[0x04] Conclusion
소스코드는 아래에서 확인할 수 있습니다.
- https://github.com/Shhoya/MutantKiller