보안정보

전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.

Operation KimsuKEE(Kimsuky Eternal Evolution)

2019.05.10

11,805


 

 

 

1. 개요

 

지난 2013년 러시아 보안업체인 카스퍼스키 랩(Kaspersky Lab)은 보고서를 통해 북한의 APT(Advanced Persistent Threat, 지능형 지속 공격) 그룹 이름을 명명하였다. 그 이름은 바로 ‘Kimsuky’. 그때부터 사람들은 그 조직을 Kimsuky라고 불렀다. Kimsuky APT 그룹은 2014년 망 분리 운영 중이던 한국수자력원자력에 대한 해킹 공격을 성공함으로써 그 악명이 높아지게 되었다. 이후로도 Kimsuky APT 그룹은 대남 사이버전을 수행해 왔으며, 현재까지도 그 활동을 지속하고 있다.

본 보고서는 Kimsuky APT 그룹의 전반적인 공격 시나리오와 특징을 다루며, 새롭게 진화되어 출현한 최신 샘플 Operation KimsuKEE에 대한 분석을 기술하고 있다.

 

 

2. Kimsuky APT 그룹 분석

 

1) Kimsuky APT 그룹의 공격 시나리오

 

아래 [그림 1]은 Kimsuky APT 그룹의 일반적인 공격 시나리오를 나타낸다.

 

 

 

[그림 1] Kimsuky APT 그룹 공격 시나리오

 

 

2) Kimsuky APT 그룹과 사이버 킬 체인 연관성

 

아래 [표 1]은 각 사이버 킬 체인 구성 요소와 연관되는 Kimsuky APT 그룹의 공격 전략을 나타낸다.

  

사이버 킬 체인

Kimsuky APT 그룹 공격 전략

4단계

Exploitation

HWP Exploit

한글 워드 문서(HWP)PostScript 실행 취약점 이용

5단계

Installation

Dropper

PE 파일 내 .rsrc 영역으로부터 추가 악성코드 생성

Downloader

악성코드 유포지 접속 후 추가 악성코드 다운로드

6단계

C & C

Data leakage

로깅 및 시스템 관련 정보 탈취 후 C2 서버 전송

 

[표 1] Kimsuky APT 그룹과 사이버 킬 체인 연관성

 

 

3) Kimsuky APT 그룹 샘플

 

아래 [표 2]는 본 보고서에서 다루는 Kimsuky APT 그룹의 악성코드 샘플을 나타낸다. 

특히 코드번호 KIMSUKY-04는 Kimsuky APT 그룹의 최신 샘플로 특별히 Operation KimsuKEE로 명명한다.

 

 

CODE

파일명

파일

형식

MD5

KIMSUKY-01

2018년도 국정감사계획서-수정().hwp

HWP

98B68C2F2FDC67DB371BB6783B811C8F

KIMSUKY-02

favicon2.ico.exe

Win64 EXE

E0C5BF2CD4BEC075F442323DF79A526F

KIMSUKY-03

190101-신년사_평가.exe

Win32 EXE

E9C1DEC196441577816D85DC304D702D

KIMSUKY-04

3.17 미국의 편타곤 비밀 국가안보회의.hwp

HWP

92756CCC7C91B09B8B098E02C2F5AAE6

 

[표 2] Kimsuky APT 그룹 샘플

 

 

4) Kimsuky APT 그룹의 Explotation 전략 : HWP Exploit

 

아래 [그림 2], [그림 3]은 Kimsuky APT 그룹에서 사용되는 HWP Exploit 코드이며 주로 ① PostScript로 구현된 쉘 코드와 ② 쉘 코드를 실행하는 PostScript 명령어로 구성된다.

 

 

 

[그림 2] HWP Exploit 코드 (KIMSUKY-01)

 

 

  

[그림 3] HWP Exploit 코드 (KIMSUKY-04)

 

 

Kimsuky APT 그룹의 HWP Exploit 과정은 다음과 같이 요약할 수 있다.

 

① 한글 문서 열람 시 PostScript 실행으로 인한 HWP Exploit 수행

② HWP Exploit 코드에 포함된 쉘 코드의 메모리 적재

③ 메모리에 적재된 쉘 코드의 실행

 

 

5) Kimsuky APT 그룹의 Installation 전략 : Dropper, Downloader

 

Kimsuky APT 그룹에서 사용되는 Installation 전략은 다음과 같다.

 

① Win32 API를 이용하여 PE 파일 내 .rsrc 영역으로부터 추가 악성코드를 생성하는 Dropper 방식

② Win32 API를 이용하여 악성코드 유포지로 접속한 후 추가 악성코드를 다운로드 하는 Downloader 방식

 

 

  

