Process Hollowing
: 정상적인 프로세스를 생성하고, 생성한 프로세스에 악성PE 데이터를 삽입하여 실행하는 기법.
1. CreateProcess -> dwCreationFlags(CREATE_SUSPENDED(0x0000004))
프로세스 생성 시, CREATE_SUSPENDED 값을 인자로하여 대기 상태의 프로세스를 생성한다.
2. GetThreadContext
TheadContext -> Eip 레지스터를 얻어온다. 이후에 Entry Point 를 수정하기 위함.
3. ZwUnmapViewOfSection
대기 상태에 머물러 있는 프로세스에서, 정상 코드를 메모리 상에서 할당 해지한다.
4. VirtualAlloc, WriteProcessMemory
새로운 코드를 쓰기 위한 메모리 할당 및 코드 쓰기
5. setThreadContext
GetThreadContext 함수를 이용해 얻어온 Eip 레지스터 값을 수정하여, 새로운 코드 섹션 지정
6. ResumeThread
대기 상태에 머물러있는 프로세스의 실행 재개.
'malware analysis' 카테고리의 다른 글
GandCrab v4.3 Ransomware (0) | 2018.08.28 |
---|---|
PAC(Proxy Auto-Config)를 이용한 파밍 (0) | 2018.08.12 |
[Malware] BoSSaBot (0) | 2018.05.06 |
[Malware] TeslaCrypt Analysis (0) | 2016.02.02 |