포스팅 내용

악성코드 분석 리포트

금성121 조직, 라자루스로 위장한 APT '이미테이션 게임' 등장



■ 라자루스 위장술 처음 도입된 '오퍼레이션 이미테이션 게임'



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


최근 특정 국가차원의 명령을 받아 은밀하게  진행되는 APT(지능형지속위협) 캠페인이 다양하게 발견되고 있는 가운데, 매우 흥미로운 스피어 피싱(Spear Phishing) 공격 사례를 포착하였습니다.


ESRC는 한국을 주요 공격대상으로 삼고 있는 APT 위협배후 중 '금성121(Geumseong121)' 조직이 마치 '라자루스(Lazarus)' 조직인 것처럼 위장한 교란 전술(False Flag) 흔적을 식별했습니다.


정부후원을 받는 각기 구분된 2개의 유명 해킹조직 '라자루스', '금성121'을 관찰하던 중 '금성121' 조직에서 상대 그룹 전술을 차용해 조작한 사례를 발견했으며, 작전명을 '이미테이션 게임 (Operation Imitation Game)'으로 명명했습니다.



■ HWP 공격의 시작과 끝, 스피어 피싱 흐름 분석



공격벡터는 한국에서 주로 발견되는 HWP 문서파일과 스피어 피싱이 악용되었고, 마치 평상시 잘 아는 사람이 주고 받는 이메일처럼 꾸며져 있습니다.



제목 : 어제 끝냈습니다.

내용 : 늦게 올려서 죄송합니다. 지도편달 잘 부탁드립니다.

첨부 : [완결]20190717.hwp (206.5KB)



[그림 1] 공격에 사용된 실제 스피어 피싱 이메일 화면



이메일 자체만 놓고 봤을 때는 특별히 의심스러운 점은 보이지 않는 자연스런 화면이지만, 첨부되어 있는 문서파일에 악성 코드가 삽입되어 있습니다.



 File Name 

 Last Saved By

 MD5

 [완결]20190717.hwp

 Admin_Sari

 fdf9157747e1b913a3cce6c648072468



보통 HWP 악성문서가 발견되면, 기존에 어떤 취약점과 유사성이 높은지 확인을 거치고, 미리 정의되어 있는 위협배후 조직과의 유사성 및 연관성을 분석하게 됩니다.


이번에 식별된 악성 문서파일은 2019년 07월 15일 수정되었으며, 스트림 내부에 'BIN0001.eps' 포스트스크립트(PostScript)코드가 포함되어 있습니다. 공격벡터의 흐름은 최근 수개월 간 한국에서 발견된 유형과 큰 차이가 없습니다.



[그림 2] 악성 HWP 문서 내부 스트림명 및 수정 시점 화면



포스트스크립트 코드를 열어보면, 기존에 널리 활용되는 인코딩 기법이 적용되어 있고, 일명 라자루스(Lazarus) 계열에서 목격되던 Hex 16바이트 XOR 암호화키(<BB 15 77 32 CB 52 B6 D3 0C 62 4D FB 11 1D 02 64>)를 확인할 수 있습니다.



def 0 1 Y101 length 1 sub {/Y18 exch 1 2 and pop def Y101 dup Y18 get <BB157732CB52B6D30C624DFB111D0264> Y18 15 and /Y104 8 def get xor Y18 exch put} for Y101 cvx exec



[그림 3] 포스트스크립트 코드 및 난독화 영역 화면



ESRC 위협분석가들은 이와 동일한 XOR 키가 사용된 사례를 지난 2019년 07월 02일 '무비 코인' 작전에서도 발견한 바 있습니다.


그래서 1단계 초동분석 시점에는 얼마전 리포팅한 '암호화폐 거래자를 노린 Lazarus APT 공격 가속화' 변종으로 의심할 수 있었습니다. 하지만, 분석을 거듭할 수록 의도적으로 라자루스 코드가 포함된 정황을 포착하게 됩니다.



■ '금성121' APT 조직 '라자루스' HWP 악성코드처럼 변장



먼저 당시 사용된 '20190626_현장프로젝트1 결과발표(4조).hwp' 포스트스크립트와 이번 '[완결]20190717.hwp' 포스트스크립트를 서로 비교하면 도입부 영역부터 마지막 하단의 복호화 명령로직은 동일하지만, 중간의 일부 코드가 변화되는 것을 비교할 수 있습니다.



[그림 4] 라자루스(좌측) 포스트스크립트와 신규 발견 유사 포스트스크립트(우측)



각 문서의 'Summary Information' 메타 데이터를 분석해 보면, 최근 발견되는 라자루스(Lazarus) 계열의 HWP 악성문서는 거의 동일한 패턴을 가지고 있는 반면, 이번 파일은 기존 라자루스 시리즈와는 연결되지 않습니다.