[그림 4] Dropper (KIMSUKY-03)

 

 

  

[그림 5] Downloader (KIMSUKY-02)

 

 

6) Kimsuky APT 그룹의 C & C 전략 : 정보 탈취

 

Kimsuky APT 그룹에서 사용되는 C & C 전략은 주로 ① 시스템 관련 정보 탈취와 ② 키보드 입력 값 탈취로 구성된다. 탈취된 2가지 정보는 공격자 그룹의 C2 서버로 전송된다.

 

 

 

[그림 6] 시스템 관련 정보 탈취

 

 

  

[그림 7] 키보드 입력 값 탈취

 

 

3. Operation KimsuKEE 분석

 

1) 공격 시나리오 비교

 

먼저 Operation KimsuKEE 분석에 앞서 아래 그림 [3-8]의 기존 Kimsuky APT 공격 시나리오와는 차별화 된 [그림 9]의 Operation KimsuKEE 공격 시나리오를 소개한다.

 

 

  

[그림 8] 기존 Kimsuky APT 공격 시나리오

 

 

  

[그림 9] Operation KimsuKEE 공격 시나리오

 

 

아래 [표 3]은 위의 공격 시나리오 사이에서 확인되는 공격 전략의 차이점을 나타낸다. 

 

순번

기존 Kimsuky APT 공격 전략

Operation KimsuKEE 공격 전략

1

Win32 API를 이용한 Dropper/Downloader

정상 프로세스를 이용한 Download

2

PE 형식의 최종 악성코드

None-PE 형식의 최종 악성코드

3

File 형태의 최종 악성코드

Fileless 형태의 최종 악성코드

 

[표 3] 공격 전략 차이점

 

 

보안 관점으로 바라볼 때 Operation KimsuKEE의 차별화 된 전략은 다음과 같은 필요성을 제기한다.

① 엔드 포인트 보안 솔루션 : 악성코드에 의한 정상 프로세스의 오ㆍ남용 탐지 여부 필요성

② 네트워크 보안 솔루션 : 네트워크 단에서 동작하는 악성 Script 실행 차단 필요성

 

 

2) Operation KimsuKEE 악성코드 구성도

 

 

  

[그림 10] 악성코드 구성도

 

 

3) Operation KimsuKEE 상세분석

 

Operation KimsuKEE는 한글 워드 문서(HWP) 열람 시 PostScript로 작성된 HWP Exploit 코드가 동작하여 쉘 코드를 실행한다. 

 

 

[그림 11] PostScript 내부 쉘 코드

 

 

PostScript에 의해 실행되는 쉘 코드는 Win32 API를 이용하던 기존 Kimsuky APT 그룹 공격 전략과는 다르게 정상 프로세스인 mshta.exe를 이용해 악성코드 유포지 #1로 접근한다.

 

 

  

[그림 12] 정상 프로세스를 이용한 악성코드 유포지 접속

 

 

Operation KimsuKEE에서는 기존 전략과 달리 최종 악성코드를 생성하기까지 단계적인 악성코드 유포지 접속을 시도한다. 악성코드 유포지 #1의 HTTP 응답 메시지는 Fileless 형태의 VBA Script이다. 해당 VBA Script는 악성코드 유포지 #2로 리다이렉션 한 후, 해당 HTTP 응답 메시지의 내용을 실행하도록 한다. 

 

 

[그림 13] 악성코드 유포지 #1 HTTP 응답 메시지

 

 

악성코드 유포지 #2의 HTTP 응답 메시지는 Fileless 형태의 VBA Script이다. 주요 악성행위는 다음과 같다.

 

① MS Office Word/Excel 매크로 보안설정 무력화

② 시스템 관련 정보탈취 및 C2 서버 전송

③ 악성코드 자동 실행 등록

 

 

 

[그림 14] MS Office Word/Excel 매크로 보안설정 무력화

 

 

  

[그림 15] 시스템 정보 탈취 / 암호화 / 전송

 

 

기존 전략과는 상이하게 Win32 API를 이용한 방식이 아닌 순수 Windows 쉘 명령으로만 각종 시스템 정보를 탈취한다. 탈취되는 시스템 정보는 다음과 같다.

 

① 도메인 이름

② 컴퓨터 이름

③ 네트워크 어댑터 정보

④ 사용자 계정 목록

⑤ 주요 디렉터리 내 파일 목록

 

순번

주요 디렉터리 목록

주요 디렉터리 경로

1

64-bit 프로그램 목록

%programfiles%

2

32-bit 프로그램 목록

%programfiles% (x86)

3

