티스토리 뷰

728x90
반응형

[Malware analysis] CVE-2017-8291, 고스트스크립트 취약점 ②


[Malware analysis] CVE-2017-8291, 고스트스크립트 취약점 ①


계속 진행해서 HimTratIcon.exe 살펴보자.


1. Injection 상세분석(HimTratIcon.exe)

alloc 할당을 진행 후 반복을 통해 메모리에 PE파일을 쌓는 걸 확인할 수 있었다



진행 시 System 폴더 경로를 얻은 후 해시 값을 통해 “userinit.exe”을 얻는 것을 확인할 수 있다. 이후 alloc 할당까지 진행하는 것을 알 수 있으며, CreateProcessA() 까지 호출하는 것을 확인할 수 있었다.


“Userini.exe” 프로세스를 Suspend 상태로 생성하는 것을 알 수 있다.


이후 살펴보면 VirtualAlloceEX(), WriteProcessMemory() API을 이용하여 대상 프로세스(userinit.exe)에 할당 및 PE파일을 쓰는 것을 확인할 수 있다. 이후 스레드 컨텍스트까지 얻은 후 ResumeThread()을 통해 Suspend 상태를 해제하는 것을 알 수 있다.


2. Userinit.exe 상세분석

살펴보면 현재 프로세스를 얻으려고 시도하지만 실패를 하는 것을 알 수 있다. 즉, 권한이 없이 때문에 실패를 했다.

해당 프로세스의 권한을 얻기 위해 OpenProcessToken(), LookupPrivilegeValue(), AdjustTokenPrivilegeValue API을 이용하여 프로세스의 권한을 재설정하여 권한을 높여주는 것을 확인할 수 있다.


계속보게 되면 SYSTEM\CurrentControlSet\Control\SystemInformationSystemProduc 경로를 얻은 후 SytemProductName 값을 얻는 것을 확인할 수 있다.

기존 값은 “VMware Virtual Platform” 였지만 “jeongzzang”로 변경한 후 값을 가지고 왔다.