상세 컨텐츠

본문 제목

Microsoft 지원 진단 도구(MSDT) 원격 코드 실행 취약점 (CVE-2022-30190)

취약점 분석 리포트

by MIR 2022. 6. 2. 11:01

본문

1. 개요

2022년 5월 30일, Microsoft는 Windows 환경에서 Microsoft 지원 진단 도구(MSDT)의 원격 코드 실행 취약점(CVE-2022-30190, Follina Zero-Day)을 발표했습니다. 

해당 취약점은 일본 보안업체인 Nao Sec의 트위터를 통해 알려졌으며, 최초 발견된 샘플이 이탈리아 Follina의 지역 코드인 0438을 참조한다는 점에서 "Follina"로 명명되었습니다. 

 

공격자는 MS Office 문서 파일의 외부 링크 참조를 통해 악성 HTML을 로드 한 뒤, 'ms-msdt' 체계를 사용하여 PowerShell 코드를 실행할 수 있습니다. 이를 통해 공격자는 프로그램을 설치하거나 데이터를 변경·삭제할 수 있으며, 자격 증명을 수집하고, 사용자 권한이 허용하는 컨텍스트에서 새 계정을 만들 수 있습니다.

 

이러한 행위는 Windows Defender 탐지를 우회하며, 바이너리 또는 스크립트를 실행하기 위해 매크로 코드를 사용할 필요가 없으므로 새로운 중요 공격 벡터로 작용할 것으로 보입니다. 

 

2. 영향받는 버전

  • 모든 Windows 버전(Windows 7+ 및 Server 2008+)
Office Version Without May 2022 Patch With May 2022 Patch
Office 2013 Vulnerable -
Office 2016 Vulnerable Vulnerable
Office 2019 Vulnerable Vulnerable
Office 2021 Vulnerable Vulnerable
Office 365 “semi annual channel” Vulnerable Vulnerable
Office 365 “current channel” Vulnerable Not-Vulnerable

* 업데이트 중

3. CVE-2022-30190 취약점

취약점의 라이브 샘플은 벨로루시의 IP에서 제출된 바이러스토탈에서 수집되었습니다.

다음은 수집된 악성 워드 문서 샘플입니다. 

 

악성 Word 문서를 열면, 원격 템플릿 기능에 의해 외부 링크를 참조하여 악성 HTML을 로드합니다.

[그림 1] 외부 링크 참조를 통한 악성 HTML 로드

 

악성 HTML은 MS-MSDT URI protocol scheme를 사용하여 PowerShell 명령을 실행합니다. 

[그림 2] 악성 HTML 소스 코드 (출처 : nao_sec)

 

실행되는 파워쉘 명령의 디코딩 결과는 아래 그림과 같으며, rar 파일에서 Base64인코딩 된 데이터를 디코딩하여 실행하는 것을 알 수 있습니다. rar 파일이 확보되지 않아 추가적인 악성행위는 확인할 수 없었습니다.

[그림 3] 파워쉘 명령 디코딩 결과 (출처 : Kevin Beaumont)

 

해당 취약점을 악용한 문서 열람 시, Microsoft Office의 제한된 보기 기능이 활성화되어 사용자에게 악성 문서의 가능성을 경고합니다. 하지만, 서식 있는 텍스트 형식(RTF) 파일로 변경 시 이를 쉽게 우회할 수 있으며, 이 경우 문서 열람없이 윈도우 탐색기의 미리보기만으로도 악성코드가 실행될 수 있습니다.

 

4. Timeline

No. Date/Time Description
1 2022-04-12 APT 헌팅 그룹 Shadowchasing의 리더가 Microsoft MSRC에 첫 보고
2 2022-04-21 Microsoft MSRC가 보안 이슈가 아니라며 티켓 종료
(msdt 실행이 비활성화되어 있는 경우는 문제)
3 2022-05-?? Microsoft의 Office 365 Insider 채널에서 이슈 해결 시도
(CVE 문서화 및 기록 없이 진행, 수정 여부 확인 불가)
4 2022-05-27 보안 업체 Nao가 Belarus에 업로드한 문서를 트윗
5 2022-05-27 MSRC에 보고
6 2022-05-29 Office 365 Semi Annual 채널에서 여전히 확인되며,
Office 및 EDR 제품이 감지하지 못해 공개적으로 제로데이임을 확인


5. 완화 방안

  • 프로세스 모니터링
    1. MS Office(word.exe, excel.exe, …) 자식 프로세스에 msdt.exe 생성 모니터링
    2. sdiagnhost.exe 자식 프로세스에 의심스러운 프로세스 모니터링
  • MSDT URL 프로토콜 비활성화
    1. ‘명령 프롬프트’를 관리자 권한으로 실행
    2. 레지스트리 키를 백업하려면 "reg export HKEY_CLASSES_ROOT\ms-msdt filename " 명령 실행
    3. "reg delete HKEY_CLASSES_ROOT\ms-msdt /f" 명령 실행

[그림 4] HKCR\ms-msdt 레지스트리 제거 화면

  • 백업한 레지스트리 복구 방법
    1. ‘명령 프롬프트’를 관리자 권한으로 실행
    2. "reg import filename" 명령 실행
  • Windows 탐색기에서 미리 보기 창 해제

6. Microsoft Defender 탐지 및 보호

Microsoft Defender Antivirus 버전이 “1.367.719.0”이상이면 다음 시그니처에서 위협이 검출됩니다. (클라우드 제공 보호 및 자동 샘플 제출 활성화 필요)

  • Trojan:Win32/Mesdetty.A
  • Trojan:Win32/Mesdetty.B
  • Behavior:Win32/MesdettyLaunch.A
  • Behavior:Win32/MesdettyLaunch.B
  • Behavior:Win32/MesdettyLaunch.C

엔터프라이즈 환경이면,  'Application Guard for Office'나 'Microsoft Defender for Endpoint'를 이용해 보호할 수 있습니다.

POC

(1) https://app.box.com/s/9oz1r90tzs7bstl0xy3zzfc8m92cqhcu

(2) Github, MS-MSDT "Follina" Attack Vector

(3) Youtube, Maldoc .DOCX MSDT Inside Sandbox

 

참고자료

(1) BleepingComputer, New Microsoft Office zero-day used in attacks to execute PowerShell

(2) Follina — a Microsoft Office code execution vulnerability

(3) Virustotal/05-2022-0438.doc

(4) Microsoft, Guidance for CVE-2022-30190 Microsoft Support Diagnostic Tool Vulnerability

(5) New Microsoft Office Attack Vector via "ms-msdt" Protocol Scheme

(6) Abusing the MS Office protocol scheme

 

보안관제센터 MIR Team

 

관련글 더보기

댓글 영역