1. Protected View

[사진 1] Protected View

- MS Office의 기능으로, 사용자 PC의 안전을 위해 외부 콘텐츠를 차단하는 기능 [1]

> 안전하지 않은 출처에서 가져온 파일을 읽기 전용 또는 제한된 보기로 실행

> Outlook의 경우 의심되는 하이퍼링크 등이 포함된 경우 [사진 1]과 같은 경고창을 띄움

> 사용자가 "편집 사용" 등의 버튼을 클릭해 제한된 보기를 해제하고 문서를 편집할 수 있음

2. 주요내용

[사진 2] CVE-2024-21413 [2]

- MS Outlook에서 발생하는 원격 명령 실행 취약점 (CVSS : 9.8)

> 취약점 발견 당시 Zero-Day 취약점이었으나, 현재는 보안 패치가 발표된 상태

> CISA는 해당 취약점이 현재 실제 공격에 악용되고 있음을 경고하며 패치 적용을 권고

영향받는 버전
- Microsoft Office 2016 (32-bit editions, 64-bit editions)
- Microsoft Office 2019 (32-bit editions, 64-bit editions)
- Microsoft Office LTSC 2021 (32-bit editions, 64-bit editions)
- Microsoft 365 Apps for Enterprise (32-bit editions, 64-bit editions)


- Outlook에서는 하이퍼링크를 사용하여 파일을 첨부할 수 있음

> 하이퍼링크의 file:// 구문(Ex. file://///Server IP/example.rtf)을 사용하여 Moniker를 악용함으로써 특정 개체를 직접 로드하도록 유도

> Outlook에서 하이퍼링크를 통해 파일에 엑세스를 시도하면 해당 동작을 차단하고 오류 메세지를 띄움

[사진 3] file://///Server IP/example.rtf에 대한 Protected View 오류 메세지

- Moniker Links에 "!"를 추가하게 되면, Single Moniker에서 Composite Moniker로 변경되어 처리

> 이때, 메일 내 링크를 처리하는 과정에서 입력 값 검증이 제대로 이루어지지 않아 취약점이 발생

> Ex. file://///Server IP/example.rtf!Additionaltext

① Moniker 링크 구문 분석

> Outlook이 링크를 만나면 MkParseDisplayName( ) 호출

> Composite Moniker를 FileMoniker 및 ItemMoniker로 구문 분석

※ FileMoniker : //Server IP/example.rtf

※ ItemMoniker : Additionaltext

② COM 객체 조회

> 구문 분석된 요소는 해당 COM 객체를 조회

> .rtf 파일의 COM 개체를 검색하여 지정된 추가 항목(Additionaltext)을 처리

③ 임의 코드 실행

> .rtf 파일을 열고 분석한 후의 동작은 Additionaltext 부분에 따라 달라짐

> 콘텐츠가 악의적으로 제작된 경우 임의의 코드가 실행될 가능성 존재

[사진 4] 과정 요약

- 취약점 시연 영상에서는 Impacket을 사용해 SMB 프로토콜을 통한 NTLM 자격증명 탈취

> Impacket : Python 기반의 네트워크 공격 및 침투 테스트 도구 모음으로, SMB, NTLM, Kerberos, LDAP 등 다양한 네트워크 프로토콜을 다룰 수 있는 라이브러리

> 공격자가 제어하는 서버에 위치한 파일에 엑세스 하기위해 SMB 프로토콜이 사용되며, 이때 NTLM 인증이 발생

[영상 1] 공격 시연 [3]

3. 대응방안

- 벤더사 제공 보안 업데이트 적용 [4]

영향받는 버전 해결 버전
Microsoft Office 2016 (32-bit editions, 64-bit editions) 버전 16.0.5435.1000 이상으로 업데이트
Microsoft Office 2019 (32-bit editions, 64-bit editions) 버전 19.0.0 이상으로 업데이트
Microsoft Office LTSC 2021 (32-bit editions, 64-bit editions) 버전 16.0.1 이상으로 업데이트
Microsoft 365 Apps for Enterprise (32-bit editions, 64-bit editions) 버전 16.0.1 이상으로 업데이트

4. 참고

[1] https://support.microsoft.com/ko-kr/office/%EC%A0%9C%ED%95%9C%EB%90%9C-%EB%B3%B4%EA%B8%B0%EC%9D%98-%EC%A0%95%EC%9D%98-d6f09ac7-e6b9-4495-8e43-2bbcdbcb6653
[2] https://nvd.nist.gov/vuln/detail/cve-2024-21413
[3] https://www.youtube.com/watch?v=rFjhBcUWXaY
[4] https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-21413
[5] https://www.vicarius.io/vsociety/posts/monikerlink-critical-vulnerability-in-ms-outlook-cve-2024-21413
[6] https://www.dailysecu.com/news/articleView.html?idxno=163568

+ Recent posts