세계 보안 엑스포  전자정부 솔루션 페어  개인정보보호 페어  국제 사이버 시큐리티 컨퍼런스  세계 태양에너지 엑스포  스마트팩토리  세계 다이어트 엑스포  INFO-CON
Home > 전체기사
2010년 해외 대상 APT 공격조직, 한국 귀환
  |  입력 : 2018-04-22 17:02
페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기
MS Office 문서 파일 취약점(CVE-2017-11882) 활용...한국인 대상 스피어피싱
‘오퍼레이션 김수키(Kimsuky)’, ‘오퍼레이션 아라비안나이트(Arabian Night)’ 등과 관련
일명 ‘금성121(Geumseong121)’ 위협그룹과 직간접적으로 연계된 조직 의심


[보안뉴스 원병철 기자] 특정 국가지원을 받는 것으로 예상되는 공격자(State-sponsored Actor)가 MS Office 문서 파일 취약점(CVE-2017-11882)을 활용해 한국인을 대상으로 스피어피싱(Spear Phishing) 공격을 시도한 정황이 발견됐다고 이스트시큐리티 시큐리티대응센터(이하 ESRC)가 밝혔다.

▲오퍼레이션 베이비 코인(Operation Baby Coin)[자료=ESRC]


ESRC는 이 공격자가 ‘오퍼레이션 김수키(Kimsuky)’, ‘오퍼레이션 아라비안나이트(Arabian Night)’ 등의 캠페인과 관계된 일명 ‘금성121(Geumseong121)’ 위협그룹과 직간접적으로 연계된 조직으로 판단했다.

해당 위협그룹은 대략 2010년부터 2014년 전후로 왕성한 활동을 했다. 공격자는 주로 해외 등지에서 외교 및 안보기구 소속으로 활동하는 현지의 고위급 인사들을 주요 공격대상으로 삼았다.

ESRC는 며칠 전 한국에서 식별된 국내 대상의 위협사례를 분석하던 중, 과거 수년 전 해외에서 사용된 공격코드와 강력하게 연결되는 흔적들을 다수 발견했다. 이에 따라 고유한 침해지표(IoC)를 기반으로 이번 공격을 작전명 ‘베이비 코인(Operation Baby Coin)’으로 명명하고 인텔리전스 위협분석 및 그룹간 연관성 조사를 수행했다.

중국어 작성자와 한국어 기반의 교란전술 배경 이해(False Flag)
공격자는 한국의 특정인을 대상으로 악성 DOC 문서파일이 첨부된 한국 맞춤형 이메일을 발송했다. 해당 파일은 ‘서식 있는 텍스트 포맷인 RTF(Rich Text Format)’ 헤더를 가지고 있고, ‘코인정보.DOC’ 이름의 파일명을 사용했다.

문서파일은 2018년 04월 15일 오후 09시 23분에 작성되었고, 문서 속성상 만든 이는 ‘Windows 用户’로 지정되어 있다. 또한, 회사 정보에는 ‘Sky123.Org’라는 중국의 웹 사이트 주소가 포함되어 있는 특징이 존재한다.

▲문서 파일의 속성 정보[자료=ESRC]


얼핏 육안상 속성 정보는 중국어 기반의 문서다. 하지만, 내부의 디폴트 ANSI 코드를 분석해 보면 ‘한국어(Code Page 949)’로 설정되어 있고, 실제 문서 작성에 사용된 언어 역시 ‘한국어(deflangfe1042)’로 지정되어 있는 것을 알 수 있다.

이처럼 공격에 사용된 악성 문서 파일은 겉으로 보기에 마치 중국인이 제작한 것으로 쉽게 의심해 볼 수 있지만, 코드 및 관점에 따른 다양한 증거수집과 ‘Attributio’ 데이터를 종합분석해 보다 강력하고 결정적인 단서들을 확보해야 한다는 게 ERSC 측의 설명이다.

국가기반의 고도화된 APT 공격 그룹들은 의도적으로 분석 방해 및 추적 혼선을 위해 정교하게 꾸며진 거짓 단서를 이곳저곳 남겨둔다는 점을 명심해야 한다. 이러한 조작수법은 실제 전쟁에서 적군의 깃발을 설치해 마치 아군처럼 보이도록 위장, 교란시키는 전술을 의미하며 군사 전문용어로 ‘거짓 깃발(False Flag)’이라 표현한다.

▲문서파일 내부에 설정된 언어설정 코드화면[자료=ESRC]


