위장 탈북 증거로 유인한 '금성121' APT 조직의 '스파이 클라우드' 공격 등장
'오퍼레이션 스파이 클라우드(Operation Spy Cloud)' APT 공격 배경
2020년 03월 초, 일명 '금성121(Geumseong121)'로 명명된 국가차원의 APT(지능형지속위협) 그룹의 새로운 공격 정황이 포착되었습니다.
이들은 대한민국 사이버 공간을 주요 거점지로 삼아 다양한 스파이 활동을 수행하고 있으며, 주로 외교·통일·안보분야 종사자나 대북관련 단체장, 탈북민을 겨냥한 위협을 가속화하고 있습니다.
ESRC에서는 알약(ALYac) 포함 다채널 위협 인텔리전스 센서를 통해 수집된 각종지표와 증거를 기반으로 이번 침해공격 실체를 분석하였습니다.
작년 11월 '금성121, 북한 이탈주민 후원 사칭 '드래곤 메신저' 모바일 APT 공격 수행' 리포팅을 통해 공개된 것처럼 이들은 PC 기반 뿐만 아니라 안드로이드 스마트폰까지 매우 광범위한 사이버 위협을 시도하고 있습니다.
특히 '오퍼레이션 드래곤 메신저(Operation Dragon Messenger)'의 경우 불특정 웹 사이트를 해킹 침투해 명령제어(C2) 서버로 악용하는 사례를 넘어, 이제는 공격에 사용한 웹 서버를 직접 디자인하고 구축하는 등 갈수록 치밀하고 과감한 시나리오로 발전한 단계입니다.
더불어 구글 플레이 공식앱 마켓이나 유튜브를 통한 신뢰기반의 대담성은 다른 위협조직에서 흔히 보기 어려운 차별성을 지니고 있습니다.
그런 가운데 이번 APT 공격은 마치 위장 탈북 증거 내용처럼 꾸며진 미끼를 통해 이메일 수신 대상자의 심리를 자극하고 현혹하는 고도의 '스피어 피싱(Spear Phishing)' 전략을 수립했습니다.
ESRC는 공격자가 구글 드라이브와 피클라우드 서비스를 APT공격에 적극 활용한 점을 착안해 이번 사이버 작전명을 '오퍼레이션 스파이 클라우드(Operation Spy Cloud)'로 명명했습니다.
English Version
APT 공격 벡터 : 스피어 피싱 전술과 프로세스
스파이 클라우드 작전에 가담한 공격자는 이메일 기반의 스피어 피싱 공격기법을 적극 활용하고 있습니다. 이는 수신 대상자로 하여금 직접적이고 은밀한 공격이 가능한 장점 때문입니다.
이메일에 악성 링크를 추가해 수신자가 클릭하도록 현혹하고, 다운로드되는 파일 내부에 악성 MS Word DOC 문서파일을 첨부한 형태입니다.
그동안 해당 위협그룹은 한국을 상대로 HWP, DOC, XLS 문서 유형의 악성코드를 공격전술로 사용하였습니다.
[그림 1] 스파이 클라우드 APT 공격 전체 흐름도
이메일에 악성 파일을 첨부해서 보내는 경우 보안 서비스를 통해 사전 차단되거나 조기 탐지되는 경우가 있습니다. 그렇기 때문에 직접 파일을 첨부하는 것보다 파일만 받을 수 있는 URL 링크 전략이 사용됩니다.
이는 공격자 의도에 따라 연결된 파일을 언제든 변종으로 수정하거나 삭제할 수 있어, 추적 회피나 흔적을 최소화할 수 있습니다.
ESRC는 공격에 사용된 일부를 확인했지만, 이미 공격자가 파일을 제거하여 실제 분석 당시 링크가 정상적으로 작동하진 않았습니다.
공격에 사용된 악성 DOC Word 파일을 별도 추적 확보해 분석한 결과, 난독화된 악성 VBA 매크로에 쉘코드(Shellcode)를 결합하였습니다.
쉘코드가 작동하면 명령제어(C2) 서버로 설정된 구글 드라이브로 접속해 EXE 악성 모듈을 실행하고 피클라우드로 컴퓨터 정보를 유출시도하는 절차를 거치게 됩니다.
스파이 클라우드 주요 위협 도구 심층 분석
악성 DOC 문서파일이 실행되면 다음과 같이 마치 특정 이미지 영역이 보여지지 않는 것처럼 가짜로 조작된 화면이 나타나고, '개인정보를 보호하기 위해 이 그림은 인터넷에서 자동으로 다운로드가 되지 않습니다.' 문구를 표시합니다.
스파이 클라우드 공격자는 위장 탈북 증거 문서의 이미지 내용이 개인정보 보호 차원으로 보여지지 않는 것처럼 위장해 이용자로 하여금 [콘텐츠 사용] 버튼을 누르도록 유인 전략을 사용했습니다.
[그림 2] 위장 탈북 증거 파일로 위장한 악성 문서 실행화면
DOC 문서 내부에는 다음과 같은 VBA 매크로 함수를 포함하고 있어, [콘텐츠 사용] 버튼을 실행할 경우 악의적인 기능이 작동됩니다.
먼저 'CreateMutex' 함수를 이용해 뮤텍스를 'm_mtn' 값으로 선언하여, 중복 실행을 방지합니다.
Option Explicit
Private Declare PtrSafe Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (ByVal lpMutexAttributes As Long, ByVal bInitialOwner As Long, ByVal lpName As String) As Long
Private m_mt As Long
Private Sub ghjkjhgyujx()
m_mt = CreateMutex(0, 1, "m_mtn")
Dim er As Long: er = Err.LastDllError
If er <> 0 Then
Application.DisplayAlerts = False
Application.Quit
Else
End If
End Sub
그리고 제작자는 자신의 스트링 리스트에서 Mid 함수를 통해 특정 해외 보안 프로그램의 파일명을 조합해 확인하고, 존재하지 않으면 디코딩 루틴을 계속 진행합니다. 따라서 조건에 따라 일종의 킬 스위치 역할로 사용될 수 있습니다.
- c:\windows\avp.exe
- c:\windows\kavsvc.exe
- c:\windows\clisve.exe
sen_str = pQFqnD5h 2WOGfbmNyi*IKP7JX9A)dcLelj(kETogHs.#wxBU+13rv&6VtC,uYz=Z0RS8aM4 |
[그림 3] 특정 보안 프로그램 등을 체크하는 함수
그리고 다음과 같이 매크로 보안 설정을 변경하기 위해 레지스트리 키를 등록합니다.
HKEY_CURRENT_USER\Software\Microsoft\Office\(버전)\Word\Security\AccessVBOM 값을 '1'로 설정하여 개발자 매크로 설정의 VBA 프로젝트 개체 모델에 안전하게 액세스할 수 있도록 변경합니다.
또한, 특정 인코딩 문자열을 선언하여 매크로 함수 하단부에 나열된 난독화된 쉘코드를 디코딩하게 됩니다.
[그림 4] 레지스트리 키 등록과 쉘코드 디코딩 문자열 선언부
str_on = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 &*(),.#+= |
str_en = 7JX9A)dwxBU+13rv&tC,uYz=Z0RS8aM4FqnD5h 2WpQOGfbmNKPcLelj(kogHs.#yi*IET6V |
72바이트로 구성된 스트링은 각 위치에 대칭하는 문자열로 치환되어 재배치 되는데, 하기 매크로 함수 부분 중에 쉘코드가 핵심 영역 중 하나입니다.
[그림 5] 인코딩된 쉘코드 영역 화면
쉘코드를 분석해 보면, 특정 구글 드라이브로 접속을 시도하는 명령을 확인할 수 있습니다. 구글 드라이브가 일종의 명령제어(C2) 서버로 사용된 것입니다. 이런 경우 보안탐지 시스템에서 정상적인 접속으로 판단할 가능성이 있습니다.
[그림 6] 쉘코드 명령으로 구글 드라이브 C2로 접속
구글 드라이브에는 마치 인보이스 파일처럼 위장한 'invoice.sca' 파일이 등록되어 있습니다.
등록 정보기준 마지막 수정 시간이 2020년 03월 10일 오후이고, 파일은 XOR 방식으로 암호화되어 있습니다. 파일을 공유한 소유자는 'godlemessy@gamil.com' 지메일 계정을 사용하고 있습니다.
실제 위협 배후가 사용하는 지메일로 분석된 상태이며, 유사 위협 사례에서 다수 목격된 바 있는 이메일 주소입니다.
[그림 7] 구글 드라이브에 등록된 공격자 정보와 페이로드 화면
'invoice.sca' 파일은 0xbf 0x7a 0x79 0x51 4바이트로 XOR 로직으로 반복 순환하며 디코딩되고, 그 과정을 거친 후에 내부에 포함된 악성 모듈이 나타납니다.
파일명 | 타임스탬프 (UTC) | MD5 |
invoice.sca (decode) | 2020-03-02 23:32:17 | 392647675E8DFCD2602B4FFE38A19E2B |
[그림 8] 페이로드 디코딩 비교 화면
디코딩된 악성코드는 pCloud 액세스 토큰 데이터를 활용해 클라우드 서버로 통신을 수행하고 각종 시스템 정보를 수집해 탈취를 시도하고 공격자 의도에 따라 추가 백도어(Backdoor) 등이 설치될 수 있습니다.
이 스파이 모듈의 주요 기능들은 기존 '금성121' 그룹이 사용한 도구와 큰 차이가 없습니다.
[그림 9] pCloud 통신용 액세스 토큰 화면
해당 클라우드를 등록한 공격자의 계정을 API 기반으로 조회하면 계정이력이 담긴 json 파일을 확인할 수 있고, 공격자가 어느 시점에 서비스를 가입했는지와 사용한 이메일 주소를 확인할 수 있습니다.
"registered": "Wed, 10 Apr 2019 06:40:53 +0000",
"email": "kpsa-press@daum.net",
공격자는 2019년 04월 10일 이미 해당 클라우드를 미리 등록한 것을 알 수 있고, 가입시에 'kpsa-press@daum.net' 한국의 카카오 한메일을 사용한 것을 알 수 있습니다.
[그림 10] 클라우드 서비스 등록에 사용된 json 파일 정보
ESRC는 'kpsa-press@daum.net' 이메일 주소와 유사한 형태를 지난 2019년 04월 보고한 '금성121 조직, 통일부를 사칭한 APT 공격, 구글 드라이브로 악성코드 전파' 리포트에서 공개한 바 있습니다.
당시 발견된 'kpsapress@gmail.com' 이메일 주소는 카카오(Kakao) 한메일이 아닌 구글(Google) 지메일이 사용된 점이 다릅니다.
그리고 지메일의 복구용 이메일에 'kps·······@d···.net' 주소로 설정된 것을 알 수 있는데, 'kpsa-press@daum.net' 계정과 비슷하다는 것을 알 수 있습니다.
[그림 11] 구글 지메일 복구용 이메일 분석
하지만, 이번 '스파이 클라우드'와 TTPs(Tactics, Techniques, and Procedures)가 정확히 일치하며, 최종 페이로드 역시 동일합니다.
이를 통해 '금성121' 그룹이 다양한 사이버 작전에 동일한 전략과 기술을 그대로 사용하고 있다는 것을 확인할 수 있습니다.
'스파이 클라우드'와 '금성121' 사례별 유사도 비교 분석
먼저 ESRC에서는 2020년 03월 13일 'Operation Printing Paper 3' 위협 인텔리전스 리포트를 Threat Inside 서비스로 별도 제공하였는데, 이번 'Operation Spy Cloud' APT 공격과 동일한 그룹의 소행임을 확인할 수 있는 심층자료와 상세 침해지표(IoC) 자료가 포함되어 있습니다.
[그림 12] 동일 APT 그룹의 최신 위협 인텔리전스 리포트 표지
ESRC는 스파이 클라우드 작전에 사용된 다양한 공격 흔적들을 종합적으로 분석하였고, '금성121' 그룹이 수행한 다른 사이버 공작활동과 위협 지표들이 강하게 연결되고 있음을 분명히 확인했습니다.
공격자들이 사용한 각종 이메일 계정을 포함해 인터넷 클라우드 서비스 가입정보들도 정확히 일치하고 있으며, 일부 정보는 변경하거나 해지시키고 있는 상태입니다.
특히, DOC 악성 문서에서 발견된 구글 지메일 계정은 HWP 악성 문서에서 사용된 것이 그대로 재활용 되었고, 취약점 공격에 사용된 여러 HWP 포스트 스크립트 기법도 오버랩 되었습니다.
그리고 윈도 기반의 악성 파일뿐만 아니라, 안드로이드 기반 스마트폰 공격도 사용된 것이 확인되었습니다.
[그림 13] 금성121 공격 사례별 비교 분석 자료
hwp 악성 문서 파일에 사용된 각 포스트 스크립트(Post Script)를 비교해 보면, 대체적으로 동일한 기법이 사용된 것을 알 수 있습니다.
변수선언 등에서 유사성이 매우 높으며, 일부는 아예 동일한 포스트 스크립트가 사용 되었습니다. 물론 일부 변종에서는 보안 솔루션 탐지 등을 회피하고자 새로운 기법이 도입된 바 있습니다.
[그림 14] 악성 hwp 문서에서 사용된 포스트 스크립트 기법 비교
hwp 문서의 취약점이 작동 후에 생성되는 최종 payload 바이너리 파일의 함수를 비교해 보아도, 동일한 명령어로 구성된 것을 확인할 수 있습니다.
보통 Dropbox, pCloud 등의 클라우드 서비스를 정보탈취 목적의 명령제어(C2) 서버로 악용하고 있습니다.
[그림 15] hwp 문서파일로 설치된 최종 바이너리 함수 비교화면
지금까지 살펴본 바와 같이 '금성121' 그룹은 한국을 대상으로 다양한 위협 활동을 지속하고 있습니다.
ESRC는 이들이 사용하고 있는 각종 해킹도구와 전략 분석을 통해 정부차원의 사이버 정찰 업무가 마치 일상 업무로 진행되는 것을 확인하였습니다.
보안 위협은 우리 사회 전반에 걸쳐 진행되고 있고, 날이 갈수록 보다 정교화·고도화되는 실정입니다.
정부차원의 사이버 공작활동은 국가 사이버 안보차원의 문제로 대두되고 있으며, 위협 인텔리전스 기반의 대응과 협력이 절실히 요구되고 있습니다.
ESRC는 '금성121' 그룹의 다양한 위협 사례와 침해지표(IoC) 정보 등을 보다 체계화하여 'Threat Inside' 서비스를 통해 상세히 제공하고 있습니다.