라자루스 공격벡터의 익스플로잇 코드와 페이로드 도구들은 지난 1~2년 정도부터 2019년 상반기까지 흐름에서 일부 변경이 됐지만, 연계 가능 유사성을 분류하기 어려울 정도로 변화되진 않았습니다.


최근 공개된 라자루스 위협그룹이 활용한 HWP 악성문서들과 이번에 수집된 문서를 비교하면 다음과 같이 확연이 다른 형태가 목격되는데, 이번 '[완결]20190717.hwp' 파일만 마지막 수정자명이 'Admin_Sari'로 상이합니다.


 

[그림 5] 무비 코인(Lazarus)으로 수집된 파일과 '[완결]20190717.hwp' 메타 데이터 비교 화면



ESRC에서는 우선 '20190626_현장프로젝트1 결과발표(4조).hwp' 악성문서와 포스트스크립트 코드가 유사하다는 점에서 보다 세밀한 비교 분석을 진행하였습니다.


1차 포스트스크립트의 암호화되어 있던 코드를 복호화해 2차 포스트스크립트를 비교한 결과 내부에 포함된 쉘코드 영역만 다르게 변경된 것을 발견했습니다.


더욱 더 놀라운 점은 쉘코드도 상위 일부 영역만 다르고, 하위영역은 동일하게 제작되어 있다는 것입니다.



[그림 6] HWP 2차 포스트스크립트 쉘코드 비교 화면



라자루스 계열의 악성코드 '20190626_현장프로젝트1 결과발표(4조).hwp' 파일은 기존에 여러차례 기술했던 것처럼 내부 쉘코드 작동을 통해 특정 명령제어(C2) 서버로 1차 통신을 수행하고, 추가 페이로드(Payload)를 설치한 후 2차 통신을 본격화합니다.


그래서 다음과 같은 C2 서버와 통신을 수행하고 윈도우즈 운영체제 32비트, 64비트 플랫폼에 따라 'update3.dat', 'update6.dat' 파일을 은밀히 로드해 추가 악성행위를 작동시킵니다.



※ '20190626_현장프로젝트1 결과발표(4조).hwp' C2 주소


https://darvishkhan[.]net/wp-content/uploads/2017/06/update3.dat

https://darvishkhan[.]net/wp-content/uploads/2017/06/update6.dat



[그림 7] '20190626_현장프로젝트1 결과발표(4조).hwp' 악성문서 C2 경로 화면



'[완결]20190717.hwp' 포스트스크립트에 포함된 쉘코드에도  동일한 코드가 포함된 것이 확인되고, '20190626_현장프로젝트1 결과발표(4조).hwp' 파일 때와 동일한 C2 주소가 하드코딩되어 있습니다.


아래 화면에서 좌측은 실제 라자루스 계열로 분석이 완료된 것이고, 실제 쉘코드도 정상적으로 작동해 보이는 그대로 C2 통신을 시도하지만, 우측은 하단 부분에 라자루스와 동일한 코드를 보유하고 있지만, 쉘코드 상에 정상적으로 사용되지는 않습니다.



[그림 8] 실제 라자루스 쉘코드를 그대로 모방하고 있는 코드 비교 화면



쉘코드 작동 루틴을 디버깅 수준에서 비교해 보면 보다 분명하게 조작된 코드의 확인이 가능한데, 이곳에서 '금성121' 쉘코드가 발견됩니다.


라자루스 코드의 경우 특정 4바이트(0xAABBCCDD) 값을 비교해 페이로드 C2 주소(darvishkhan[.]net)로 접근하고, 마치 라자루스 코드처럼 모방한 코드는 1바이트(0xD5) 값을 XOR 연산해 숨겨져 있는 실제 C2 주소(price365.co[.]kr)로 접근하게 됩니다.



[그림 9] '라자루스'와 '금성121' 악성 쉘코드 비교 화면



ESRC에서는 이 쉘코드를 보는 순간 라자루스 조직이 아니라는 것을 직감할 수 있었습니다.


'금성121' 악성 쉘코드는 2018년 로켓맨 캠페인에서 동일하게 사용되고 있었으며, 이번 라자루스 위장 사례에서 그대로 발견되었기 때문입니다.



[그림 9-1] 2018년 08월 로켓맨 캠페인(좌)과 2018년 10월 발견된 HWP 악성코드(우) 쉘코드 비교



코드 분석을 진행하던 당시 실제 C2 주소에는 다음과 같은 추가 바이너리가 숨겨져 있었고, 정상적으로 명령을 수행하였습니다.


ESRC는 다차원 인텔리전스 분석을 통해 라자루스로 모방했던 공격조직의 배후에 '금성121' APT 조직이 연계된 단서를 다수 확보할 수 있었고, 과거 다른 위협사례에서도 동일한 C2가 활용되었습니다.



