1. Follina 취약점?

- 5월 30일, 마이크로소프트에서 Follina (CVE-2022-30190) 로 명명된 제로데이 취약점을 발표
- Microsoft Support Diagnostic Tool (MSDT) 프로그램이 URL 프로토콜을 통해 호출될 때 발생 가능
- MSDT를 호출한 프로그램의 권한으로 임의의 코드를 원격으로 실행

 

* MSDT를 이용해 파워쉘 스크립트를 로드하여 익스플로잇

이때, MSDT를 호출하기 위해 원래 있었던 기능인 원격 웹 서버의 HTML을 호출하는 기능을 악용

=> 한문장으로 정리하면 워드 원격 템플릿 기능을 악용하여 원격 서버에서 HTML 파일을 검색한 다음
      MSDT를 악용해 악의적인 코드 또는 파워쉘 스크립트를 로드

 

2. 취약점 동작과정

  • Follina 취약점이 포함된 문서를 공격자가 유포
  • 사용자가 해당 문서를 열람
  • 취약점 실행

1) Follina 익스플로잇 코드 

[캡쳐 1] Follina 익스플로잇 코드

- 코드 중 <script> location.href = ... </srcipt>를 이용해 msdt를 호출하여 익스플로잇 시도

* 해당 script문은 원격 웹 서버의 HTML을 호출하는 기능

 

2) 피해자가 해당 문서 실행 시

[캡쳐 2] 문서 실행 시 수행되는 스크립트 문

- 피해자가 해당 문서를 실행하면 스크립트가 실행되면서 공격자의 PC에 연결 및 공격자가 쉘을 획득하는 등 행위 발생

- FromBase64String 부분을 디코딩해보면 다음과 같은 흐름으로 이루어져있음.

  1. cmd.exe를 실행하여

  2. msdt.exe가 실행된 경우 종료(?)

  3. rar 파일을 1.rar로 복사 -> 1.rar 파일의 일부분을 1.t 파일로 출력리다이렉션 -> 1.t를 인코딩하여 1.c로 저장
      -> 1.c 파일 현제 디렉터리에 압축해제 -> rgb.exe 실행

  4. 해당 스크립트 구문이 실행되면서 공격자가 쉘을 획득하거나 임의의 명령을 실행할 수 있음

[캡쳐 3] FromBase64String 부분 base64 디코딩

*  [캡쳐 2] 전후로 공격코드에 아무의미 없는 주석문이 포함되어 있는데, 이는 Follina 취약점이 크기가 4096byte 이상의 파일이어야 공격코드가 실행되기때문에 임의의 값으로 패딩하여 크기를 맞춰주기 위함.

 

3. 대응방안

1. MSDT URL 프로토콜을 비활성화
   - 명령 프롬프트(cmd.exe)를 관리자로 실행
   - 레지스트리 키를 백업하기위해 “reg export HKEY_CLASSES_ROOT\ms-msdt filename ” 명령 실행
   - “reg delete HKEY_CLASSES_ROOT\ms-msdt /f” 명령 실행

 

MSDT URL 프로토콜 레지스트리 복구
- 관리자 권한으로 명령어 프롬프트 실행.
- "reg import [백업 파일명]" 명령어를 실행하여 레지스트리 복구

 

2. 최신 패치 제공

* 이번 폴리나 패치는 코드 주입 공격 자체는 막을 수 있지만, 익스플로잇 코드를 통한 msdt.exe를 실행은 여전히 가능함

 

3. Endpoint 장비 사용

- 워드, 엑셀, 파워포인트 등의 문서에서 msdt를 포함한 명령줄 실행이 확인될 경우 탐지되도록 룰 설정

 

4. 안티바이러스 제품 사용

 

5. 사용자측에서 주의 필요

- 출처가 불분명한 파일 주의&바이러스 토탈 이용 등 방안

 

4. 특이점

- 문서파일에 악성코드를 삽입하여 유포하는 방법은 지속적으로 발생하는 공격 유형이며,

  기존에는 매크로를 이용해 악성코드를 삽입하는 유형이 다수.

- 하지만, 이번 Follina 취약점은 매크로를 사용하지 않고 msdt를 사용했다는 차이점이 있는데,

  이는 사용자의 개입을 줄어들었다는 특징이있음.

- 매크로를 이용한 악성코드의 경우 사용자가 "콘텐츠 사용" 등 매크롤를 사용하기위한 추가적인 동작이 필요하나

  Follina 취약점의 경우 문서가 실행되기만 하면 익스플로잇이 발생함.

- 또한, 특정 버전만이 영향 받는것이 아닌 ms 오피스의 모든 제품에서 취약점이 발생 가능함.

- 3. 대응방안에 따른 대응 및 조치가 가능하나 해당 취약점을 이용한 여러가지 공격 변형이 발생할 수 있으므로 주의 필요.

 

직접 취약점을 실행하여 확인해보려 했으나 능력의 부족으로 그러지 못하였습니다.

다음번 취약점 분석을 할 경우 충분하고 철저히 준비해 계획한대로 수행하도록 노력하겠습니다.

틀린부분이 있을경우 언제든지 피드백 주시면 감사하겠습니다.

 

+ Recent posts