시작 메뉴

%programdata%MicrosoftWindowsStart Menu

4

시작 프로그램

%programdata%MicrosoftWindowsStart MenuPrograms

5

최근 열어 본 파일

%appdata%MicrosoftWindowsRecent

  

⑥ 현재 실행 중인 프로세스 목록

⑦ Windows 서비스 목록

⑧ 시스템 환경변수 목록

 

 

탈취된 시스템 관련 정보는 [그림 16]과 같이 ttmp.log 파일로 저장된다. 이후 PowerShell Script의 certutil 명령으로 Base64 인코딩 후 [그림 17]과 같이 ttmp0.log 파일에 저장된다.

 

 

  

[그림 16] ttmp.log 파일

 

 

  

[그림 17] ttmp0.log 파일

 

 

지속적인 악성행위를 위해 매 부팅마다 악성코드 유포지 #3으로 접속하도록 하는 Powershell 명령어를 레지스트리에 등록한다.

 

 

  

[그림 18] 자동 실행 등록

 

 

악성코드 유포지 #3의 HTTP 응답 메시지는 Fileless 형태의 VBA Script이다. 해당 VBA Script는 악성코드 유포지 #4로 리다이렉션 한 후, 해당 HTTP 응답 메시지의 내용을 실행하도록 한다.

 

 

 

[그림 19] 악성코드 유포지 #3 HTTP 응답 메시지

 

 

악성코드 유포지 #4의 HTTP 응답 메시지는 Fileless 형태의 VBA Script이다. 악성코드 유포지 #5로 접속한 후 최종 악성코드인 PowerShell 기반 키 로거 악성코드를 실행한다.

 

 

  

[그림 20] 악성코드 유포지 #4 HTTP 응답 메시지

 

 

최종 악성코드인 driving.ps1은 None-PE 기반 Fileless 형태로 동작하며 주요 악성행위 목록은 다음과 같다.

 

① 활성화 된 윈도우 타이틀 / 키 로깅

② 시스템 관련 정보 탈취 / 암호화

③ C2 서버 전송

 

 

  

[그림 21] 윈도우 타이틀 / 키 로깅

 

 

  

[그림 22] C2 서버 전송

 

 

4. 결론

 

본 보고서에서 분석한 Operation KimsuKEE는 kimsuky APT 그룹의 기존 전략과는 다르게 단계적인 악성코드 유포지 접속을 통한 None-PE 기반 Fileless 형태의 악성 Script를 최대한 활용하는 등 진화된 전략을 채택하고 있다. 또한, Win32 API의 사용을 최소화 하여 보안 솔루션의 API 기반 악성행위 탐지를 회피하려는 노력을 보이고 있다. 

그러나 APT 공격의 시작이 이미 대응방안이 마련된 HWP Exploit 방식을 이용하고 있고, 또 APT 공격의 핵심 기능인 키 로깅은 여전히 Win32 API를 기반으로 동작한다. 

 

따라서 다음과 같은 대응방안을 권고한다.

 

① 최신 버전의 한컴 오피스 업데이트

 

[시작] 

[한글과컴퓨터]

[한컴 자동 업데이트]

 

 

  

[그림 23] 최신 버전 업데이트

 

 

② 안티 바이러스 제품 실시간 검사 및 업데이트

③ 방화벽 또는 IPS에서 IoC 정보 탐지 및 차단 

 

순 번

IP 주소

URL 주소

1

110.4.107.244

hxxp://jmable[.]mireene[.]com/shop/price/com/first.hta

2

110.4.107.244

hxxp://jmable[.]mireene[.]com/shop/kcp/js/com/expres.php?op=1

3

110.4.107.244

hxxp://jmable[.]mireene[.]com/shop/kcp/js/com/moonx.hta

4

110.4.107.244

hxxp://jmable[.]mireene[.]com/shop/kcp/js/com/expres.php?op=2

5

110.4.107.244

hxxp://jmable[.]mireene[.]com/shop/kcp/js/com/cow.php?op=0

6

110.4.107.244

hxxp://jmable[.]mireene[.]com/shop/kcp/js/com/driving.ps1

7

110.4.107.244

hxxp://jmable[.]mireene[.]com/shop/kcp/js/com/upload.php

 

[표 4] IP/URL 정보

 

 

순 번

파일명

MD5

1

3.17 미국의 편타곤 비밀 국가안보회의.hwp

92756CCC7C91B09B8B098E02C2F5AAE6

2

tmp.bat

9E49C982BE9BDA85980861C7F5B8493D

3

driving.ps1

617372010E9665CF8267F629E6D55FFF

 

[표 5] 파일 정보