CVE-2017-11882 취약점은 MS Office 프로그램에서 OLE 수식 오브젝트를 삽입하고 편집하는 ‘EQNEDT32.EXE’ 파일에 의해 작동하게 된다.

ESRC는 2017년 11월 20일 ‘해커들이 사용자와의 상호작용 없이도 악성코드를 설치하도록 허용하는 17년 된 MS 오피스의 취약점(CVE-2017-11882) 발견’ 내용을 공개한 바 있다. 사전에 미리 설치한 경우 실제 ‘수식 편집기 파일(EQNEDT32.EXE)’은 아래의 경로에 존재하며, 독립적으로 실행이 가능하다.

"C:\Program Files\Common Files\microsoft shared\EQUATION\EQNEDT32.EXE"

TTPs : 전술/도구(Tactics or Tools) + 기술(Techniques) + 절차(Procedures)
스피어 피싱에 사용된 문서 파일을 상세히 분석해 보면, 포맷 내부 오브젝트 코드에 ‘Equation.3’ 클래스명이 포함되어 있고, 이는 MS Office 에서 사용하는 수식 컴포넌트 기능이라는 점을 알 수 있다.

해당 보안 취약점이 작동되면, 하드 코딩된 1차 명령제어(Stage1 C2) 서버로 접속하고, ‘2.dll’ 악성파일을 불러오게 된다.

▲악성 문서 파일 내부에 포함된 오브젝트와 C2 코드[자료=ESRC]


1차 명령제어 서버는 다양한 악성파일과 위협도구가 여러 번 업로드된 바 있고, 초기 교두보 확보를 위한 전술적 거점으로 활용했다. 1차 명령제어(Stage1 C2) 서버는 한국의 특정 보안 모듈 아이콘으로 사칭한 변종을 몰래 숨겨두기도 했다.

이 모듈의 경우 DLL 파일이 아닌 EXE 형태로 제작됐으며, 수행 기능은 전반적으로 기존 DLL 파일과 거의 흡사하지만, 내부 다이얼로그 리소스에 다음과 같은 속성 정보가 포함되어 있는 특징이 있다. 실제 공격에 사용된 1차 다운로더(Downloader) 기능의 모듈은 시간차에 따라 변종을 유포하는 공격 거점으로 활용됐다.

▲취약점 작동시 다운로드 되는 1차 다운로드 악성파일 서버 화면[자료=ESRC]


위협그룹은 2018년 4월 19일 ‘2.dll’ 변종을 제작해 기존 파일을 새로운 변종으로 교체했다. 해당 악성파일이 제작된 빌드타임을 확인해 보면, 한국시간(KST) 기준으로 새벽 01시 05분이라는 점이 매우 특이하다.

당시 시계열 모니터링 기준으로 봤을 때 이 시간대는 치밀한 조작보다 실제 새벽에 제작됐을 현실 가능성에 무게가 실리고 있다. 만약 절차에 따라 공격이 순조롭게 진행되면, 1차 다운로더는 ‘C:\Users\[계정]\AppData\Roaming’ 경로에 ‘winword.tmp’ 파일이 생성되고 실행된다.

그 다음으로 URL 주소가 다른 2차 명령제어(Stage2 C2) 서버로 접속해 암호화된 ‘update.ca’ 파일을 다운로드하고, 동일 경로에 ‘update.tmp’ 파일명으로 복호화한 후 실행하게 된다.

이처럼 공격은 복수의 명령제어 서버를 활용하고, 2단계 과정을 거쳐 진행이 된다.

복호화되어 실행되는 ‘update.tmp‘ 파일은 감염된 시스템에서 다양한 웹 브라우저, 이메일 계정 등의 개인정보를 수집하게 된다. 이어서 동일한 2차 명령제어(Stage2 C2) 서버는 윈도우즈 시스템 프로세서에 따라 각각 32비트와 64비트용으로 암호화된 악성파일을 선택적으로 다운로드하고 복호화시켜 실행을 지속한다.

종합적으로 설치되는 파일명을 정리해 보면 다음과 같고, 시작프로그램에 ‘Acrobat Accelerator.lnk’, ‘Anti Virus Option.lnk’, ‘IPSec Service Launch.lnk’, ‘Acrobat Speed Update.lnk’, ‘Network Acrobat Update.lnk’, ‘Adobe Acrobat Speeding Launch.lnk’ 등의 바로가기 파일을 만들어 추후 숙주가 실행되도록 만들기도 한다.

