취약점 정보

원격으로 코드 실행하는 Follina 취약점 주의

2022. 6. 3. 15:36

지난 530, 마이크로소프트에서 Follina (CVE-2022-30190) 로 명명된 제로데이 취약점을 발표했다. 이 취약점은 Microsoft Support Diagnostic Tool (MSDT) 프로그램이 URL 프로토콜을 통해 호출될 때 발생할 수 있으며, MSDT 를 호출한 프로그램의 권한으로 임의의 코드를 원격으로 실행할 수 있다.

현재 발견된 악성 샘플은 주로 MS Office 문서 파일을 통해 공격을 시작한다. 아래 예제의 악성 DOCX 파일에는 또 다른 악성 html 파일을 다운로드하는 URL 이 삽입되었다.

 

[그림 1] DOCX 파일 내 악성 html 경로

 

다운로드된 html 내부에는 ms-msdt 프로토콜을 사용하는 URL 로 리다이렉트하는 자바스크립트가 존재한다.

 

[그림 2] 악성 html 내부 자바스크립트

 

윈도우 OS ms-msdt 프로토콜을 사용하는 URL msdt.exe 파일을 통해 실행하도록 설정되었으며, 이로 인해 html 이 로딩되면 msdt.exe 에 공격자가 지정한 악성코드가 인자로 전달되며 실행된다.

 

[ 그림 3] ms-msdt 프로토콜과 연결된 msdt.exe 파일

 

이 취약점을 이용하는 악성 문서는 일반적인 경우와 다르게 사용자가 문서 매크로 기능을 활성화하지 않아도 작동할 수 있어 주의가 필요하다. 마이크로소프트에서는 Follina 취약점에 대응하기 위해 다음과 같이 ms-msdt 관련 레지스트리를 백업 후 삭제하는 임시 방안을 제시하고 있다.

 

MSDT URL 프로토콜 비활성화

1. 관리자 권한으로 명령어 프롬프트 실행.

2. “reg export HKEY_CLASSES_ROOT\ms-msdt [백업 파일명]“ 명령어를 실행하여 레지스트리 백업.

3. “reg delete HKEY_CLASSES_ROOT\ms-msdt /f” 명령어를 실행하여 레지스트리 삭제.

 

MSDT URL 프로토콜 레지스트리 복구

1. 관리자 권한으로 명령어 프롬프트 실행.

2. "reg import [백업 파일명]" 명령어를 실행하여 레지스트리 복구