얼마 전, HijacLoader에 대해 알게되었다. 해당 로더의 동작 방식이 좀 재밌어서, 블로그에 기록한다.
로더들은 추가 악성코드를 피해자 PC에 다운로드하고 실행시키는게 목적이다. 그래서 보통 본 로더들은 파워쉘을 실행시키거나, 또 다른 파일을 실행시키는 형태로 동작한다.
위와 같은 형태인데, HijackLoader도 추가 악성코드를 실행시키는 것은 기존 로더와 동일하다. 다만, HijackLoader는 PNG 파일의 IDAT 영역에 암호화 된 파일을 숨겨놓는다.
최근 분석한 파일 중에서는 내부에 아래와 같이 png 파일이 존재했다. 이 png 파일은 분석한 파일에서 사용되지 않는 파일인데 내부에 포함되어 있었다. 이 png 파일이 HijackLoader였다.
png 파일은 데이터 값으로 사용하는 IDAT 청크가 여러개 존재한다. HijackLoader는 이 점을 이용해 xor 암호화 된 IDAT 값을 png 파일에 넣어놓고, 이 png 파일이 실행되면서 해당 파일이 실행되게끔 한 것이다.
xor 암호화 키 또한 IDAT 청크 부분에 함께 포함시켜서 실행될 때 xor 복호화 이후 의도한 악성코드가 실행되게끔 했다. 이 사례에서는 StealC 스틸러 악성코드가 들어있었다. xor 암호화이기 때문에 복호화 코드의 제작은 어렵지 않다. 간단히 복호화 코드를 제작해 복호화 시킨 악성코드는 아래 그림처럼 나타난다.
오랜만에 악성코드가 꽁꽁 숨겨져 있는 느낌을 받았다. 그리고 약간은 예전 기법(카빙이 필요한..)의 느낌을 받아서 신기한 부분도 있었다. HijackLoader는 악성코드 시장에서 MaaS(Malware-as-a-Service) 형태로도 팔리는 것으로 보인다. 더 활개를 칠 것 같아 이러한 특징을 정리해놓는다.
'Analysis' 카테고리의 다른 글
94. Lazarus's Beavertail 3 (Python) (0) | 2024.12.05 |
---|---|
93. Kimsuky's pay.bat (1) | 2024.11.29 |
91. MalLlama(악성코드 분석에 LLM 활용) (0) | 2024.11.16 |
90. Andariel's play ransomware (1) | 2024.11.11 |
89. Phisher's using nocodeform.io (0) | 2024.11.01 |