최종적으로 작동되는 DLL 모듈은 한국어로 작성된 ‘ENC‘ 리소스 영역에 특정 시그니처로 인코딩된 데이터를 디코딩해 사용하며, 키로깅 및 다양한 파일 확장자의 정보들을 수집해 탈취하는 기능을 수행한다. 특히, 수집대상 파일 확장명 중에는 한국에서 주로 이용하는 문서파일과 압축파일 형식이 포함되어 있다.

"cmd.exe /c dir %s*.hwp %s*.pdf %s*.doc %s*.docx %s*.xls %s*.xlsx %s*.ppt %s*.pptx %s*.zip %s*.rar %s*.alz /s >> \"%s\""

ENC 리소스의 2006 영역에는 암호화된 PE 코드가 포함되어 있으며, 한국어 기반으로 작성된 것을 알 수 있다. 또한, 버전 정보에는 원본 파일명이 ‘sysninit – exe.dll’ 이름으로 지정된 것을 확인할 수 있다.

▲리소스에 포함된 한국어 언어설정과 내부 파일의 속성 정보[자료=ESRC]


리소스에 숨겨져 있는 코드는 디코딩 과정을 거친 후 ‘rundll32.exe’ 명령과 ‘ChildStart’ 인자를 통해 실행된다.

‘ChildStart’ 함수는 ‘SetWindowsHookExA’ API를 이용해 복사(Ctrl+V) 단축키가 입력되면 클립보드에 저장된 내용을 수집시도 한다. 일부 물리적 드라이브의 정보를 수집 시도하기도 하는데, 어떤 활용 목적으로 접근하는지 계속 예의 주시 중에 있다.

공격자는 이외에도 다양한 컴퓨터 정보를 수집하며, 해당 데이터들은 공격자의 명령제어 서버로 은밀하게 유출이 시도된다.

후속 공격에 사용된 변종 악성코드 연속 분석
위협 그룹은 한국시간 기준으로 2018년 4월 19일 새롭게 만든 악성파일로 교체해 추가 명령을 내렸다. 추가 변종은 2018-04-19 01:05:25 (KST) 시간에 제작했다. 추가 변종은 기존과 동일한 2차 명령제어 서버를 사용하였지만, 파일명을 일부 변경해 유포에 사용했다.

- store.sys -> store.tmp
- sys32.msi -> sys32.tmp
- sys64.msi -> sys64.tmp

공격자는 변종을 제작해 유포하면서 코드 분석과 보안솔루션 탐지를 회피하기 위해 코드를 ‘VMProtect’ 프로그램으로 실행·압축했다. 그러나 내부적으로 사용하던 Export 함수는 기존과 동일하다.

sysninit - exe.dll
- ChildStart
- PDFShow
- ShellExploit

추가 공격에 사용된 DLL 악성파일의 경우 익스포트 함수가 ‘baby.dll’이라는 특징이 있고, 이 이름은 이전 공격에서 식별된 변종 중의 다이얼로그 키워드인 ‘baby’ 코드와 일치한다.

▲‘baby.dll’ 익스포트 함수 테이블 화면[자료=ESRC]


과거 해외 사례들과 코드 유사도 및 연관성 분석
2010년 10월 9일 미국에서 PDF 취약점(CVE-2010-2883)을 이용한 스피어 피싱 공격사례가 보고된 적이 있다. 해당 공격은 당시 ‘외교안보연구소(ifans.go.kr)’에서 공식적으로 발송된 것처럼 위장되어 있었지만, 실제 발신자 아이피 주소(221.9.247.17)는 중국 지린성의 장춘시였다.

▲CVE-2010-2883 취약점을 이용한 스피어 피싱 사례[자료=ESRC]


스피어피싱 공격에 사용된 ‘Conference Information_2010 IFANS Conference on Global Affairs (1001).pdf’ 문서 파일은 PDF 취약점을 통해 추가 악성코드를 설치한다. 생성되는 파일은 2010년 10월 9일에 제작됐으며, 내부 익스포트 함수는 ‘syschk.dll’이다. 그리고 ‘CheckDrive’, ‘SystemCheck’ 등의 명령을 사용한다. ‘syschk.dll’ 파일은 다양한 시스템 정보를 수집해 특정 구글메일(Gmail)로 발송을 시도하며, 다음과 같은 ‘HttpAddRequestHeadersA’ 콘텐츠를 사용한다.

