1. 용어 설명
용어 | 설명 |
SMB (Server Message Block) |
DOS나 윈도우에서 파일이나 디렉터리 및 주변장치들을 공유하는데 사용되는 메시지 형식. SMB를 사용하면 서로 다른 운영체제에서도 파일을 공유할 수 있음. |
MAPI (Messaging Application Program Interface) |
윈도우 응용프로그램 내에서 전자우편을 보내거나, 작성중인 문서를 전자우편 내용 위에 첨부할 수 있도록 해주는 마이크로소프트 윈도우 프로그램 인터페이스. |
UNC (Universal Naming Convention) |
공유 파일이 저장되어 있는 장치를 명시하지 않고서도 파일을 확인할 수 있는 방법. 예시) "\\servername\sharename\path\filename", "\\hagsigsvr\tistory\blog\main.html" |
NTLM (New Technology LAN Manager) |
NTLM은 윈도우에서 제공하고 있는 인증 프로토콜 중 하나로 Challenge/Response라고 불리는 방식을 사용함. 최근에는 거의 쓰이지 않고 있으나 SMB 프로토콜에서 하위호환성을 위해 내장되어 있다. |
2. 취약점 요약
항목 | 내용 | 비고 |
CVE CODE | CVE-2023-23397 | Outlook 권한 상승 취약점이라 불림. |
CVSS 점수 | 9.8(CRITICAL) | |
취약 내용 | 공격자의 메일 수신 시, 메일 열람 유무와 상관없이 사용자의 인증정보가 탈취됨. 공격자는 탈취한 인증정보를 통해 시스템에 접근 할 수 있음. | |
취약 대상 | Windows OS에 설치된 Microsoft Outlook 프로그램. | AOS, iOS, Mac, 웹 전용은 영향 없음. 영향 버전은 본문 3번 참조. |
조치 방법 | TCP 445 Port Outbound 차단 설정. | 임시조치. |
NTLM 인증을 사용하지 못하도록 계정 그룹 변경. | 임시조치. | |
최신버전으로의 업데이트. |
3. 취약 대상 버전
- 현재 버전 확인 방법
Outlook 실행 > 파일 > Office 계정 > Outlook 정보에 표시된 버전 확인.
- 취약 버전
아래의 빌드 버전보다 미만으로 되어 있다면 취약한 버전임.
제품 | 버전 | 빌드 |
Current Channel | Version 2302 | Build 16130.20306 |
Monthly Enterprise Channel | Version 2301 | Build 16026.20238 |
Monthly Enterprise Channel | Version 2212 | Build 15928.20298 |
Semi-Annual Enterprise Channel (Preview) | Version 2301 | Build 16130.20306 |
Semi-Annual Enterprise Channel | Version 2208 | Build 15601.20578 |
Semi-Annual Enterprise Channel | Version 2202 | Build 14931.20944 |
Office 2021 Retail | Version 2301 | Build 16130.20306 |
Office 2019 Retail | Version 2302 | Build 16130.20306 |
Office 2016 Retail | Version 2302 | Build 16130.20306 |
Office LTSC 2021 Volume Licensed | Version 2108 | Build 14332.20481 |
Office 2019 Volume Licensed | Version 1808 | Build 10396.20023 |
4. 공격 원리
Microsoft Outlook의 캘린더에는 약속한 일정을 사용자에게 알려주는 '미리 알림' 기능이 존재한다. 이 "미리 알림"을 할 때 필요한 사운드 파일의 경로를 "PidLidReminderFileParameter"에서 불러온다.
공격자는 메일에 "PidLidReminderFileParameter" UNC 값과 해당 값을 사용할 수 있게 해주는 옵션인 "PidLidReminderOverride"을 수정할 수 있는 문구를 작성하여 발송한다.
※ "PidLidReminderFileParameter"에 공격자의 SMB 서버 주소 입력.
※ "PidLidReminderOverride"에 true 입력
이 메일을 수신받은 Outlook은 '미리 알림' 기능을 사용할때 공격자로부터 변조된 경로로 사운드 파일을 가져오려 한다. 경로는 공격자의 SMB 서버로 지정되어 있어 사용자의 PC는 공격자의 SMB서버로 접속하기 위해 NTLM 인증을 시도한다.
공격자는 사용자의 NTLM 인증정보(Hash)를 탈취, NTLM 인증을 사용하는 시스템과 어플리케이션에 탈취한 인증정보를 이용하여 접속한다.
5. 침해여부 확인 방법
"PidLidReminderFileParameter"의 값이 UNC로 변경되었는지를 확인하여 피해 여부를 파악한다.
- 점검 스크립트 다운로드
아래의 사이트에 접속하여 CVE-2023-23397.ps1 파일을 다운로드 받는다.
- 사전 준비
Exchange Server (on-premises)
EMS(Exchange 관리 셸)에서 아래 PowerShell 명령을 실행
New-ThrottlingPolicy “CVE-2023-23397-Script”
Set-ThrottlingPolicy “CVE-2023-23397-Script” -EWSMaxConcurrency Unlimited -EWSMaxSubscriptions Unlimited -CPAMaxConcurrency Unlimited -EwsCutoffBalance Unlimited -EwsMaxBurst Unlimited -EwsRechargeRate Unlimited
Set-Mailbox -Identity “<UserWhoRunsTheScript>” -ThrottlingPolicy “CVE-2023-23397-Script”
Exchange Online
전역 관리자 또는 응용 프로그램 관리자 권한으로 실행
- 점검 시작
감사 모드(Audit Mode) : 스크립트는 속성이 채워진 항목의 세부 정보가 포함된 CSV 파일을 제공
Exchange Server (on-premises)
Get-Mailbox -ResultSize Unlimited | .\CVE-2023-23397.ps1 -Environment Onprem
Exchange Online
Get-Mailbox -ResultSize Unlimited | .\CVE-2023-23397.ps1 -Environment “Online”
정리 모드(Cleanup Mode) : 스크립트는 속성을 지우거나 항목을 삭제하여 감지된 항목에 대한 정리를 수행
Exchange Server (on-premises)
.\CVE-2023-23397.ps1 -Environment Onprem -CleanupAction ClearProperty -CleanupInfoFilePath <Path to modified CSV>
Exchange Online
.\CVE-2023-23397.ps1 -CleanupAction ClearProperty -CleanupInfoFilePath <Path to modified CSV>
6. 대응 방법(조치 방법)
- 버전 업데이트
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-23397
위 사이트에 접속하여 보안 업데이트를 받는다. 만약 보안업데이트를 바로 할 수 없는 상황이라면 아래 "SMB 포트 차단", "NTLM 인증 사용 차단" 방법을 취하여 임시조치를 한다.
- SMB 포트 차단
TCP 445 Port Outbound 차단.
- NTLM 인증 사용 차단.
보호된 사용자 보안 그룹(Protected Users Security Group)에 계정을 추가하여 NTLM을 인증을 사용하지 못하도록 한다.
※ 위 경우 NTLM이 필요한 서비스에 영향을 미칠 수 있음, 영향도 검토 필요.
7. 참고 URL
https://nvd.nist.gov/vuln/detail/CVE-2023-23397
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-23397
https://learn.microsoft.com/en-us/officeupdates/microsoft365-apps-security-updates
https://asec.ahnlab.com/ko/49819/
'침해 사고 대응' 카테고리의 다른 글
이니텍 INISAFE CrossWeb EX V3 보안 취약점 설명 및 대응방법 (0) | 2023.04.01 |
---|---|
22년 11월 MS 정기 보안 업데이트 정리 (0) | 2022.11.11 |
Spring4Shell 취약점(CVE-2022-22965) 설명 및 조치 방법 (0) | 2022.04.13 |
Spring Cloud 취약점(CVE-2022-22963) 설명 및 조치 방법 (0) | 2022.04.08 |
log4j 취약점(CVE-2022-23307) 설명 및 대응 방법 (0) | 2022.01.22 |