얼마 전, Kimsuky 그룹이 만든 msc 악성파일을 발견하였다. 본 글에서는 해당 악성파일을 분석한다.
* sha256: b13201957eec1248b3d91f2fd5a0b5d999c0c77644810f4aa28c9ecd0faf8828
먼저, msc(microsoft management console) 파일은 윈도우 서버 계열 제품군의 서비스를 GUI 상으로 관리할 수 있게 해주기 위한 프로그램을 말한다. XML 규약으로 이루어져있다.
본 글에서 분석하는 악성파일의 경우 실제 MSC 파일이라기보다 MSC 파일로 위장한 것에 가깝다.
MSC 파일은 긴 코드를 담고 있는데, 이 중 악성행위가 이루어지는 부분은 아래 그림이다. 다른 코드들은 정상적인 코드들이며 아래 코드가 삽입되어 있는 형태이다. 아래 그림의 코드는 파워쉘을 이용해 C2 서버의 다른 악성코드를 다운로드 한다.
공격자가 사용한 C2 서버의 경우, 익명으로 파일을 업로드 및 관리할 수 있는 플랫폼을 사용하였다. 아래 그림은 0x0.st의 설명이다. 이러한 익명 파일 클라우드를 사용하는 것은 최근 북한측 공격자의 특징으로 보여진다.
추가로 다운로드하는 악성코드는 아래와 같은 파워쉘 코드이다. 긴 데이터가 encodedData 변수에 할당되어 있으며 해당 데이터를 바이너리로 만들어 실행하는 형태이다.
encodedData 변수를 바이너리로 만든 후 실행하는 로직은 아래 그림과 같다. data 변수를 encodedData의 절반 길이의 바이트 변수로 생성한다. 이후 encodedData를 2바이트씩 잘라 data 변수에 저장하고 해당 data 변수 값을 CommonDocuments 경로에 khle.mp3 이름으로 저장한다. 이후 khle.mp3의 확장자를 exe로 변환하고 conhost.exe를 이용해 실행한다. 사실상 encodedData는 바이트 값이 문자열로 저장되어 있는 형태이기 때문에 악성코드를 추출해내는 것은 어렵지 않다.
khle.exe 악성코드는 64 비트의 PE 파일이다. 최근 들어 북한측 공격자들이 PE64 타입의 악성코드를 자주 사용하는 것으로 보이는데, 국내 컴퓨터 사용 환경이 64비트 환경으로 올라가면서 대상으로 하는 국내 공직자/주요인물들의 컴퓨터 사용 환경도 64비트 환경이 된 것이 이유이지 않을까 생각한다.
* sha256: 34918278f6eb6b5e3afa8da406eb3c5a4cc3b7c4a1cee55320fecdbef4e0a463
위 악성코드는 스틸러 악성코드로 보여진다 (rhadamanthys 의심). 악성코드 내부에 피해 PC의 언어를 확인하는 루틴이 존재한다. 대만, 대한민국, 중국, 일본을 대상으로 공격을 수행한 것으로 보여진다.
'Analysis' 카테고리의 다른 글
82. misp - maltego 연결 (0) | 2024.09.03 |
---|---|
81. North Korea's Lilith RAT Correlation (0) | 2024.08.25 |
79. Lazarus's characteristic of using C2 (0) | 2024.08.12 |
78. CVE-2017-0199 Correlation (0) | 2024.08.02 |
77. Kimsuky's TRANSLATEXT (0) | 2024.07.30 |