http://price365.co[.]kr/abbi/json/openssl.php?igot=1 (211.218.126[.]205)



[그림 10] 한국 소재 웹 서버에 등록된 악성 바이너리 화면



■ '라자루스'로 변장한 치밀하게 의도된 '이미테이션 게임'



APT 공격 조직을 특정하기 위한 일련의 조사과정에는 공격벡터부터 위협대상, 전술기법, 악성파일과 도구분석, 각종 침해사고 흔적들을 종합적으로 관찰하여야 합니다.


무엇보다 최종적으로 사용되는 바이너리와 통신 프로토콜은 위협배후로 하여금 평소 코드작성 습관과 알고리즘 스타일, 고유한 언어 지표 등을 토대로 다양한 단서와 증거를 확보할 수 있습니다.


ESRC는 일단계 공격코드 패턴비교를 통해 라자루스 조직처럼 보이도록 의도적으로 위조한 정황을 기초로,  최종 바이너리 분석과 C2 이력 등의 검증 과정을 거쳤습니다.


먼저 HWP 취약점이 작동하여 C2 연결이 성공하면 임시폴더(Temp) 경로에 'AN06.exe' 숙주파일이 다운로드되어 실행됩니다.


그 다음 계정경로 하위의 'Public' 폴더에 'vmplayer.exe' 파일을 추가 생성하고 레지스트리 RUN 엔트리에 자신을 등록해 로그인시 마다 자동실행 되도록 만듭니다. 그리고 'AN06.exe' 숙주파일을 자가삭제하여, 흔적을 제거합니다.


'AN06.exe' 코드에서는 '금성121' APT 공격 지표에서 여러차례 보고된 바 있는 PDB 코드가 동일하게 식별됩니다.



- F:\))PROG\ie\test.pdb



이와 동일한 경로와 문자열은 지난 04월 02일 공개한 바 있는 【금성121 APT 조직, '오퍼레이션 하이 엑스퍼트(Operation High Expert)】 리포트를 통해 확인이 가능합니다.


이 당시 동일한 위협배후의 과거 로그흔적에서는 '175.45.178.133' 평양 소재 아이피 주소가 발견된 사례가 있으며, youngs.dgweb[.]kr 호스트가 C2서버로 자주 악용된 것이 특징입니다.



[그림 11] '금성121' 위협사례와 동일한 PDB 코드 발견



'vmplayer.exe' 파일의 속성을 보면 마치, 마이크로소프트사의 버전체크 파일처럼 위장하고 있지만, 'InternalName' 항목에 'Halleuya200' 문자열을 가지고 있습니다.



 CompanyName

 Processing Calculation Accellerate Foundation Co.ltd

 FileDescription

 Process Activation Collections for Windows Applications

 FileVersion

 5.3.7700.16112 (winblue_rtm.130821-1623)

 InternalName

 Halleuya200

 LegalCopyright

 ⓒ Microsoft Corporation. All rights reserved.

 OriginalFilename

 VersionCheck.exe

 ProductName

 Microsoft® Windows® Operating System

 ProductVersion

 1.7.3.2



'Halleuya200' 속성정보의 문자열을 가지고 있는 악성파일은 여러개가 존재하고, 지난 03월 【로켓맨 APT 캠페인, '오퍼레이션 골든 버드(Operation Golden Bird)'】 리포트를 통해 보고한 바 있습니다.


모두 '금성121' APT 위협 캠페인에서 발견됐던 악성파일들에 해당됩니다.



 File Name 

 MD5

 InternalName

 Time Stamp (KST)

 iCloud.exe

 0bc4139287377102db89912ae8aac14d

 Halleuya200

 2019-03-17 15:35:02
 sogoupin.exe 477079eff920ebffa46c91205688d821 Halleuya200 2019-04-18 10:36:40
 vmplayer.exe a1a9a90865d15523579d69f09d18f843 Halleuya200 2019-06-17 10:54:34



'vmpalyer.exe' 악성파일은 컴퓨터 정보를 수집해 한국의 특정 호스트로 전송을 시도합니다.



- www.asheater.co[.]kr/skin15/css/caret.php



[그림 12] C2 암호화 코드 및 통신 패킷 화면



악성코드에는 '2A 3C 26 3D 34 20 7D 37 34 24 36 31 7D 38 21 53' 코드와 0x53 키로 XOR 암호화되어 있는 호스트 정보가 존재하는데, 바로 '금성121' 조직에서 수시로 사용된 바 있는 'youngs.dgweb[.]kr' URL 입니다.


'youngs.dgweb[.]kr' 도메인은 【금성121, <로켓맨 캠페인> 오퍼레이션 '블랙 배너' APT 공격 등장】 리포트에서도 사용되었습니다.


