Wins blog

글로벌 정보보안 파트너! Global Security  No.1 윈스는 국가대표 정보보안 기업에서 글로벌 강소기업으로 도약합니다.

보안 정보

앞 내용 보기 다음 내용 보기
취약점 정보[CVE-2017-8570] MS Office Composite Moniker 취약점
작성일 2018-01-19 조회 2244

개요

 

Microsoft Office에 원격 코드 실행 취약점이 존재한다. 해당 취약점은 오피스 문서에 삽입되어 있는 OLE 객체를 제대로 처리하지 못해 발생한다. 원격의 공격자는 사용자로 하여금 악의적으로 조작된 파일을 열어보도록 유도하여 공격 할 수 있다. 

 

공격 성공 시, 현재 로그인된 사용자의 보안 컨텍스트 내에서 임의의 코드 실행이 가능하다.

 

[CVE 정보]

CVE-2017-8570

 

[취약한 버전]

Microsoft office 2007 sp3
Microsoft office 2010 sp2
Microsoft office 2013 sp1
Microsoft office 2013 sp1 rt
Microsoft office 2016

 

 

확인 내역

 

다음은 해당 취약점과 관련하여 공개된 POC 정보이다.

 


해당 취약점은 MS 오피스가 실행 될 때, StdOleLink 클래스와 관련된 OLE 개체를 처리하는 과정에서 발생한다. 또한 오피스가 실행되는 과정 중에 해당 개체를 활성화 시킬 수 있으며, 이를 통해 sct 스크립트(Windows Script Component)를 실행 할 수 있게 된다.

 

StdOleLink 클래스 개체는 Moniker를 사용하여 원격 OLE 개체를 식별하는데 사용되며, Moniker는 다른 개체를 식별하는 개체이다. 여기에서 우리가 주목해야 할 점은 복합 모니커(Composite moniker)로 복합 모니커 (composite moniker)는 다른 모니커의 구성이며 부품 간의 관계를 판별 할 수있는 모니커이다.

 

StdOleLink 클래스와 관련된 OLE 객체는 다음의 CLSID 값을 가진다.

CLSID: {00000300-0000-0000-C000-000000000046} 
파일내 표현: x00x03x00x00x00x00x00x00xC0x00x00x00x00x00x00x46

 

파일 안에서 해당 부분을 찾아보면 다음과 같다.

 

이제 취약점 발생 원인에 대해서 설명해보도록 하겠다.

 

해당 취약점은 StdOleLink 클래스와 연결된 OLE 개체가 오피스 문서에 포함되어 있으면, Moniker가 링크된 개체를 확인하기 위해 구문 분석을 시작한다. File Moniker, New Moniker로 구성된 Moniker인 경우 File Moniker에 포함되어 있는 파일 경로에 객체가 생성되고 초기화 된다. 이때, Office는 File Moniker로 초기화 된 개체가 “scriptletfile” 개체인지 확인하지 못한다. 이 경우, ‘.sct’ 확장자명으로 끝나는 파일을 가져오게 되고, New Moniker는 개체의 IClassFactory::CreateInstance() 함수를 호출한다. 그 결과, 임의의 코드 실행을 포함하고 있는 악의적인 scriptlet 파일을 실행시키게 된다. 바로 이것이 취약점 포인트이다.

 

위에서 취약점 발생 원인에 대해서 간략하게 설명했다. 이제, 이와 관련된 Moniker 정보들을 살펴보도록 하겠다. 위에서 살펴 본 Moniker는 3가지가 존재한다. 
Composite Moniker, File Moniker, New Moniker

 

이와 관련된 CLSID 값을 살펴보면 다음과 같다.

* Composite Moniker

CLSID: {00000309-0000-0000-C000-000000000046}
파일내 표현: x09x03x00x00x00x00x00x00xC0x00x00x00x00x00x00x46

 

 

* File Moniker

CLSID: {00000303-0000-0000-C000-000000000046}
파일내 표현: x03x03x00x00x00x00x00x00xC0x00x00x00x00x00x00x46

 

 

* New Moniker

CLSID: {ECABAFC6-7F19-11D2-978E-0000F8757E2A}
파일내 표현: xC6xAFxABxECx19x7FxD2x11x97x8Ex00x00xF8x75x7Ex2A

 


 

 

대응방안

1. MS 보안 업데이트

MS보안 권고
https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2017-8570

 

참고

https://github.com/rxwx/CVE-2017-8570
https://justhaifei1.blogspot.co.uk/2017/07/bypassing-microsofts-cve-2017-0199-patch.html
http://sec.njust.edu.cn/83/8d/c8609a164749/page.htm

첨부파일 첨부파일이 없습니다.
태그 CVE-2017-8570  Composite Moniker  RCE