안녕하세요!

 

 

이번 포스팅에서는 "CVE-2023-23397 Script 사용 방법" 에 대해 알아보겠습니다.

 

 

 

 

지난 포스팅 '메일을 수신하는것만으로 내 계정 정보가 털린다고? - Microsoft Outlook 권한 상승 취약점(CVE-2023-23397) 및 대응 방법'에 이어 취약점을 감사하고 정리할 수 있는 스크립트에 대해 설명을 드리겠습니다.

 

메일을 수신하는것만으로 내 계정 정보가 털린다고? - Microsoft Outlook 권한 상승 취약점(CVE-2023-23397

안녕하세요! 이번 포스팅에서는 "메일을 수신하는것만으로 내 계정 정보가 털린다고? - Microsoft Outlook 권한 상승 취약점(CVE-2023-23397) 및 대응 방법" 에 대해 알아보겠습니다. 이번달 Microsoft Security

hope.pe.kr

 

 

'CVE-2023-23397.ps1' 스크립트 파일은 Exchange 메시징 항목(메일, 일정 및 작업)을 확인하여 속성이 UNC 경로로 채워져 있는지 확인하는 스크립트입니다.

Microsoft 365 관리자 및 Exchange Server 관리자는, 이 스크립트를 사용하여 악성 항목의 속성을 정리하거나 항목을 영구적으로 삭제할 수 있습니다.

스크립트 파일은 감사 모드와 정리 모드라는 두 가지 모드가 있습니다.
감사 모드: 스크립트는 속성이 채워진 항목의 세부 정보가 포함된 CSV 파일을 제공합니다.
정리 모드: 스크립트는 속성을 지우거나 항목을 삭제하여 감지된 항목에 대한 정리를 수행합니다.

 

 

첫번째로, Microsoft 365에서 CVE-2023-23397 script 파일을 사용하는 방법에 대해 설명 드리겠습니다.

 

1) C:\Temp폴더에 다운로드 받은 CVE-2023-23397.ps1 스크립트 파일 저장

CVE-2023-23397 script 사이트(https://microsoft.github.io/CSS-Exchange/Security/CVE-2023-23397) 접속 후, 'CVE-2023-23397.ps1'을 클릭합니다.

 

'CVE-2023-23397.ps1' 파일을 'C:\Temp' 폴더에 다운로드 받습니다.

 

2) PowerShell 실행 정책을 RemoteSigned로 설정

PowerShell을 관리자 권한으로 실행 후, 'C:\Temp' 경로로 이동 합니다.

 

다음 cmdlet을 실행하여 PowerShell 실행 정책을 RemoteSigned로 설정합니다.

cf) 이미 PowerShell 실행 정책을 RemoteSigned로 설정한 경우에는 다음 단계로 건너뜁니다.

Set-ExecutionPolicy RemoteSigned

 

3) Azure AD & Exchange Online 모듈 설치/가져오기/업데이트

다음 cmdlet을 실행하여, Azure AD 및 Exchange Online 모듈을 설치/가져오기/업데이트 합니다.

cf) 모듈을 이미 설치한 경우에는 다음 단계로 건너뜁니다.

 

Install-Module AzureAD

 

Import-Module AzureAD

 

Update-Module AzureAD

 

Install-Module ExchangeOnlineManagement

 

Import-Module ExchangeOnlineManagement

 

Update-Module ExchangeOnlineManagement

 

4) Azure AD에 PowerShell 연결후 Azure 애플리케이션 생성

다음 cmdlet을 실행 후 사용자 계정 로그인 창에서, 'Azure AD 관리자 계정' 입력 후 '다음' 을 클릭 합니다.
Connect-AzureAD

 

'암호' 입력후 '로그인' 을 클릭 합니다.


정상적으로 Azure AD에 PowerShell이 연결되었음을 확인합니다.

 

Azure 애플리케이션을 생성하기 위해서, 다음 명령어 실행후 사용자 계정 로그인 창에서 'Azure AD 관리자 계정' 입력후 '다음' 을 클릭 합니다.

.\CVE-2023-23397.ps1 -CreateAzureApplication

 

'암호' 입력 후 '로그인' 을 클릭 합니다.

 

Azure 애플리케이션이 생성되었습니다.

 

5) Exchange Online에 PowerShell 연결후 전체 사서함 감사 실행

다음 cmdlet을 실행 후 사용자 계정 로그인 창에서, 로그인되어 있는 'Azure AD 관리자 계정' 을 클릭 합니다.

Connect-ExchangeOnline

 

정상적으로 Exchange online에 PowerShell이 연결되었음을 확인합니다.

 

전체 사서함의 감사를 위해서, 다음 명령어 실행후 사용자 계정 로그인 창에서 'Azure AD 관리자 계정' 입력후 '다음' 을 클릭 합니다.