ESRC는 이번 악성코드가 '금성121' 오퍼레이션과 연결되는 다양한 흔적들을 기술하였습니다.


이외에도 공격자들이 사용한 아이피 주소(167.86.94[.]107)와 'price365.co[.]kr' 도메인도 다른 침해사고에서 보고된 바 있습니다.


대표적으로 'price365.co.kr' 도메인이 사용된 사례를 비교해 보면 다음과 같습니다.


2017년 08월 27일 제작된 '개성공단 재개 절대 안 되는 8가지 이유.hwp' 악성 문서파일은 작성자 'SEIKO', 마지막 수정자 'Lion' 아이디가 사용되었습니다.



 File Name 

 MD5

 Author

 Last Saved By

 개성공단 재개 절대 안 되는 8가지 이유.hwp

 9d5059aa920839a74115607d17137e3a

 SEIKO

 Lion



동일한 계정이 2018년 08월 22일 【금성121 그룹의 최신 APT 캠페인 - '작전명 로켓 맨(Operation Rocket Man)'】 사례에서 식별됐던 계정입니다.



Windows IP Configuration


   Host Name . . . . . . . . . . . . : SEIKO-PC

   Primary Dns Suffix  . . . . . . . : 

   Node Type . . . . . . . . . . . . : Hybrid

   IP Routing Enabled. . . . . . . . : No

   WINS Proxy Enabled. . . . . . . . : No


Ethernet adapter Ethernet:


   Connection-specific DNS Suffix  . : 

   Description . . . . . . . . . . . : Realtek PCIe FE Family Controller

   DHCP Enabled. . . . . . . . . . . : No

   Autoconfiguration Enabled . . . . : Yes

   IPv4 Address. . . . . . . . . . . : 175.45.178.133(Preferred) / North Korea

   Subnet Mask . . . . . . . . . . . : 255.255.255.240


Directory of c:\users\SEIKO\Favorites\Links\mail


               150 126?易.url

               213 163?易.url

               808 AOL Mail.url

               265 Gmail.url

               837 Hotmail.url

               152 Inbox.url

               183 India.url

               466 Yahoo mail.url

               218 zmail.url


Directory of c:\users\SEIKO\Favorites\Links\뉴스


               112 FN지니아이.URL

               115 Sputnik.URL

               110 네이트.URL

               109 다음사전.URL

               114 러.URL

               113 로동신문.URL

               151 한경.URL


Directory of f:\2_Program\Orbis_zmail\Debug



'개성공단 재개 절대 안 되는 8가지 이유.hwp' 악성문서 파일 포스트스크립트에는 다음과 같이 이번 '이미테이션 게임'과 동일한 도메인 C2가 사용되었고, 'bar.pdb' 데이터가 발견되었습니다.


'head0.jpg'는 exe 파일로 실행 시 'tail0.jpg' 파일을 다운로드하는데, 이 파일은 JPG 이미지 파일의 헤더를 가지고 있지만 내부에는 암호화된 또 다른 악성코드가 숨겨져 있습니다. 이런 공격 방식을 보통 스테가노그래피 기법이라고 합니다.



- http://price365.co[.]kr/abbi/head0.jpg

- http://price365.co[.]kr/abbi/tail0.jpg


- e:\Work\2017-07\Release\Result\bar.pdb



[그림 13] '개성공단 재개 절대 안 되는 8가지 이유.hwp' 쉘코드에 존재하는 C2 화면



스테가노그래피 기법으로 숨겨져 있는 최종 바이너리는 pCloud 클라우드 C2 서버로 감염된 컴퓨터 정보를 유출하게 됩니다.



■ 결론



금성121(Geumseong121) 위협조직은 특정 정부의 후원을 받아 한국의 대북단체, 외교, 안보, 통일, 국방분야 및 탈북민 등을 상대로 집중적인 APT 공격을 수행하고 있습니다.


그리고 주로 HWP, XLS, DOC 문서파일을 통한 공격을 주무기로 활용하고 있고, 한국의 웹 서버 해킹과 해외의 클라우드 서비스를 활용해 C2로 사용하고 있습니다.


라자루스(Lazarus) 위협조직처럼 위장한 이번 오퍼레이션 '이미테이션 게임' 등장은 앞으로 보다 교묘하고 노골적인 사이버 위협 등장을 알리는 신호탄이 될지 모릅니다.


따라서 위협 인텔리전스 기반의 대응력은 보다 신속하고 정확한 분석이 요구되며, APT 공격 대응이 국가사이버안보와 직결된다는 점을 명심해야 합니다.


ESRC는 유사 보안위협 모니터링을 강화하고 있으며, 발견된 악성파일을 알약제품군에 긴급 추가한 상태입니다.






티스토리 방명록 작성
name password homepage