흥미롭게도 2018년 4월 공격에 사용된 코드와 2010년 사용된 코드가 정확히 일치하고 있다.

"Content-Type: multipart/form-data; boundary=---------------------------7dab371b0124"

2013년에는 ‘Draft response letter Slovenia.pdf’ 이름의 PDF 취약점 기반 악성 문서파일이 해외에서 보고되었다. 이 문서파일의 취약점에 의해 생성된 파일은 ‘sysninit.ocx’ 이름이며, 2013년 04월 06일에 제작되었다.

2013년에 발견된 ‘sysninit.ocx’ 파일명이 이번 ‘오퍼레이션 베이비 코인’에서 식별된 악성파일의 원본 파일명 ‘sysninit – exe.dll’ 이름과 매우 유사하다는 것도 알 수 있다. 더불어 사용된 리소스에 한국어가 사용된 점, 암호화된 모듈의 고유 시그니처 코드(~!@#$%^&) 등이 동일하다.

▲한국어 리소스와 인코딩 시그니처 코드 비교[자료=ESRC]


또한, ‘rundll32.exe‘ 명령을 통해 ‘PDFShow‘ 인자를 사용하는 방식은 2018년 코드에서도 동일하게 식별은 되었지만, 한국 대상 공격에서는 사용하지 않은 것으로 보인다.

이와 관련된 공격은 2010년 이후부터 2013년까지 PDF 문서 취약점이 발견됐고, 그 이후에는 PDF 문서나 DOC 문서로 위장한 EXE 파일이 다수 보고되었다.

해당 사례에서는 다음과 같은 PDB(Program Data Base) 경로가 발견된 바 있고, 일부에서는 한글식 표현(새 폴더)도 발견되었다. 이는 공격자가 한글 기반 운영체제에서 악성 파일을 개발했다는 근거가 될 수 있다.

- L:\Attack Programs\Backdoor 2.0(x86-x64)\sysninit - exe\Release\sysninit - exe.pdb
- N:\Attack Programs\Backdoor 2.1(x86-x64)\새 폴더\vcbxcbcb\Release\vcbxcbcb.pdb
- N:\Attack Programs\Backdoor 2.1(x86-x64)\sysninit - exe\Release\sysninit - exe.pdb

더불어, 2014년 09월 22일에 제작된 악서 파일은 이번 ‘오퍼레이션 베이비 코인’에서 식별된 동일한 Mutex 코드(__START_DLL_MARK__)와 익스포트 함수가 존재하기도 한다.

▲동일한 뮤텍스와 익스포트 함수명[자료=ESRC]


수년간 확보한 주요 침해사고 인텔리전스 데이터 기반으로 다양한 코드 부분에서 과거와 현재의 공격 코드가 오버랩되고 있다는 것을 비교해 볼 수 있고, 공개되지 않은 부분도 존재한다. 또한, 일부 코드에서는 제작자로 추정되는 한글표기식의 이름과 서버 이니셜이 발견된 바 있다.

이처럼 국가 차원의 지원을 받는 것으로 추정되는 공격자(State-Sponsored Actor)의 활동이 현재도 계속 진행되고 있다는 점과, 새벽시간에도 매우 활발한 움직임이 있다는 것을 알 수 있다.

ESRC에서는 그동안 널리 알려져 있지 않았지만, 금성121(Geumseong121) 그룹과 김수키(Kimsuky) 계열의 오퍼레이션에서 IoC간 오버랩된 부분을 다수 발견했고, 동일한 그룹에서 다양한 인력이 개별 작전을 수행하고 있다는 점을 추정해 볼 수 있었다고 밝혔다.

한편, 이스트시큐리티 대응센터(ESRC)는 국가기반 위협그룹에 대한 체계적인 인텔리전스 연구와 추적을 통해, 유사한 보안위협으로 인한 피해가 최소화될 수 있도록 관련 모니터링을 강화하고 있다.
[원병철 기자(boanone@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

  •  
  • 0
  • 페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기


  •  SNS에서도 보안뉴스를 받아보세요!! 
위즈디엔에스 2018WD 파워비즈 2017-0305 시작
설문조사
내년 초 5G 상용화를 앞두고 통신사들의 경쟁이 더욱 치열해지고 있습니다. 다가오는 5G 시대, 무엇보다 보안성이 중요한데요. 5G 보안 강화를 위해 가장 잘 준비하고 있는 통신사는 어디라고 보시는지요?
SK텔레콤
KT
LG유플러스
잘 모르겠다
기타(댓글로)