Get-Mailbox -ResultSize Unlimited | .\CVE-2023-23397.ps1 -Environment "Online"

 

'암호' 입력 후 '로그인' 을 클릭 합니다.

 

다음과 같이 'No vulnerable item found' 메세지가 발생하면, 취약한 항목을 발견하지 못한것이며 별다른 추가 조치가 필요하지 않습니다.

 

만약 취약한 항목이 발견되면 CSV 파일이 생성 됩니다.

 

생성된 CSV 파일을 검토 후 의심스러운 항목을 발견하면 다음 정리 모드 명령어로 메세지에 문제가 있는 속성을 삭제할 수 있습니다.

.\CVE-2023-23397.ps1 -Environment "Online" -CleanupAction ClearProperty -CleanupInfoFilePath <Path to modified CSV>

 

 

 

 

두번째로, On-Premise Exchange Server에서 CVE-2023-23397 script 파일을 사용하는 방법에 대해 설명 드리겠습니다.

 

1) 관리 역할 그룹 및 사용자 제한 정책 생성 후 정책 적용

Exchange Management Shell 을 '관리자 권한으로 실행' 후, 다음 명령어들을 순차적으로 실행합니다.

New-RoleGroup -Name "CVE-2023-23397-Script" -Roles "ApplicationImpersonation" -Description "Permission to run the CVE-2023-23397 script"

 

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 'Exchange 관리자 메일 주소' -ThrottlingPolicy "CVE-2023-23397-Script"

 

2) 관리 역할 그룹에 구성원 추가

'Exchange 관리 센터 > 사용 권한 > 관리자 역할' 에서, 생성된 'CVE-2023023397-Script' 관리 역할 그룹 클릭 후 '편집' 을 클릭 합니다.

 

역할 그룹 - 프로필1 창에서, 구성원 항목의 '추가' 를 클릭 합니다.

 

구성원 선택 - 프로필1 창에서, 'Exchange Server 관리자' 클릭 후 '추가' 를 클릭 합니다.

 

'확인' 을 클릭 합니다.

 

'저장' 을 클릭 합니다.

 

3) CVE-2023-23397.ps1 파일 수정

'Exchange 관리 센터 > 서버 > 가상 디렉터리' 에서, 'EWS (Default Web Site)' 클릭 후 '외부 URL' 을 복사 합니다.

 

첫번째 단계에서 설명 드렸던 CVE-2023-23397.ps1 스크립트 파일을 동일하게 'C:\Temp' 폴더에 저장 합니다. 그리고 우클릭 후 '편집' 을 클릭 합니다.

 

Windows PowerShell ISE 창에서, Ctrl + F Key를 눌러 찾기 창을 실행 후 '$EWSServerURL' 입력 후 '다음 찾기' 를 클릭 합니다.

 

'$EWSServerURL' 문자열이 있는 행으로 이동 됩니다.

 

복사한 EWS 외부 URL을 다음과 같이 붙여넣기 합니다.

 

'저장' 을 클릭 합니다.

 

4) Exchange Management Shell 재실행 후 전체 사서함 감사 실행

실행중인 Exchange Management Shell 을 닫고, 다시 '관리자 권한으로 실행' 합니다.

 

그리고 다음 명령어를 실행합니다.

Get-Mailbox -ResultSize Unlimited | c:\temp\CVE-2023-23397.ps1 -Environment Onprem

Windows PowerShell 자격 증명 요청 창이 발생하면, 위 '2) 관리 역할 그룹에 구성원 추가' 단계에서 추가한 구성원의 계정 정보를 입력 후 확인을 클릭하면, 전체 사서함 감사가 실행 됩니다.

 

첫번째 Microsoft 365에서 CVE-2023-23397 script 파일 사용과 동일하게  'No vulnerable item found' 메세지가 발생하면, 취약한 항목을 발견하지 못한것이며 별다른 추가 조치가 필요하지 않습니다.

만약 취약한 항목이 발견되면 CSV 파일이 생성 됩니다.

생성된 CSV 파일을 검토 후 의심스러운 항목을 발견하면 다음 정리 모드 명령어로 메세지에 문제가 있는 속성을 삭제할 수 있습니다.
.\CVE-2023-23397.ps1 -Environment "Onprem" -CleanupAction ClearProperty -CleanupInfoFilePath <Path to modified CSV>

 

 

참고: CVE-2023-23397 script

 

CVE-2023-23397 script - Microsoft - CSS-Exchange

CVE-2023-23397 script Download the latest release: CVE-2023-23397.ps1 CVE-2023-23397.ps1 is a script that checks Exchange messaging items (mail, calendar and tasks) to see whether a property is populated with a UNC path. If required, admins can use this sc

microsoft.github.io

 

 

 

 

이상으로 "CVE-2023-23397 Script 사용 방법" 에 대해 알아보았습니다.

 

 

감사합니다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기