티스토리 뷰
[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”로 변경한 후 값을 가지고 왔다.
살펴보면 이전 얻은 SystemProductName을 CALL 4059E0에서 비교하는 부분을 확인할 수 있었다.
CALL 4059E0에서 Virtual 가상 환경인지를 이름을 통해 확인 하는 것을 확인 후 미리 이름을 변경을 하였다. 이후 CALL 40588F에서 안티디버깅 API를 추가 확인했으며 가상 환경이 아니라 이후 계속 진행하였다.
살펴보면 가상 환경 체크 후 Kernel32, Wininet, advapi32 API를 로딩 하는 것을 확인할 수 있으며, 이후 스레드를 생성 후 Sleep 하는 것을 알 수 있다.
살펴보면 Sleep() API 호출 이후 스레드에 CPU가 점유하면서 “cmd.exe”을 이용하여 Temp 폴더에 있는 “a.24fd.bat” 실행하는 것을 확인할 수 있었다.
'Reversing > Malware analysis' 카테고리의 다른 글
[Malware analysis] Visual Basic 악성코드 (0) | 2020.10.28 |
---|---|
[Malware analysis] 암호 걸린 첨부 파일을 이용한 Emotet (0) | 2020.10.27 |
[Malware analysis] CVE-2017-8291, 고스트스크립트 취약점 ① (0) | 2020.10.26 |
[Malware analysis] 정보 탈취형 멀웨어 Lokibot (0) | 2020.10.22 |
[Malware analysis] 암호 걸린 첨부 파일 내 워드문서를 통한 인포스틸러(Emotet) 악성코드 (4) | 2020.10.20 |
- Total
- Today